Event Schema Generator
Build a complete schema.org/Event JSON-LD block that qualifies your event page for Google's event experience — the rich SERP feature that shows event cards with dates, locations, and ticket links. Supports in-person, online, and hybrid attendance modes, plus cancellation and postponement status flags.
How to use the Event Schema Generator
At minimum, provide the event name and start date and time. Then choose the attendance mode — this controls which location fields are included in the output.
- Attendance mode — In-person uses a
Placelocation with a postal address; Online only uses aVirtualLocationwith a stream URL; Hybrid includes both. - Event status — Always include this. If an event is cancelled or postponed, update the status in the schema rather than deleting the page — Google will show the correct status in search results and that URL stays indexed.
- Start/end datetime — use the datetime-local picker; the value passes through as
YYYY-MM-DDTHH:MM, which Google accepts. Include a timezone offset in the output if needed by appending manually (e.g.-05:00). - Offers — enter price (0 for free events), the ticket URL, and an availability status. Google shows ticket links directly in the event card.
- Performer and Organizer — optional but enriches the listing. Person vs. PerformingGroup determines the
@type.
What is Event schema and what does the Google event experience show?
Event schema (schema.org/Event) marks up a web page as representing a scheduled occurrence — a concert, conference, workshop, webinar, or sports match. When Google processes this markup, it may show the listing in the event experience: a rich SERP feature displaying upcoming events in a date-sorted carousel above organic results. This placement is highly visible and typically shows event name, date, location, and a direct link to tickets or registration — all without the user needing to click through to your site first.
Google requires at minimum name, startDate, and location (or eventAttendanceMode + location for online events). Strongly recommended are endDate, image (at least 720 px wide, 1:1 or 16:9), description, organizer, eventStatus, and offers. The eventAttendanceMode property uses one of three schema.org enum values: OfflineEventAttendanceMode, OnlineEventAttendanceMode, or MixedEventAttendanceMode. Hybrid (mixed) events should include both a Place and a VirtualLocation in the location array.
Cancelled or postponed events should not be deleted or replaced — instead, update eventStatus to EventCancelled or EventPostponed. Google will show the correct status in the event card. This also preserves the page's indexed authority so that future events on the same URL benefit from existing backlinks and signals.
Common use cases
- Concert and venue promoters — mark up each event page with artist, date, and ticket-offer so Google surfaces ticket links directly in event-experience results, reducing reliance on third-party ticketing sites for discovery.
- Conference organizers — add Event schema to every session page and the main conference page; Google may render the full schedule in the event carousel.
- Webinar and virtual event platforms — use OnlineEventAttendanceMode with a VirtualLocation URL so Google shows the event for location-agnostic searches and registration links appear inline.
- Sports and entertainment — leverage PerformingGroup for bands or teams; add aggregateRating if reviews exist; use eventStatus updates to handle postponements without losing SEO equity.
- Community meetups and workshops — even small events benefit from structured data: the event card appearance signals legitimacy and can surface listings to attendees who would not otherwise find the page.
Frequently asked questions
Does Event schema work for recurring events?
startDate and ideally its own URL. You can use the same page and update the schema dynamically for the next upcoming date, but Google recommends stable URLs per event.