Free tool · No signup required

Course Schema
Generator

Generate valid Course JSON-LD structured data. Show course name, provider, price, duration, and ratings directly in Google search results and the Google Courses carousel.

Google-approved format
Instant output
🔒
No data stored
Unlimited use
Course details Step 1 of 2
Basic information
Minimum 1200×630px recommended
Course provider (recommended)
Instructor (optional)
Delivery & format
How the course is delivered
Leave blank for self-paced / always available courses
Pricing (optional — shows price in Google's course cards)
Use 0 for free courses
Certificate & credits (optional)
Aggregate rating (optional — shows stars in search)
Click a star to set rating
Total number of ratings this course has received
Keywords (optional)
Comma-separated keywords that describe the course subject matter
Prerequisites (optional)
Syllabus / course sections (optional)
Paste output into your course page <head>
JSON-LD Output · Ready to paste

  

How to use

01

Enter course details

Fill in your course name, provider, pricing, instructor, and syllabus above.

02

Generate the code

Click "Generate Schema" to produce valid JSON-LD markup instantly.

03

Paste in <head>

Copy and paste the output inside the <head> tag of your course landing page.

04

Validate & publish

Test with Google's Rich Results Test, then publish your page.

What is Course Schema Markup?

Course schema is JSON-LD structured data that tells Google your page describes an educational course, including the name, provider, instructor, price, duration, and subject matter. Google uses this data to generate course rich results: cards in the dedicated Google Courses carousel that display the course name, provider, price, and rating before a user even clicks through to your page.

The Google Courses feature appears prominently for searches like "learn Python online," "digital marketing course," or "[topic] course free." Courses with valid schema and strong metadata are far more likely to appear in this dedicated section than courses relying solely on standard organic results.

What shows in a Google Course rich result?

Google can display the course title, provider name, price, description snippet, and star rating. For courses with a defined start date, Google may also show enrollment timing. The name, description, and provider are the three most important fields; always include all three.

Does Course schema work for free courses?

Yes, and free courses often get strong visibility in the carousel. Set the price to "0" in the offers block, and Google will display "Free" in the course card. This is a compelling signal for searchers looking for accessible learning resources.

Who benefits most? Online course creators, e-learning platforms, universities, bootcamps, and anyone publishing course content online. If you have a dedicated landing page for a course, this schema should be on it. The Google Courses carousel is one of the most underutilised rich result opportunities in SEO.

How to Validate Course Schema Markup

After generating your schema, always validate before publishing. Follow these 4 steps:

1
Generate your schema
Fill in your course details above, click Generate Schema, and copy the output.
2
Open Schema Markup Validator
Go to Schema Markup Validator and click the "Validate" tab.
3
Paste & run the test
Paste your JSON-LD and run the test. Google shows whether it's valid and eligible for the Courses carousel.
4
Fix errors & publish
Fix any errors, re-test, then paste into your course page's <head> and publish.

Common Course Schema Mistakes to Avoid

These are the most frequent issues with Course schema implementations:

❌ Missing provider
Google's Course rich results require a provider (the organisation or platform offering the course). Without it, your schema may validate but will be excluded from the Google Courses carousel. Always include the provider name and URL.
❌ Vague description
The description field is one of the most prominent parts of a course card. A generic one-line description loses out to detailed descriptions that explain the course content, outcomes, and target audience. Write at least 2–3 sentences.
❌ Fabricated ratings
As with all schema types, only include aggregateRating if you have genuine, visible user reviews on your page. Google actively monitors for inflated or invented review counts and will penalise pages that misrepresent their ratings.
❌ Using it on non-course pages
Course schema belongs on individual course landing pages, not on course category pages, blog posts about courses, or homepages. Each page should have schema for one specific course that is genuinely available on that page.
❌ Price mismatch
The price in your schema must match the price visible on the page. If your course is on sale or uses dynamic pricing, either keep the schema price updated or omit the offers block rather than showing an incorrect price.
❌ Stale start dates
If you include a startDate for a scheduled course, keep it updated each time the course runs. A start date in the past with no endDate signals to Google that the course has already ended and may reduce its visibility in upcoming course searches.

Frequently Asked Questions about Course Schema

The Google Courses carousel is a dedicated rich result feature that appears at the top of search results for educational queries. It shows a horizontal row of course cards, each displaying the course name, provider, price, and sometimes a rating. Courses with valid schema and a trusted provider are eligible to appear here, making it one of the highest-visibility placements in educational search.
Yes, simply leave the startDate and endDate fields empty. Self-paced courses are fully supported by Course Schema. Most online courses are self-paced, and Google handles them well in the Courses carousel. The course mode field can be set to "online" to indicate it's available on-demand.
Course schema should be placed on your own web page, not on YouTube directly. However, if you have a landing page that describes a YouTube course or video series and links to the playlist, you can absolutely use Course schema on that page. The schema should describe the course as a whole, not individual video episodes.
Use the course schema for structured learning content, recorded video courses, curricula, bootcamps, and academic courses. Use the EducationEvent schema (a subtype of Event) for one-time or recurring live events like webinars, workshops, and seminars. If your offering is an ongoing, structured curriculum, course schema is the right choice. If it's a single live session with a specific date and time, EducationEvent is more appropriate.
This generator creates a single Offer block representing the primary price point. For the purposes of Google's course card, use the starting or most common price. If the course is free to audit with a paid certificate option, set the price to "0" to reflect the free entry point; this tends to perform better in the Courses carousel than showing a paid price.

Related Schema Generators

Other free structured data tools you might need

🎟️
Event Schema
Rich event cards with dates & tickets
Review Schema
Star ratings for products & services
FAQ Schema
Q&A rich results in Google Search
💻
Software App Schema
App ratings, pricing & OS support
📝
Article Schema
Author & date metadata for blogs
🏢
Local Business Schema
Google Maps & local search panel