Skip to content
ZeroServer.tools

Event Schema Generator

Generate Event JSON-LD for Google Events rich results.

Event Details

Location

Organizer

Tickets & Pricing

Generated JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Event",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "offers": {
    "@type": "Offer",
    "priceCurrency": "USD"
  }
}

About Event Schema Generator

This tool generates valid Event structured data in JSON-LD format following the Schema.org specification. Embedding Event JSON-LD in your page helps Google display rich results — including event cards with dates, locations, and ticket links — directly in Search. Fill in the event details above and paste the generated script tag into the <head> of your event page.

Built and maintained by Meet Shah · Last updated

What this tool is used for

  • Adding Event markup so a listing can appear in event rich results.
  • Producing the date, location and offer properties in the expected format.
  • Marking up an online event, which has a different location shape.
  • Producing consistent markup across a set of event pages.
  • Checking an event's markup still matches the page after a date or venue change.

Frequently Asked Questions

Which properties does an Event need?
name, startDate and location are required. endDate, description, image, offers and performer are strongly recommended, and offers with a price is what makes a ticket link appear. Without a location the item is usually dropped entirely.
How should dates be formatted?
ISO 8601, and include the timezone offset — 2026-09-01T19:00:00-05:00. A date with no offset is interpreted as the venue's local time, which is fine for a physical event and wrong for an online one where attendees are in several zones.
How do I mark up an online event?
Set eventAttendanceMode to OnlineEventAttendanceMode and make location a VirtualLocation with the join URL. That combination was added during 2020 and is now the standard shape; a virtual event with a physical address is a contradiction search engines do flag.
What is eventStatus for?
Recording that an event was cancelled, postponed or rescheduled — EventCancelled, EventPostponed, EventRescheduled. Keeping it current matters more than most properties, because a stale listing for a cancelled event is worse than no listing.
Can I mark up a recurring event?
Yes, but not as one item with a repeat rule — each occurrence is its own Event with its own dates, or you use subEvent to nest them under a parent. Search engines surface individual dates, so a single item covering a whole season cannot be shown usefully.

Common errors and gotchas

  • Using a date without a time zone, which makes the start time ambiguous for every reader.
  • Marking up a venue rather than an event, or a category page rather than a single event.
  • Omitting the event status, which matters for anything postponed or cancelled.
  • Using a physical location shape for an online event, which needs a virtual location.
  • Leaving markup in place after the event has passed, which becomes stale rather than merely useless.

Related Web & SEO tools

Private & free — this tool runs entirely in your browser.

Namecheap — Register a domain for your next project — from $1.98/yr.affiliate