Event Schema Generator
Generate Event JSON-LD for Google Events rich results.
Event Details
Location
Organizer
Tickets & Pricing
Generated JSON-LD
{
"@context": "https://schema.org",
"@type": "Event",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"offers": {
"@type": "Offer",
"priceCurrency": "USD"
}
}About Event Schema Generator
This tool generates valid Event structured data in JSON-LD format following the Schema.org specification. Embedding Event JSON-LD in your page helps Google display rich results — including event cards with dates, locations, and ticket links — directly in Search. Fill in the event details above and paste the generated script tag into the <head> of your event page.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Adding Event markup so a listing can appear in event rich results.
- Producing the date, location and offer properties in the expected format.
- Marking up an online event, which has a different location shape.
- Producing consistent markup across a set of event pages.
- Checking an event's markup still matches the page after a date or venue change.
Frequently Asked Questions
- Which properties does an Event need?
- `name`, `startDate` and `location` are required. `endDate`, `description`, `image`, `offers` and `performer` are strongly recommended, and `offers` with a price is what makes a ticket link appear. Without a location the item is usually dropped entirely.
- How should dates be formatted?
- ISO 8601, and include the timezone offset — `2026-09-01T19:00:00-05:00`. A date with no offset is interpreted as the venue's local time, which is fine for a physical event and wrong for an online one where attendees are in several zones.
- How do I mark up an online event?
- Set `eventAttendanceMode` to `OnlineEventAttendanceMode` and make `location` a `VirtualLocation` with the join URL. That combination was added during 2020 and is now the standard shape; a virtual event with a physical address is a contradiction search engines do flag.
- What is eventStatus for?
- Recording that an event was cancelled, postponed or rescheduled — `EventCancelled`, `EventPostponed`, `EventRescheduled`. Keeping it current matters more than most properties, because a stale listing for a cancelled event is worse than no listing.
- Can I mark up a recurring event?
- Yes, but not as one item with a repeat rule — each occurrence is its own Event with its own dates, or you use `subEvent` to nest them under a parent. Search engines surface individual dates, so a single item covering a whole season cannot be shown usefully.
Common errors and gotchas
- Using a date without a time zone, which makes the start time ambiguous for every reader.
- Marking up a venue rather than an event, or a category page rather than a single event.
- Omitting the event status, which matters for anything postponed or cancelled.
- Using a physical location shape for an online event, which needs a virtual location.
- Leaving markup in place after the event has passed, which becomes stale rather than merely useless.
Related Web & SEO tools
Meta Tag Generator
Build SEO title, description, and viewport meta tags.
Open Graph Generator
Generate Open Graph and Twitter Card meta tags.
Robots.txt Generator
Build a robots.txt file with per-bot rules. Block AI crawlers, set crawl delays, define sitemaps.
UTM Campaign URL Builder
Append UTM parameters to build trackable campaign URLs.
Hreflang Tag Generator
Generate hreflang link tags for multilingual SEO.
Sitemap XML Generator
Build an XML sitemap from a list of URLs.
SERP Snippet Preview
Preview how your page title and meta description appear in Google search.
Meta Tag Analyzer
Paste a page's HTML head to audit its title, meta, and social tags.