Get a Free Consultation

Event Schema Generator (JSON-LD)

Add your event’s name, date, location, tickets and performers. Copy valid schema.org Event JSON-LD and paste it into the event page <head>. Handles online, offline and hybrid events with correct time zone offsets. Free, no sign-up, and nothing leaves your browser.

Updated Live preview and validation

Your event

Jump to your JSON-LD code
1The basics

Pick the most specific type that fits. There is no OnlineEvent type.

2Date and time Required

Enter the local time at the venue and pick its time zone. Do not convert to UTC. India is UTC+05:30.

3Location Required

This sets eventAttendanceMode and shows the fields you need.

Venue

2 letters, such as IN.

Map coordinates optional

4Images one URL per line, up to 5

Use crawlable, absolute URLs at least 1200px wide.

5Tickets offers

Enter 0 for a free event.

Organizer and performers

Comma separated names.

More details: language and sameAs

Comma separated.

What is event schema?

Event schema is structured data, based on the schema.org Event type, that describes something happening at a set time and place: its name, dates, venue or online link, organizer, performers and ticket prices. You add it to the event page as JSON-LD.

Google can use it for event rich results, such as the events experience in Search, and AI answer engines can use it to say what is on, when and where. Valid markup makes a page eligible. It does not guarantee a result, and it must match what the page shows.

Event schema example

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Wellness Workshop 2026",
  "startDate": "2026-11-14T09:00:00+05:30",
  "eventStatus":
    "https://schema.org/EventScheduled",
  "eventAttendanceMode":
    "https://schema.org/OfflineEventAttendanceMode",
  "location": {
    "@type": "Place",
    "name": "Convention Centre",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "Mumbai",
      "addressCountry": "IN"
    }
  },
  "offers": {
    "@type": "Offer",
    "price": "999",
    "priceCurrency": "INR"
  }
}

Which Event properties does Google require?

Three are required. The rest are recommended and make the listing richer.

Based on Google’s Event structured data guidelines. Google updates these over time, so confirm the current list in its documentation. Last checked October 2026.
PropertyWhat it describesPriority
nameThe name of the eventRequired
startDateStart, in ISO 8601 with a time zone offsetRequired
locationA Place with an address, or a VirtualLocation URLRequired
endDate, description, imageDuration, summary and imageryRecommended
eventStatus, eventAttendanceModeWhether the event is on, changed or cancelled, and how people attendRecommended
offers, organizer, performerTicket URL, price and availability; who runs it and who appearsRecommended
previousStartDateThe original date, if the event has movedIf rescheduled

Which Event type should you use?

All subtypes share the same properties. Pick the most specific one that fits.

TypeBest for
EventThe generic type, including most webinars
MusicEventConcerts, gigs and live music
TheaterEvent, ComedyEvent, DanceEventPlays, stand-up shows and dance performances
SportsEventMatches, tournaments and races
EducationEventWorkshops, seminars, lectures and training
BusinessEventConferences, trade shows and networking
Festival, ExhibitionEventFestivals, fairs and exhibitions
SocialEvent, ScreeningEventMeetups and parties, and film screenings

There is no OnlineEvent type. Online events use Event (or a subtype) with eventAttendanceMode set to Online and a VirtualLocation.

How do you mark up online, offline and hybrid events?

eventAttendanceMode says whether people attend in person (Offline), remotely (Online) or both (Mixed). Pair it with a Place, a VirtualLocation, or both. Choose it in the Location section and the right fields appear.

eventStatus covers real-world changes: scheduled, postponed, rescheduled, moved online or cancelled. Update it whenever plans change.

Hybrid event

{
  "eventAttendanceMode":
    "https://schema.org/MixedEventAttendanceMode",
  "location": [
    {
      "@type": "Place",
      "name": "Convention Centre",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Mumbai"
      }
    },
    {
      "@type": "VirtualLocation",
      "url": "https://zoom.us/j/example"
    }
  ]
}

Why should event dates include a time zone offset?

An event happens at a local time. Without an offset, or when converted to UTC, search engines can show the wrong start time to people in other time zones.

This tool takes the local time at the venue plus its time zone and writes it like 2026-11-14T09:00:00+05:30. The same offset is applied to the end date, previous start date and ticket sale date.

Written asProblem
2026-11-14No time
2026-11-14T09:00:00No offset
2026-11-14T03:30:00ZUTC hides local time
2026-11-14T09:00:00+05:30Correct

How do you add event schema to a website?

The generator does the writing. These four steps take you from a blank form to tested markup.

  1. Pick the type

    Choose the most specific type, such as MusicEvent or EducationEvent.

  2. Add name, date, place

    Enter the name, local start time with its time zone, and the venue or online link.

  3. Add tickets and people

    Add the organizer, performers and ticket details, then clear the checklist.

  4. Copy, paste and test

    Paste the script into the page head, then run Google’s Rich Results Test.

Add one Event block per event page. If a page lists several dates, repeat the whole Event object once per date, and keep the markup in sync with the page.

Event schema questions, answered

Short answers on required fields, types, time zones and online events.

What is event schema used for?

Event schema tells search engines the name, dates, location, organizer and ticket details of something happening. Google can use it for event rich results, and AI answer engines can use it to describe the event accurately.

What does Google require for event rich results?

A name, a start date and a location. An end date, description, image, status, attendance mode, offers, organizer and performer are recommended. Google does not guarantee that results will appear.

Which Event type should I use?

Use the most specific subtype that fits, such as MusicEvent for concerts or EducationEvent for workshops. Use the generic Event type when nothing more specific fits, which includes most webinars.

Is there an OnlineEvent type?

No. schema.org has no OnlineEvent type. Mark up an online event as an Event with eventAttendanceMode set to Online and a VirtualLocation URL as its location.

How should I write event dates and time zones?

Use ISO 8601 with the local time and a UTC offset, for example 2026-11-14T09:00:00+05:30. Do not convert to UTC and do not leave the offset off, or the start time can display incorrectly elsewhere.

What does eventStatus mean and when should I change it?

eventStatus shows whether an event is scheduled, postponed, rescheduled, moved online or cancelled. Update it whenever plans change, and add previousStartDate when an event is rescheduled.

How do I mark up a free event?

Add an Offer with a price of 0, a currency and the registration URL. This tells Google the event is free to attend.

Is this event schema generator free?

Yes. It is completely free, with no sign-up and no limit. Everything runs in your browser, so your event details are never uploaded to a server.

Want event SEO and schema handled for you?

Search Savvy’s technical SEO team implements and monitors structured data across event templates and fixes the issues that hold your site back.

See our SEO services