Event Schema Generator - Free JSON-LD Markup

Event Schema Generator

Generate Event JSON-LD schema to enable Google Events rich results and event pack appearances.

Location

Ticket / Offer (optional)

An event schema generator builds the JSON-LD structured data that tells Google about your event: its name, dates, status, attendance mode, venue, organizer and ticket price. Fill in the form, click Generate Schema, copy the code and paste it into your page. It is made for event organizers, venue marketers and SEOs.

What Is Event Schema?

Event schema is structured data, written in the Schema.org vocabulary, that describes one specific event in a format search engines can read without guessing. Most sites add it as JSON-LD, a small block of code that lists properties such as name, startDate, location and offers.

The purpose of an event schema is to make your event details unambiguous. Google's Search Central documentation says it can use this markup to show events in search features, as long as the page follows its guidelines. Without markup, Google has to work out the date, venue and price from your page text alone.

One note on the term: in psychology, "event schema" means a mental framework for how familiar events unfold. That is unrelated to this page, which is about structured data for search engines.

Which properties does Google expect?

Google's documentation treats the event name, start date and location as required. It lists description, end date, image, offers, organizer, performer, event status and attendance mode as recommended. The more accurate recommended fields you add, the more complete your listing can be.

How to Use the Event Schema Generator

You can create a complete event markup snippet in about two minutes. The tool is free and needs no sign-in.

  1. Type the Event Name and choose the Start Date & Time. Both are marked required, and the tool asks for them if you skip them.
  2. Add a Description and an End Date & Time if you have them. The end must not be earlier than the start.
  3. Pick an Event Status (Scheduled, Postponed, Cancelled, Rescheduled or Moved Online) and an Event Attendance Mode (In-Person, Online or Mixed).
  4. Enter the Organizer Name, Organizer URL, Event URL and Event Image URL. Every URL must be a full address starting with http or https.
  5. Under Location, fill in Venue Name, Street Address, City and Country Code.
  6. Under Ticket / Offer (optional), add the Price, Currency and Ticket URL.
  7. Click Generate Schema, review the code under Event Schema Generated, then click Copy Code. Paste the whole snippet once into the head of your event page. Clear empties every field so you can start the next event.

Worked Example: A One-Day Conference

Say you run the Annual Tech Conference 2025 and want markup for its landing page. Here is a realistic set of inputs and what the generator returns.

  • Event Name: Annual Tech Conference 2025
  • Start: October 14, 2025, 9:00 AM. End: October 15, 2025, 5:00 PM
  • Status: Scheduled. Attendance mode: In-Person (Offline)
  • Organizer: Acme Corp, with https://example.com as its URL
  • Venue: Convention Center, 123 Main St, New York, country code US
  • Price: 199, currency USD, ticket URL https://example.com/tickets

The result is a script block of type application/ld+json. It holds an Event with your name and dates, a status of EventScheduled, an attendance mode of OfflineEventAttendanceMode, an Organization for Acme Corp, a Place with a PostalAddress for the venue, and an Offer priced at 199 USD that links to your ticket page.

Before publishing, add a time zone offset to the dates. The generator outputs the times exactly as you pick them, such as 2025-10-14T09:00. For New York in October, change that to 2025-10-14T09:00-04:00 so search engines know the exact moment the event starts.

How Do You Read and Act on the Generated Code?

The generated snippet is a plain list of properties, and each one maps to a field you filled in. Check that every value matches what is visible on the page, because Google expects markup to reflect the page content.

What each Event Status means

Status optionUse it when
ScheduledThe event is going ahead as planned
PostponedThe event is delayed and no new date is set
RescheduledA new date is confirmed
CancelledThe event will not happen
Moved OnlineA physical event became virtual

When plans change, regenerate the code and update the page. Do not delete a cancelled event page or its markup, because a Cancelled status is more helpful to searchers than a missing listing.

Choosing the attendance mode

In-Person fits events at one venue. Online fits events with no physical place. Mixed (Hybrid) fits events that offer both. Match the mode to the real experience, since a mismatch is a common reason markup gets flagged.

Reading the offer block

