Event Schema Generator
Generate Event structured data with dates, attendance mode, venue or virtual location, and ticket price.
Event markup for concerts, webinars, meetups and conferences.
Rich result summary
- Event
- Frontend Meetup 2026
- When
- -
- Where
- Tech Hub · 123 Main St, Springfield
- Price
- Free
Validate with Google's Rich Results Test before publishing.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Frontend Meetup 2026",
"description": "An evening of talks on modern CSS and web performance.",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"name": "Tech Hub",
"address": "123 Main St, Springfield"
},
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD",
"url": "https://example.com/event"
}
}
</script>About the event schema generator
Event markup can put dates, location and ticket price straight into search results and into Google's event listings. The attendance mode field became important once online events became common, since a virtual event uses VirtualLocation rather than a physical Place.
Dates should be in ISO 8601 format, ideally with a time zone offset.
How to use it
- 1Enter the event name and description.
- 2Set start and end dates.
- 3Choose the attendance mode, which changes how location is expressed.
- 4Add venue or joining URL.
- 5Set the ticket price, or zero for free.
- 6Copy the JSON-LD.
Questions
How do I mark up an online event?
Set eventAttendanceMode to OnlineEventAttendanceMode and use VirtualLocation with the joining URL instead of a physical address.
What date format is required?
ISO 8601, for example 2026-09-14T19:00:00+05:00. Including the offset avoids time zone ambiguity.
How do I mark a free event?
Include an Offer with price set to 0 and a currency. Omitting the offer entirely means no price is shown at all.