S SEO ProCheck Tools seoprocheck.com →
← All tools

Event Schema Generator

Generate Event schema with dates, venue and ticket info.

Event Schema Generator

What it does

This tool builds a schema.org Event object in JSON-LD from a form: name, description, start and end times, venue and address, event status, attendance mode, organizer, image, ticket link and price, and the event page URL. It wraps the result in a <script type="application/ld+json"> tag ready to paste. Top-level fields you leave empty are removed from the output, and so are blank address parts. It runs in your browser and does not contact any server.

How to use it

  1. Fill in Event Name and Description.
  2. Pick the Start Date and, if needed, the End Date.
  3. Enter the Location Name, Street Address, City, State or region, and the two-letter Country code.
  4. Choose the Event status and Attendance, then add the Organizer name and an Image URL.
  5. For paid events, add the Ticket URL and the price, with its currency code in the box below it.
  6. Add the Event URL, click Generate Schema, then Copy JSON-LD, and paste the block into the event page.

What to add by hand

Google's event documentation treats name, startDate and location as required. The form covers most of the recommended properties, but not performer or previousStartDate, and the address has no postal code, so add those yourself when they apply. The date picker produces times such as 2026-10-15T19:00 with no time zone. Google's examples end with a UTC offset such as -05:00.

Whenever a ticket URL or price is present, the offer is marked InStock, and a price with no currency code is labeled USD. For Online, the location becomes a VirtualLocation; for Both, it lists the venue and a VirtualLocation together. The virtual location takes its URL from Event URL, so fill that in for an online or mixed event. The venue block is written for In person and Both even when its fields are blank, so fill it in or remove it. Nothing checks required fields, so an empty Start Date simply disappears from the markup. Then test it in Google's Rich Results Test.