Free Event Schema Generator for AI Search
Generate JSON-LD Event schema with venue, organizer, and ticket info. Optimized for Google Event rich results, ChatGPT, and Perplexity. No sign-up.
Event Details
Event SchemaThe name of the event.
Use a specific, unique name — generic names like 'Annual Conference' fail to match user intent.
Minimum 50 characters.
0 / 1500AI calendars and event finders read this first. Include the main theme, audience, and any headliners.
ISO 8601 date-time with timezone offset.
Include the timezone offset — without it, AI assistants guess wrong for users in other timezones.
ISO 8601 date-time with timezone offset.
Current state of the event.
How attendees participate.
Name of the venue (or 'Online' for virtual events).
Street address (for in-person/hybrid events).
Two-letter ISO country code.
For online/hybrid events — the join URL.
Promotional image for the event (optional).
The organization or person hosting the event.
Organizer's website (optional).
Ticket price (use 0 for free events).
Where tickets are sold.
When tickets first become available (optional).
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Event name",
"description": "What the event is about…",
"startDate": "2026-06-15T09:00:00-07:00",
"endDate": "2026-06-16T17:00:00-07:00",
"location": {
"@type": "Place",
"name": "Venue"
},
"organizer": { "@type": "Organization", "name": "Organizer" }
}
AI Readiness Score
Get a 0–100 score showing how likely AI search engines are to parse and cite content from your page.
How to use this code:
- Copy the JSON-LD code above
- Paste inside
<script type="application/ld+json"> - Add the script tag to your event page
<head> - Validate with Google Rich Results Test ↗
See how ChatGPT answers — with and without your schema
Side-by-side comparison of what an AI assistant would return for a typical event query, with vs. without the structured data you generated above.
Sample user query
“When is this event and how do I attend?”
Click Simulate to see the AI response without schema.
Click Simulate to see the AI response with schema.
How to install this schema on your site
Pick your platform. Every step includes a copy-paste-ready code block where it applies.
- 1
Install and activate a schema plugin: "Rank Math SEO", "Yoast SEO Premium", or "Schema Pro". For straight JSON-LD injection without a full SEO plugin, "WPCode" (formerly Insert Headers and Footers) is the simplest option.
- 2
In Rank Math: go to the post edit screen → Rank Math sidebar → Schema tab → Schema Builder → paste your JSON-LD. In Yoast Premium: the Schema tab auto-generates standard types; use the Custom Schema plugin add-on to inject custom types.
- 3
For WPCode: Code Snippets → Add Snippet → Custom Code (HTML/PHP) → paste the full <script type='application/ld+json'> tag. Set Location to 'Site Wide Header' or 'Specific Post/Page' depending on scope.
html<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ /* your Q&A pairs */ ] } </script> - 4
Publish the post. Open the live URL, view source, confirm the <script type="application/ld+json"> tag appears in the <head>.
- 5
Validate at search.google.com/test/rich-results.
What is Event Schema?
Event is the Schema.org type for things that happen at a scheduled time and place — conferences, concerts, classes, sporting events, meetups, lectures, webinars, festivals. It binds together four core entities: what is happening (name, description, image), when (startDate, endDate, eventStatus), where (location, either a physical Place or a VirtualLocation), and who organizes or runs it (organizer Organization or Person).
The schema also supports commercial details via offers — ticket price, currency, availability, and purchase URL. For free events, use price: 0. For multi-tier ticketing, use an array of Offer objects (general admission, VIP, student). The result is a complete, machine-readable description that AI event assistants, Google's Event rich results, and aggregators like Eventbrite, Facebook Events, and Bandsintown can all consume.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "AI Search Summit 2026",
"startDate": "2026-06-15T09:00:00-07:00",
"endDate": "2026-06-16T17:00:00-07:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode":
"https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"name": "Moscone Center",
"address": {
"@type": "PostalAddress",
"streetAddress": "747 Howard St",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94103",
"addressCountry": "US"
}
},
"organizer": {
"@type": "Organization",
"name": "Acme Conferences"
},
"offers": {
"@type": "Offer",
"price": "299.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/tickets"
}
}
</script>Why Event Schema Matters for AI Discovery
Event discovery is one of the most AI-native query classes. When users ask "what concerts are happening this weekend near me," "AI conferences in 2026," or "what classes can I take on weekends," AI engines don't scrape HTML pages — they query their internal event graph, which is populated almost entirely from Event schema across the web. Events without structured data essentially don't exist from an AI-discovery standpoint.
What AI engines use Event schema for, specifically:
- Time-scoped retrieval: "Events this weekend" gets filtered by startDate/endDate. Events with fuzzy or missing dates are excluded.
- Geo-scoped retrieval: "In San Francisco" gets filtered by location.address. Virtual events surface in timezone-matched virtual event queries.
- Category-scoped retrieval: Event subtypes (MusicEvent, SportsEvent, BusinessEvent, EducationEvent) let AI engines serve category-specific queries more precisely.
- Ticket-availability filtering: "Find events with tickets still available" uses offers.availability to exclude sold-out events.
- Price-tier filtering: "Free events" and "events under $50" use offers.price — events without offers aren't included.
- Cancellation awareness: AI engines stop recommending events marked EventCancelled, but can still answer "was the event cancelled" queries.
The practical consequence: if you run a venue, put on events, teach classes, or organize conferences, Event schema determines whether AI-curious attendees find you at all. This matters especially in 2026 as AI-powered discovery replaces Facebook Events and generic calendar searches for an increasing share of users.
Event Schema Best Practices
Always include timezone in dates
Every startDate and endDate must have an offset. Timezone-less dates cause incorrect surfacing for users outside the organizer's timezone.
Use the most specific event subtype
MusicEvent for concerts, SportsEvent for games, BusinessEvent for conferences. Specificity unlocks category-filtered queries.
Declare attendance mode explicitly
Don't leave AI engines to guess virtual vs. in-person. Set eventAttendanceMode every time.
Use VirtualLocation for online events
Link the join URL via VirtualLocation.url. Don't treat a Zoom link as a regular location.
Update eventStatus for changes
Postponed, cancelled, moved online — update the status immediately rather than stealth-editing dates.
Include Offer even for free events
price: 0 with a registration URL is better than no Offer at all.
One page per event
Dedicated URLs per event let AI engines cite individual events in specific queries. Listing pages fragment authority.
Link organizer to Organization schema
When the organizer is an entity you've declared elsewhere, use @id or sameAs to merge identities.
How to Install Event Schema
Event management platform (Eventbrite, Facebook Events)
- 1These platforms expose public event pages with their own built-in Event schema — you don't need to add your own on their pages.
- 2However, if you maintain a dedicated event page on your own site, add Event schema there too, with your page URL as the canonical.
- 3Use sameAs to link your on-site event page to the Eventbrite/Facebook event, merging identity across platforms.
- 4AI engines often prefer your own domain's event page over aggregator pages.
WordPress
- 1Plugins like The Events Calendar (by Modern Tribe) auto-generate Event schema from your event listings.
- 2Verify the schema includes offers and eventAttendanceMode — not all Event calendar plugins emit these.
- 3For custom events, use Rank Math or Schema Pro to manually configure Event schema on the specific post.
- 4Ensure dates render with timezone offsets.
- 5Validate with the Rich Results Test.
Custom site (Next.js)
- 1Store events as structured records (JSON, database, or MDX frontmatter).
- 2Build-time transform each event into JSON-LD and render in the page head.
- 3Use ISR or on-demand rebuild when event details change.
- 4Handle eventStatus changes via a CMS workflow — cancellations should trigger a rebuild.
- 5Schedule automated rebuilds for events that pass their endDate to mark historical events correctly.