FREE TOOL · NO SIGNUP · INSTANT

Generate Event JSON-LD in Seconds

Turn your event into valid schema.org structured data — dates, venue, status, performer, and tickets — copy the script tag or download the .json in one click.

Event details

Venue

Performer

Organizer

Tickets & offers

Example schema — enter your event name above to generate your own.
Event JSON-LDHybridScheduled
Valid Event schema.

Validation

  • Event name is set.
  • Start date is a valid ISO 8601 datetime.
  • End date is valid and after the start date.
  • Hybrid event has both a venue and an online URL.
  • Ticket offer included — improves the event listing.
  • Event image included.
  • Performer added.
  • Organizer added.

Preview

SemlyPro SEO Summit 2026

A one-day conference on AI-driven SEO, content strategy, and technical optimization for growth teams.

2026-09-12T09:00-07:00 → 2026-09-12T17:00-07:00
Moscone Center West, San Francisco · https://www.semlypro.com/summit/live
The SemlyPro Growth Team
199 USD · Available

JSON-LD output

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "SemlyPro SEO Summit 2026",
  "startDate": "2026-09-12T09:00-07:00",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
  "location": [
    {
      "@type": "Place",
      "name": "Moscone Center West",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "800 Howard St",
        "addressLocality": "San Francisco",
        "addressRegion": "CA",
        "postalCode": "94103",
        "addressCountry": "US"
      }
    },
    {
      "@type": "VirtualLocation",
      "url": "https://www.semlypro.com/summit/live"
    }
  ],
  "description": "A one-day conference on AI-driven SEO, content strategy, and technical optimization for growth teams.",
  "endDate": "2026-09-12T17:00-07:00",
  "image": [
    "https://www.semlypro.com/summit/cover.jpg"
  ],
  "performer": {
    "@type": "PerformingGroup",
    "name": "The SemlyPro Growth Team"
  },
  "organizer": {
    "@type": "Organization",
    "name": "SemlyPro",
    "url": "https://www.semlypro.com"
  },
  "offers": {
    "@type": "Offer",
    "price": "199",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://www.semlypro.com/summit/tickets",
    "validFrom": "2026-06-01T09:00-07:00"
  },
  "url": "https://www.semlypro.com/summit"
}
The Complete Guide

Event Schema Explained: How to Generate Valid Event JSON-LD

5 MIN READ

Understand with AI

Discuss with your preferred AI assistant

15+
Properties Google reads

From dates and venue to offers, performer, organizer, status, and attendance mode — the Event vocabulary is rich.

JSON-LD
Recommended format

Google recommends JSON-LD over Microdata for every structured-data type, events included.

3
Required core fields

name, startDate, and location are the minimum needed to be eligible for an event rich result.

If you run events — conferences, webinars, concerts, workshops, or classes — Event schema is how you tell Google what is happening, where, and when. Add it correctly and your listing can appear directly in Search and Google Maps with the date, venue, and a ticket link, often before the searcher even clicks. This guide explains what Event JSON-LD is, the exact properties Google needs, and how to generate valid markup in seconds.

What Is Event Schema?

Event schema is a block of structured data based on the schema.org/Event vocabulary. It describes an event in a machine-readable format so search engines can understand and surface it. The recommended format is JSON-LD: a small script you paste into the head or body of your event page.

When Google can read your event details, it may show an enhanced result — an event listing with the name, date, location, and sometimes a price and ticket button. That richer listing earns more clicks than a plain blue link, and it also feeds Google's dedicated event experiences across Search and Maps.

Google has a clear specification for Event markup. Some properties are required; the rest are strongly recommended because they unlock a fuller listing.

PropertyRequired?What it is
nameRequiredThe full title of the event.
startDateRequiredISO 8601 date/time, ideally with a time-zone offset.
locationRequiredA Place (with address) for in-person events, or a VirtualLocation (URL) for online events.
endDateRecommendedWhen the event finishes — lets Google show duration.
eventStatusRecommendedScheduled, rescheduled, postponed, cancelled, or moved online.
eventAttendanceModeRecommendedOffline, online, or mixed (hybrid).
imageRecommendedA high-quality event image URL.
offersRecommendedTicket price, currency, availability, and a purchase URL.
performer / organizerRecommendedWho is performing and who is running the event.

How to Generate Event JSON-LD, Step by Step

1. Name the event and set the dates

Use the real, public-facing event title. For dates, always format as ISO 8601 and include a time-zone offset (for example 2026-09-12T09:00-07:00). Without an offset, "9 AM" is ambiguous and Google may show the wrong local time to your audience.

2. Choose the attendance mode and add a location

Pick in-person, online, or hybrid. For in-person events, add a Place with a full postal address. For online events, add a VirtualLocation with the URL where the event happens. Hybrid events need both — a physical venue and an online URL — or Google may reject the markup.

3. Set the event status

Most events are EventScheduled. If plans change, update the status: a rescheduled event should also include the previous start date, and a "moved online" event should include the new streaming URL. Keeping status accurate protects the trust signals Google built during the pandemic-era event-status updates.

4. Add tickets, performer, and organizer

The offers object should carry a numeric price (no currency symbol), a currency code, an availability value, and a ticket URL. Add the performer (a Person or a PerformingGroup) and the organizer. These optional details make your listing far more compelling.

5. Validate, then publish

Paste the generated <script type="application/ld+json"> block into your event page. Then run it through Google's Rich Results Test and the Schema Markup Validator to confirm there are no errors before you ship.

Common Event Schema Mistakes

  • Missing time-zone offsets — the single most common cause of wrong event times in Search.
  • Prices with currency symbols — use 199, not $199; the currency lives in priceCurrency.
  • Hybrid events with only one location — Google expects both a Place and a VirtualLocation.
  • Markup that doesn't match the page — the structured data must describe content visible to users, or it violates Google's guidelines.
  • Stale status — forgetting to update eventStatus when an event is postponed or cancelled.

Where to Place the Markup

Put the JSON-LD on the canonical page for that specific event — one event per page is cleanest. You can place the script in the <head> or anywhere in the <body>; Google reads it either way. If you have many events, generate one block per event page rather than stuffing them all onto a calendar index.

Expert Tips

Always stamp the time zone

Format dates as ISO 8601 with an offset, e.g. 2026-09-12T09:00-07:00. A missing offset is the top cause of wrong event times shown in Search.

Match the markup to the page

Only mark up events that are actually visible on the page, keep eventStatus current, and run the Rich Results Test before publishing to catch errors early.

Frequently Asked Questions

What is Event schema used for?

Event schema gives search engines a structured description of your event — its name, date, location, and tickets — so Google can show an enhanced event listing in Search and Maps. That richer result is more eye-catching than a plain link and can drive more qualified clicks and ticket sales.

Is JSON-LD better than Microdata for events?

Yes. Google recommends JSON-LD for all structured data, including events. It lives in a single self-contained script, is easy to generate and validate, and doesn't tangle your HTML markup, so it's simpler to maintain than inline Microdata or RDFa.

Do I need a time-zone offset on event dates?

It's strongly recommended. Including an offset (like +05:30 or -07:00 ) removes ambiguity so Google shows the correct local start time. Dates without an offset are still valid schema.org, but they risk displaying the wrong time to people in other regions.

Will Event schema guarantee a rich result?

No structured data guarantees a rich result — Google decides based on quality and relevance. But valid, complete Event markup is a prerequisite: without it you cannot be eligible, and with it your odds of an enhanced listing rise significantly.

Related guides

Related tools