Event Schema Generator
Type in your event name, date, venue, and ticket link. The tool writes the code that gets your event into Google's event listings and Maps, instead of leaving it buried on a page nobody finds.
Your details
Paste the block anywhere inside <head> or <body>, then confirm it parses with the schema validator.
What is event schema, and why would you add it?
Search "things to do in Bristol this weekend" and Google does not hand back ten links. It shows a carousel of actual events with dates, venues, and ticket buttons. Getting into that carousel has almost nothing to do with how well your event page ranks. It depends on whether Google can tell that the page describes an event at all.
Event schema is how you tell it. It is a block of code, invisible to visitors, stating the facts plainly: this is the event name, it starts at this date and time, it happens at this venue, tickets cost this much and are on sale here. Google reads it directly instead of trying to work out which of the four dates on your page is the one that matters.
For anything ticketed, that listing is usually worth more than the ranking position of the page itself, because it puts your date and your ticket link in front of someone who has already decided to go out.
The part most hand-written markup gets wrong is hybrid events. If people can attend both in person and online, Google expects both a physical venue and a stream location in the same block. Pick the mixed attendance mode here and fill in both, and this tool builds that structure correctly.
What This Tool Generates
12 event types
Business, music, sports, theatre, festival, and more
Attendance mode
Offline, online, or mixed, with matching location nodes
Hybrid location array
Place and VirtualLocation together, as Google expects
Event status
Scheduled, postponed, rescheduled, cancelled, moved online
Organiser
Organization node with name and URL
Ticket offer
Price, currency, availability, ticket URL, and on-sale date
Keep the markup alive after the event changes
Event markup is the kind that goes stale fastest, and stale event data is worse than none: a sold-out event still advertising tickets, or a rescheduled one still showing the old date, damages trust in a way a missing listing does not. If dates or availability can change, generate the JSON-LD from the same source your page renders from. When it is live, confirm it parses with the schema validator.
Frequently Asked Questions
What does Event schema get me in search?
Eligibility for the event experience in Google Search and Google Maps: a date, a venue, and a ticket link surfaced directly in results, plus inclusion in the event carousels that appear for queries like 'things to do in Bristol this weekend'. For anything ticketed, that visibility usually matters more than the ranking position of the page itself.
Which fields does Google actually require?
Name, startDate, and location. Everything else is recommended. But 'recommended' understates it: without an image, an organiser, and an offer with a price, your listing loses to the ones that have them. Fill in as much as is genuinely true.
How do I mark up a hybrid event?
Set the attendance mode to MixedEventAttendanceMode and supply both a physical venue and a stream URL. Google then expects location to be an array holding both a Place and a VirtualLocation. This tool builds that array automatically when you pick the hybrid mode and fill in both, which is the part most hand-written markup gets wrong.
What format do the dates need to be in?
ISO 8601. The date pickers here emit that shape for you. If you are hand-editing afterwards, include the timezone offset when the event has a specific start time, for example 2026-04-16T09:00:00+01:00. A bare date with no time is valid for all-day events, but a time with no offset is ambiguous and Google may read it in the wrong zone.
My event was cancelled. Do I delete the markup?
No, and this is the one case where leaving the page up matters. Change eventStatus to EventCancelled and keep the page live with the original startDate. That is how Google learns to stop showing it as upcoming and to tell people who search for it that it is off. Deleting the page leaves stale results in circulation for weeks.
Can one page carry multiple events?
Yes, as an array of Event objects, and that is correct for a listings page showing a season of dates. This generator produces one event at a time, which is right for a dedicated event page. For a multi-date listing, generate each one and combine them into an array, or mark up each date's own page separately.
Do I need an offer if the event is free?
Include one with a price of 0 and the currency set. That is an explicit signal that the event is free, which Google can then surface. Omitting the offer entirely just means it does not know, and free events that say so tend to draw better click-through than ones that leave people guessing.
Other schema tools
Local Business Schema Generator
Tell Google your business name, address, phone, and opening hours in the format it reads literally. Type your details, copy the code, paste it into your site.
Use toolProduct Schema Generator
Give Google your price, stock status, and star rating so they can show under your listing in search. Fill in the product details, copy the code.
Use toolFAQ Schema Generator
Mark up your questions and answers so search engines and AI assistants can lift them as direct answers. Unsupported HTML is stripped for you.
Use toolBreadcrumb Schema Generator
Replace the raw URL under your search result with a readable trail like Home > Guides > Technical SEO. Enter each level, copy the code.
Use toolArticle Schema Generator
Tell Google who wrote your article, when, and for whom. The author link is the part that carries E-E-A-T, and most sites leave it out.
Use toolEvery event page, checked in one crawl
CrawlRaven crawls your whole site, validates the structured data on every page, and joins it to Search Console so you know which broken markup is costing you actual impressions.