The Offer appears only when you enter a price or a ticket URL. It is marked as in stock, and the currency falls back to USD if you leave it blank. For a free event, enter 0 as the price. For a sold-out event, edit the availability value in the pasted code to SoldOut.

Who Benefits From Event Markup?

Anyone who publishes a page for a dated, real-world or virtual occasion can benefit. Typical situations include:

  • Conference and meetup organizers who want dates, venue and ticket links to be machine-readable.
  • Venues and ticketing pages that list many shows and need consistent markup on each page.
  • Webinar and workshop hosts who run recurring sessions and want each one described clearly.
  • Agencies and in-house SEOs who need quick, clean JSON-LD without hand-writing it.
  • Course providers who also run live sessions. For ongoing classes, the Course Schema Generator may fit better.

Best Practices, Common Mistakes and Troubleshooting

Most event markup problems come from small input mistakes or from marking up the wrong kind of page. These checks prevent the usual ones.

  • Use one event per page. Put the snippet on the page dedicated to that event, not on a generic listing page.
  • Paste the snippet once. Duplicate blocks on the same page can create conflicting data.
  • Use full URLs. If you see a message asking for an absolute HTTP or HTTPS URL, you probably left out the https:// part or typed a relative path such as /tickets.
  • Check your dates. An end date earlier than the start date is rejected. Re-enter the end date and generate again.
  • Enter a plain number for price. Type 25 or 25.50, not $25. Put the currency code, such as USD or EUR, in its own field.
  • Use a two-letter country code. Enter US, GB or CA in Country Code, not the full country name.
  • Fill in the venue or city. The location block is created only when you enter a venue name, street address or city. A country code alone will not produce a location.
  • Keep markup and page text in sync. If the visible page says 7 PM, the markup should not say 6 PM.

After pasting the code into your page, test it with the Schema Markup Validator to confirm the syntax is clean. If you need other types on the same site, the Schema Markup Generator covers more formats, and the FAQ Schema Generator pairs well with an event page that answers common attendee questions.

Limitations to Know About

The generator writes the code you describe and does not publish it or check how Google will treat it. Rich results are never guaranteed, even with perfect markup. Google decides whether to show them based on page quality, content policies and the event itself.

The form builds a single physical venue, so it does not add a separate virtual location for online events. For an online or hybrid event, Google's documentation asks for a virtual location with your event link. Add that to the pasted code by hand, or confirm it with the validator. The form also does not include performers, multiple ticket tiers or sub-events, so add those manually if you need them.

You now know what each field does and how to avoid the common mistakes. Enter your event details above, generate the snippet and paste it into your page. When you are ready for more markup, browse the On-Page SEO & Meta Tags tools for the next step.

Frequently Asked Questions

What is event schema and what is it used for?
Event schema is structured data that describes an event so search engines can read it clearly. It lists details like name, dates, location and ticket price. Google can use it to show event information in search, when your page meets its guidelines.
How do I use the event schema generator?
Enter the event name and start date, add optional details, then click Generate Schema. Copy the code with the Copy Code button and paste it once into your event page head. The tool is free and needs no sign-in.
Which fields are required for event schema?
The generator requires an event name and a start date and time. Google also expects a location, so add a venue name, street address or city for in-person events. Description, end date, image, organizer and ticket details are optional but recommended.
How do I mark up an online event?
Set Event Attendance Mode to Online, or Mixed (Hybrid) for events with both formats. The generator does not add a virtual location, so add one by hand with your event link, then test the final code in a schema validator.
Does event schema guarantee my event shows in Google?
No. Event schema makes your page eligible for event features, but Google decides what to display. Your event must be real, listed on a crawlable page and follow Google's content guidelines. Accurate, up-to-date markup gives you the best chance.
Why does the event schema generator show an error?
Errors usually come from a missing name or start date, an end date earlier than the start, a URL without http or https, or a price that is not a plain number. Fix the field named in the message and click Generate Schema again.
Recommended

Explore VPN options

A VPN changes your network exit. It does not guarantee anonymity.

Hide Your IP Encryption Network coverage
Protect My IP Now