Free tool · No signup required

Event Schema
Generator

Generate valid Event JSON-LD structured data. Show rich event cards with dates, venue, ticket info, and performers directly in Google search results.

Google-approved format
Instant output
🔒
No data stored
Unlimited use
Event details Step 1 of 2
Basic information
Minimum 1200×630px recommended
Date & time
doorTime — when the venue opens to attendees
IANA timezone name — appended to date output
Attendance mode
Location / venue
Organizer (optional)
Performers (optional)
Ticket offers (optional — shows price & availability in search)
Paste output into your <head> tag
JSON-LD Output · Ready to paste

  

How to use

01

Enter event details

Fill in your event name, dates, venue, performers, and ticket info 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 event page.

04

Validate & publish

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

What is Event Schema Markup?

Event schema is JSON-LD structured data that tells Google your page describes a specific event, including the name, date, venue, performers, and ticket availability. Google uses this data to generate event-rich results: cards in search that display the event name, date, location, and ticket price range right on the results page, often appearing above regular organic results.

Event rich results are especially prominent for searches like "concerts near me," "[artist name] tour," or "[city] events this weekend." When your event is correctly marked up, it can appear in these high-visibility slots without any additional advertising spend.

What does Event schema affect?

Correctly implemented Event schema can surface your events in Google Search's event carousel, Google Events (accessible via the "Events" tab in search), Google Maps event listings, and Google Assistant responses to event-related queries. For music events, Google may also display your event on the artist's Google Knowledge Panel.

Should you include ticket offer data?

Yes, including an offer block with price, currency, and availability is one of the most impactful things you can add to the event schema. Google uses this to show ticket prices directly in search results, which dramatically increases click-through rates by giving searchers the information they need before they even visit your page.

Who benefits most? Venues, promoters, ticketing platforms, artists, and event organisers of any kind of concerts, festivals, conferences, workshops, sports events, or theatre production. If someone might search Google to find your event, this schema is essential.

How to Validate Event Schema Markup

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

1
Generate your schema
Fill in your event 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 event rich results.
4
Fix errors & publish
Fix any errors, re-test, then paste the code into your page's <head> tag and publish.

Common Event Schema Mistakes to Avoid

These are the most frequent reasons Event schema fails to generate rich results or gets flagged by Google:

❌ Missing start date
startDate is required for Event schema. Without it, Google cannot display the event in its event carousel or surface it in date-filtered event searches. Always include a precise date and time.
❌ Not updating cancelled events
When an event is cancelled or postponed, you must update the eventStatus field to EventCancelled or EventPostponed. Leaving cancelled events as "Scheduled" violates Google's guidelines and misleads searchers.
❌ Wrong attendance mode
Google requires the eventAttendanceMode property. Using OfflineEventAttendanceMode for an online event (or vice versa) can cause your event to appear in the wrong context and confuse potential attendees.
❌ No location for in-person events
In-person events without a location field will fail Google's validation. Even if the full address isn't known, include at minimum the venue name and city to pass validation.
❌ Stale or expired events
Leaving Event schema on pages for past events that have already occurred can create confusion. Either remove the schema after the event ends, or use it only on pages with upcoming or recently occurred events.
❌ Incorrect offer availability
If tickets are sold out, the availability in your Offer block must be updated to SoldOut. Showing "InStock" availability for a sold-out event is a policy violation and degrades the user experience.

Frequently Asked Questions about Event Schema

No structured data is a signal, not a guarantee. Google decides whether to display rich results based on quality signals, including page relevance, crawl status, and schema validity. However, having a valid event schema is a prerequisite; without it, your event simply cannot appear in the event carousel regardless of other factors.
Yes, but each event instance should have its own schema with a specific startDate. If you have a recurring event series (e.g. weekly open mic every Thursday), create separate Event schema for each occurrence rather than using a single generic schema, so Google can surface each date accurately in search.
For free events, add an Offer block with a price of "0" and the appropriate currency. Set availability to In Stock if registration is open. This tells Google and searchers that the event is free, which can be a strong draw in the event carousel. You can leave the Offer section empty if there are truly no tickets or registration required.
They describe different things. 'eventAttendanceMode' describes how the event is attended (in-person, online, or mixed); this is about the format. 'eventStatus' describes the current state of the event (scheduled, cancelled, postponed, rescheduled); this is about whether it's happening. Both should be present for Google's full event experience.
Google needs to crawl and index the page first, which typically takes a few days. For time-sensitive events, submit the URL in Google Search Console using "URL Inspection → Request Indexing" immediately after publishing. Events tend to be indexed faster than general content because Google prioritises time-sensitive structured data.

Related Schema Generators

Other free structured data tools you might need

Review Schema
Star ratings for products & services
🏢
Local Business Schema
Google Maps & local search panel
FAQ Schema
Q&A rich results in Google Search
🍽️
Recipe Schema
Rich recipe cards with ratings & times
🛍️
Product Schema
Price, availability & aggregate ratings
📝
Article Schema
Author & date metadata for blogs