Skip to main content

Event Schema Generator

Runs in your browser Nothing stored Free, no signup

Enter your event's name, dates, location, and ticket details to get valid Event JSON-LD. Copy it into the event page's head.

JSON-LD output
Add an event name (required).
Add a start date (required for rich results).
Add a location name (or “Online”).
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Event",
  "location": {
    "@type": "Place"
  }
}
</script>

Paste this into your page's <head>. Then validate it with Google's Rich Results Test before you ship — a schema with a missing required field won't earn a rich result.

Get the date and place in front of people

Event markup is one of the few schema types where the payoff is still very visible: Google can surface your event's date, location, and ticket link directly, and pull it into dedicated event experiences. The requirements are strict, though — a valid start date and a real location are the minimum.

Keep the markup in sync if a date or venue changes, and validate with Google's Rich Results Test before publishing. Running a webinar landing page? Add an Article or FAQ block alongside it.

Frequently asked questions

What is Event schema?

Event structured data describes something happening at a specific time and place — a concert, webinar, conference, or sale. Google can show it with the date, location, and ticket info directly in search and in event experiences.

How do I mark up an online event?

Set the location to a Place named for the platform (or use the address field for "Online"). For strict compliance, Google also supports a VirtualLocation type with the event URL; this generator keeps it simple with a named location you can label "Online".

What date format should I use?

ISO 8601, which the date-time pickers here produce. Always include the start; add the end when known. Accurate dates are required for the event to be eligible for rich results.

Where do I put the code?

Paste it inside the <head> of the page describing that specific event. Use one Event block per event, and keep the details matching the visible page.

Related tools

This tool solves one thing.

Scan a live URL against 100 on-page checks — with the code to fix each issue.

Analyze any URL free