My Tool Studio
Schema

Event Schema Generator

This event schema generator builds Event JSON-LD for concerts, conferences, workshops and other dated events. Pick one of 18 event types, set start and end times with the venue's UTC offset, and choose Offline, Online or Mixed attendance. Add as many ticket tiers and performers as you need, several image crops and the event page URL. For recurring events, add more dates or repeat weekly, and each date becomes its own Event, as Google asks. When a date changes, set the status to Rescheduled with the original date. You can also paste existing Event JSON-LD to edit it. Venue managers use it for recurring gigs. One thing to know: Google's event results only cover events with a physical location.

Always freeNo sign upRuns in your browser
Import existing JSON-LD(paste code or read it from a URL)

Paste Event JSON-LD (any subtype, such as MusicEvent) to load it. Other events with the same name in the pasted code are loaded as extra dates.

Event details

More dates (recurring or multi-date events)

Google wants one Event per date, not one Event with many dates. Each row here becomes its own Event object with the same details and tickets.

Attendance mode *

Physical location

Tickets (one Offer per tier with a price)

Tier 1

Organizer & performers

Media

Google recommends 16x9, 4x3 and 1x1 crops, at least 50,000 pixels each. Two or more URLs are written as an array.

  • BusinessEventMissing required name.
  • BusinessEventMissing required startDate.
  • BusinessEventMissing required location.
  • BusinessEventRecommended: add description.
  • BusinessEventRecommended: add endDate.
  • BusinessEventRecommended: add image.
  • BusinessEventRecommended: add offers.
  • BusinessEventRecommended: add organizer.
  • BusinessEventRecommended: add performer.
  • Add the venue name.
  • Add the venue street address. Google needs a full address.
  • Pick the venue's time zone so start and end times carry a UTC offset.
Output
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BusinessEvent",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled"
}
</script>
Test in Google Rich Results TestValidate at validator.schema.orgThe test links copy your code first. Paste it into the tester's Code tab.

How to use

01

Describe the event and times

Pick the event type, add the name and description, and set start and end date and time. Choose the time zone offset and the status; Rescheduled asks for the original start date.

02

Set where it happens

Click Offline, Online or Mixed. Fill the venue name and street address for in-person events, or the online URL. Mixed shows both and writes two locations.

03

Add tickets and people, then copy

Add one tier per ticket type with price, currency, availability and URL, then the organizer and performers. Add extra dates if the event repeats, press Copy script and check it with Test in Google Rich Results Test.

Why Event Schema Generator

Worked examples: concert, webinar and hybrid conference

The same form handles very different events. These three show which options to choose and what changes in the output.

EventSettingsWhat the JSON-LD contains
Concert at a clubMusic Event, Offline, UTC offset of the city, two tiers (Standing 25, Balcony 40), two MusicGroup performersPlace with address, an Offer array with two prices, a performer array
Free webinarEducation Event, Online, price 0, one Person speakerVirtualLocation with the stream URL, OnlineEventAttendanceMode, one Offer at 0. Not eligible for Google's event results
Hybrid conferenceBusiness Conference, Mixed, venue plus stream URL, Early bird and Standard tiersA location array with Place and VirtualLocation, MixedEventAttendanceMode, two Offers
Rescheduled showStatus Rescheduled, new start date, Original start date filledEventRescheduled status plus previousStartDate

Common questions

Which Event schema properties does Google require?
name, startDate and location, where location is a Place with a name and a street address. Google recommends description, endDate, eventStatus, image, offers, organizer and performer. The Validation panel follows that split, with errors for required and warnings for recommended properties.
Does Google show online-only events in event results?
No. Google's event documentation says virtual events with no real-world part are not supported. The Online option still writes valid Schema.org with a VirtualLocation, which other platforms can read. Hybrid events with a real venue should use Mixed.
How do I add a time zone to Event schema dates?
Choose the venue's UTC offset in the Time zone dropdown. The tool appends it and adds seconds, so 19:30 in London in summer becomes 2026-08-14T19:30:00+01:00. If you do not know the offset, leave it as Not set and no offset is written.
How do I mark up several ticket types in one event?
Press Add ticket tier for each type and give it a name, price, currency, availability, on sale date and URL. Tiers with a price become Offers; one tier is written as a single object and several as an array. Use 0 as the price for free tickets.
What should Event schema say when an event is rescheduled?
Set Event status to Rescheduled, put the new date in the start date and the old one in Original start date. The tool writes it as previousStartDate. For an event postponed with no new date yet, choose Postponed and keep the original start date.
Can Event markup list more than one performer?
Yes. Press Add performer for each act or speaker and choose Person, Music Group, Theater Group, Dance Group or Organization. One performer is written as an object and several as an array.
What happens to Event schema when an event is cancelled?
Change the status to Cancelled and keep the page and markup live rather than deleting them. Google can then show that the event was cancelled. Moved Online is also available for events that switch to a stream.
Does Google check that event markup matches the page?
Yes. Dates, venue and prices in the markup must match what visitors can read, or the event may be left out of results. Update both together when details change.
Should each date of a recurring event get its own Event block?
Yes. Google expects one Event per date. Add each extra date under More dates, or press Repeat weekly x4, and the tool writes an array with one full Event object per date, sharing the venue, tickets and performers. Ideally each date also has its own page.

More Schema tools

View all