§
§ · free tool

Event schema generator. Date, place, ticket.

Outputs valid Event JSON-LD with start + end dates, location (Place + PostalAddress), offers (ticket pricing + URL), organizer, and the post-pandemic eventAttendanceMode + eventStatus fields Google now requires.

Fill the form for date, venue, ticket offers, organizer. The right panel renders Event JSON-LD live with the post-pandemic eventAttendanceMode + eventStatus fields Google requires. Pure browser code — no fetch, no log.

location · venue
offers · ticket
organizer · optional
JSON-LD output · live

              
    Sources used by this generator

    Privacy: form runs in-browser only.

    § 02 · post-pandemic Event schema

    Two new fields Google added in 2020.

    The pandemic broke event schema. Pre-2020, an Event meant in-person at a venue. Post-2020, half of all events were virtual or hybrid. Google added two required fields to disambiguate:

    eventAttendanceMode — three values: OfflineEventAttendanceMode (in-person), OnlineEventAttendanceMode (virtual), or MixedEventAttendanceMode (hybrid). Without this, the event won't show in Google's event-rich-result.

    eventStatus — five values: EventScheduled, EventCancelled, EventMovedOnline, EventPostponed, EventRescheduled. Update this when plans change. Cancellations announced via the schema get reflected in Google's event listings within hours.

    offers drives the ticket-pricing rich-result. Required: price, priceCurrency, availability. Recommended: validFrom (sales-open datetime), url (ticket-purchase page). The rich result shows the cheapest tier; if you have multiple price points, offers can be an array.

    location is required even for online events — pass a VirtualLocation with a URL when the event is fully online. The generator outputs Place + PostalAddress for offline / mixed; switch to VirtualLocation pattern manually for online-only events.

    § 03 · questions

    Six questions users ask.

    What does eventAttendanceMode mean?

    Post-pandemic Google added a required attendance-mode field to distinguish between OfflineEventAttendanceMode (in-person), OnlineEventAttendanceMode (virtual), and MixedEventAttendanceMode (hybrid). Without this field, the event won't qualify for the rich-result.

    Event vs. ConcertEvent / Festival / etc.?

    Event is the parent type. The subtypes inherit all Event properties. Pick a subtype when one fits — Google uses it for sub-categorical rich-result eligibility. Default to plain Event if nothing fits cleanly.

    Do I need an organizer?

    Recommended, not required. Add an organizer Organization (or Person) when the event is run by a clear entity. Helps Google understand who's behind the event and links it to your brand.

    How do I handle multi-day events?

    Use startDate for the first day and endDate for the last day. Both must be ISO 8601 datetime strings (YYYY-MM-DDTHH:MM[+timezone]). Google handles the duration calculation automatically.

    What's the offers field for?

    Offers represents ticket pricing. Required fields: price, priceCurrency (3-letter ISO 4217), availability (InStock / SoldOut / etc.), validFrom (ISO 8601 datetime when sales open), and url. The rich result shows the cheapest tier.

    Does this tool log my event details?

    No. The form runs entirely in JavaScript on your device. Nothing is sent to Digital Heroes servers.