Skip to content
Free tool · Structured data

Event Schema Generator

Generate Event JSON-LD for in-person, online and hybrid events, with dates, venue, status and tickets.

No sign-up. Runs entirely in your browser.

Start with these 3. The rest are optional.

ISO 8601 with a time zone offset.

Event JSON-LD

Event name, Start (date and time) still required
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Event",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled"
}
</script>

Markup for one event. Site Audit checks structured data coverage across every page it crawls.

Try Site Audit

What this markup does today

Google shows event rich results and event listings from this markup. Keep one Event per occurrence, and update eventStatus rather than deleting the markup when an event is cancelled or moved.

In the output

What you get

  • Valid Event JSON-LD
  • Place, VirtualLocation or both
  • Attendance mode and status as schema.org URLs
  • Ticket price and link as an Offer
  • That name, startDate and location, the fields Google requires, are present.
  • That the location is a Place for in-person events, a VirtualLocation for online ones, and both for hybrid events.
  • That attendance mode and event status are written as the schema.org URLs Google expects.
  • That ticket price, currency and link form a valid Offer when you sell tickets.
Three steps

How to use the Event Schema Generator

1

Enter the name and start time

Use ISO 8601 with a time zone offset, such as 2026-10-15T19:00+05:30.

2

Choose in person, online or both

Add the venue address, the join link, or each for a hybrid event.

3

Paste it into the event’s page

One Event block per occurrence. A series of dates needs one block for each.

Why it matters

Why events are worth marking up

Events have their own results.

Google shows event listings with dates and venues, and markup is how an event gets into them.

Time zones are where it breaks.

A start time without an offset is read in the wrong zone. Always include one.

Status beats deletion.

When an event is cancelled or moved online, update eventStatus rather than removing the markup, so results show the change.

Online events need a URL.

A virtual event is described by a VirtualLocation with the join link, not a venue address.

After you run it

What to do with the result

Event markup is time-sensitive in a way most structured data is not: dates pass, venues change and events get cancelled, and stale markup shows stale information in results. Generate it from the same data that renders the event page, and update the status rather than deleting it when plans change.

Site Audit

Frequently asked questions

Yes. Event markup can make an event eligible for Google’s event listings and rich results, with its date, location and ticket information.

See where you actually stand.

A free tool checks one thing once. Veritas watches all of it, continuously, across every engine that decides whether you get cited.

GOOGLE · CHATGPT · PERPLEXITY · GEMINI · AI OVERVIEWS