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.
Comma separated names.
Comma separated.
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.
{
"@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"
}
}Three are required. The rest are recommended and make the listing richer.
| Property | What it describes | Priority |
|---|---|---|
name | The name of the event | Required |
startDate | Start, in ISO 8601 with a time zone offset | Required |
location | A Place with an address, or a VirtualLocation URL | Required |
endDate, description, image | Duration, summary and imagery | Recommended |
eventStatus, eventAttendanceMode | Whether the event is on, changed or cancelled, and how people attend | Recommended |
offers, organizer, performer | Ticket URL, price and availability; who runs it and who appears | Recommended |
previousStartDate | The original date, if the event has moved | If rescheduled |
All subtypes share the same properties. Pick the most specific one that fits.
| Type | Best for |
|---|---|
Event | The generic type, including most webinars |
MusicEvent | Concerts, gigs and live music |
TheaterEvent, ComedyEvent, DanceEvent | Plays, stand-up shows and dance performances |
SportsEvent | Matches, tournaments and races |
EducationEvent | Workshops, seminars, lectures and training |
BusinessEvent | Conferences, trade shows and networking |
Festival, ExhibitionEvent | Festivals, fairs and exhibitions |
SocialEvent, ScreeningEvent | Meetups 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.
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.
{
"eventAttendanceMode":
"https://schema.org/MixedEventAttendanceMode",
"location": [
{
"@type": "Place",
"name": "Convention Centre",
"address": {
"@type": "PostalAddress",
"addressLocality": "Mumbai"
}
},
{
"@type": "VirtualLocation",
"url": "https://zoom.us/j/example"
}
]
}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 as | Problem |
|---|---|
2026-11-14 | No time |
2026-11-14T09:00:00 | No offset |
2026-11-14T03:30:00Z | UTC hides local time |
2026-11-14T09:00:00+05:30 | Correct |
The generator does the writing. These four steps take you from a blank form to tested markup.
Choose the most specific type, such as MusicEvent or EducationEvent.
Enter the name, local start time with its time zone, and the venue or online link.
Add the organizer, performers and ticket details, then clear the checklist.
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.
Short answers on required fields, types, time zones and online events.
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.
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.
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.
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.
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.
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.
Add an Offer with a price of 0, a currency and the registration URL. This tells Google the event is free to attend.
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.
Event pages work best with organizer, performer and venue markup alongside.
Search Savvy’s technical SEO team implements and monitors structured data across event templates and fixes the issues that hold your site back.