Tool

What the Event Schema Generator does

Event Schema Generator: generates JSON-LD only from Event name, Start (YYYY-MM-DDTHH:MM) and End. Example: event name Manchester SEO Meetup, start (YYYY-MM-DDTHH:MM) 2026-09-15T18:30 and end 2026-09-15T21:00 gives JSON-LD only { "@context": "https://schema.org", "@type": "Event", "name": "Manchester SEO Meetup", "startDate"….

Point it at Event name, Start (YYYY-MM-DDTHH:MM), End and Venue name and it returns JSON-LD only. Each change is reflected immediately, which suits quick what-if comparisons.

Structured data is easy to get subtly wrong and hard to notice when you do. The Event Schema Generator exists to take that particular chore off your hands.

Nothing is sent to a server, which means you can safely check drafts and staging content.

The sections that follow cover the fields, the method, and one full example computed from the defaults.

What do the Event Schema Generator fields mean?

The Event Schema Generator uses 7 inputs. Starting values are already in place, which saves the usual blank-form hesitation about what a field wants.

FieldWhat to enterDefault
Event name required Manchester SEO Meetup
Start (YYYY-MM-DDTHH:MM) required 2026-09-15T18:30
End optional 2026-09-15T21:00
Venue name required The Sharp Project
Street address required 3 Thorp Road
City required Manchester
Attendance choose from In person, Online or Hybrid In person

How does the Event Schema Generator work?

JSON-LD only ← f(Event name, Start (YYYY-MM-DDTHH:MM), End, Venue name, Street address, City, Attendance)

Each output is derived from the inputs above in a single pass; there is no hidden state carried between runs, so the same inputs always give the same generated output.

Values are checked first: an out-of-range or non-numeric entry names the offending field instead of returning nonsense.

Worked example

These are the values the Event Schema Generator loads by default, and the result it produces from them. The figures are the tool’s live defaults and its live output, so you can reproduce them exactly.

Inputs
Event nameManchester SEO Meetup
Start (YYYY-MM-DDTHH:MM)2026-09-15T18:30
End2026-09-15T21:00
Venue nameThe Sharp Project
Street address3 Thorp Road
CityManchester
AttendanceIn person
Result
JSON-LD only{ "@context": "https://schema.org", "@type": "Event", "name": "Manchester SEO Meetup", "startDate"…

Attendance mode and status matter more than they used to

name, startDate and location are required, but eventAttendanceMode and eventStatus, added specifically to handle online and disrupted events, are now important enough in practice to treat as close to required.

Worth knowing

  • An online-only event should set eventAttendanceMode to OnlineEventAttendanceMode and provide a location as a VirtualLocation with a url, rather than describing a physical venue that does not apply.
  • eventStatus (EventScheduled, EventCancelled, EventPostponed, EventRescheduled) keeps a cancelled or moved event accurately represented rather than continuing to display as scheduled after the fact. Stale event markup persisting after details changed is a specific, well-documented failure mode.
  • offers (price, currency, availability, and an order URL) is optional in the schema but is what actually lets Google show ticket-price information directly in the result. An event listing without it displays as informational only.
  • Because event data expires by nature, stale or consistently inaccurate event markup is a documented trust concern for Google: keeping this current matters more here than for most other schema types.

How to use it

  1. Enter Event name.
  2. Set Start (YYYY-MM-DDTHH:MM).
  3. Put End.
  4. Key in Venue name.
  5. Fill in Street address.
  6. Type City.
  7. Pick a value for Attendance: the options are In person, Online or Hybrid.
  8. The result appears as you type. There is no button to press.
  9. You get JSON-LD only back.
  10. The link encodes your inputs, so saving it is enough to reproduce the result later.

What this tool does not do

  • Search engines weigh hundreds of signals. No single on-page check predicts position.
  • This checks what is visible in the page you provide; it cannot see server headers or your live rankings.
  • Assumptions built into the method are stated above, but they are still assumptions.

Frequently asked questions

You need Event name, Start (YYYY-MM-DDTHH:MM), End, Venue name, Street address, City and Attendance. Defaults are loaded for all of them, which makes it easy to isolate the effect of a single variable.

With the values loaded when the page opens, JSON-LD only comes out as { "@context": "https://schema.org", "@type": "Event", "name": "Manchester SEO Meetup", "startDate"…. That number tracks the inputs, so a small edit shows its sensitivity immediately.

It is not stored or transmitted. The calculation happens locally and leaves no trace with us.

Free, and there is no upsell. The whole tool is the free version.

The generated output is exact for the method described above. Where a value is rounded for display, the underlying figure keeps full precision.

YoursTools Team
Product & Engineering

Builds and maintains every calculator on YoursTools.