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.

Physical location
Online location (stream URL)
Offers / tickets (optional)
Performer & Organizer (optional)

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.

  1. Attendance mode — In-person uses a Place location with a postal address; Online only uses a VirtualLocation with a stream URL; Hybrid includes both.
  2. 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.
  3. 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).
  4. Offers — enter price (0 for free events), the ticket URL, and an availability status. Google shows ticket links directly in the event card.
  5. 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?

Yes — create one schema block per occurrence (not per series). Each occurrence needs its own 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.

How do I mark a free event?

Set price to 0 and include a ticket or registration URL. Google will show "Free" in the event card. Do not omit the Offer object entirely for free events — explicit price is better than no pricing data.

What image dimensions does Google require for Event schema?

Google requires images to be at least 720 px wide. Recommended aspect ratios are 16:9, 4:3, or 1:1. Use your best event banner or poster image; avoid text-only graphics.

Why is my event not appearing in Google's event experience?

Common reasons: the page is not indexed, the schema is missing required fields, the event date is in the past, or the event is not yet recrawled. Test with Google's Rich Results Test and inspect Search Console for structured data errors.

Can I use Event schema for online courses or webinar series?

Yes — use OnlineEventAttendanceMode and set a VirtualLocation with the registration URL. For recurring webinar series, consider creating individual pages per session, each with its own Event block, so Google can list each session separately in the event carousel.