JSON-LD Event Schema Builder

Create Event structured data for concerts, webinars, and conferences

Generate valid Event JSON-LD with name, start and end dates, online or physical location, organizer, performer and ticket offer details. Produces a script tag ready for Google event rich results. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is Event structured data for?

It lets search engines understand event details like date, venue and tickets. Google can then surface your event in the dedicated events experience and in result snippets, driving more qualified visits.

Event markup that search engines understand

The JSON-LD Event Schema Builder packages your event details into a valid schema.org/Event block. Correct markup makes your concert, webinar or conference eligible for Google’s event experience, where date, location and tickets appear in a tidy card.

How it works

The tool emits a root Event object with name, description, startDate and endDate as ISO 8601 strings produced from the date inputs. The eventAttendanceMode and eventStatus fields use full schema.org URLs. For physical events, the location is a Place with a nested PostalAddress; for online events it becomes a VirtualLocation with the streaming URL; mixed events emit both as an array. The organizer is an Organization and the performer a Person or Organization. When you supply ticket details, an offers Offer object is added with price, priceCurrency, availability and url.

Tips and example

Always include both startDate and endDate — single-day events still benefit from an explicit end. Use a real time-zone offset so the event appears at the right local time for searchers. A minimal online location looks like this:

"location": {
  "@type": "VirtualLocation",
  "url": "https://example.com/livestream"
}

Why Event structured data matters for discoverability

When a user searches “jazz concerts near me this weekend” or “machine learning webinars in November,” Google can surface a dedicated event experience — a card showing the date, venue, and a link to buy tickets — rather than just a blue link. That card is only possible when the page carries valid Event markup. Without it, your event page competes for a plain organic result alongside every other listing.

The event experience also appears in Google Search’s “Events” tab, in local search results, and sometimes in voice assistant responses. Getting into those placements requires no extra submission — the structured data does the work.

The eventAttendanceMode field explained

This field tells search engines whether your event requires physical attendance, is fully online, or allows both. The value must be a full schema.org URL:

ModeURL value
In-person onlyhttps://schema.org/OfflineEventAttendanceMode
Online onlyhttps://schema.org/OnlineEventAttendanceMode
Hybrid (both)https://schema.org/MixedEventAttendanceMode

For hybrid events, the location property should be an array containing both a Place (with a PostalAddress) and a VirtualLocation (with the streaming URL). Omitting one of them from a hybrid event means attendees of the other type cannot find the information they need.

Handling cancellations and rescheduling

The eventStatus field can be updated after publication without creating a new page. If your event is postponed, change the value to https://schema.org/EventPostponed and update the dates. If it is cancelled entirely, use https://schema.org/EventCancelled. Search engines read the updated markup on the next crawl and can display the status change in results — important for preventing disappointed attendees from showing up.

Available status values:

  • https://schema.org/EventScheduled (default — everything is going ahead)
  • https://schema.org/EventCancelled
  • https://schema.org/EventPostponed
  • https://schema.org/EventRescheduled (use with a new previousStartDate to record the original date)

Worked example — a hybrid conference

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "DevConnect 2026",
  "startDate": "2026-09-12T09:00:00+01:00",
  "endDate": "2026-09-12T18:00:00+01:00",
  "eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "location": [
    {
      "@type": "Place",
      "name": "ExCeL London",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "Royal Victoria Dock",
        "addressLocality": "London",
        "postalCode": "E16 1XL",
        "addressCountry": "GB"
      }
    },
    {
      "@type": "VirtualLocation",
      "url": "https://devconnect.example.com/livestream"
    }
  ],
  "offers": {
    "@type": "Offer",
    "price": "199",
    "priceCurrency": "GBP",
    "availability": "https://schema.org/InStock",
    "url": "https://devconnect.example.com/tickets"
  }
}

This block covers both attendance modes, includes a ticket offer, and uses time-zone-aware ISO 8601 dates.