SEO · Structured data

Event Schema Generator

This event schema generator creates valid Event JSON-LD for concerts, conferences, workshops and online events: name, start date, location, tickets and status, checked as you type against Google’s event requirements.

Eligible for a Google rich result

Event markup can make an event eligible for an event experience in Google Search, with dates, venue and ticket links. Google requires a name, a start date and a location.

Status verified on 24 September 2026 · Google’s Event documentation

Fill in your details

Required for events that run over several days.

Required for events with a physical location.

Venue addressOptional

For online or mixed events: where people join.

At least 720 pixels wide; 1920 is recommended.

TicketsRecommended
{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Lahore Web Summit 2026",
  "startDate": "2026-09-18T10:00:00+05:00",
  "endDate": "2026-09-19T18:00:00+05:00",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "location": {
    "@type": "Place",
    "name": "Expo Center Lahore",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Abdul Haque Road",
      "addressLocality": "Lahore",
      "addressRegion": "Punjab",
      "postalCode": "54770",
      "addressCountry": "PK"
    }
  },
  "description": "Two days of talks and workshops on web performance, accessibility and search.",
  "image": "https://example.com/img/summit-1920.jpg",
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/tickets",
    "price": 25,
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "performer": {
    "@type": "Person",
    "name": "Amina Rahman"
  },
  "organizer": {
    "@type": "Organization",
    "name": "Example Events",
    "url": "https://example.com"
  }
}

Validation — no errors

All required and recommended fields are present and correctly formatted.

Rich result preview (illustration)

Sep
18
Lahore Web Summit 2026
Expo Center Lahore, Lahore
From USD 25

An illustration of the kind of result this markup could produce — not a guarantee. Google decides whether to show a rich result at all.

The markup is generated in your browser from what you type. Nothing is uploaded.

Event schema: required vs recommended properties

Google requires three properties for event markup — a name, a start date and a location — and recommends several more, including an end date, status, image, tickets and organizer.

PropertyStatusFormatNotes
Event nameRequiredText
Start date and timeRequiredDate and time, ISO 8601
End date and timeRecommendedDate and time, ISO 8601Required for events that run over several days.
Attendance modeRecommendedOne of a fixed set
Event statusRecommendedOne of a fixed set
DescriptionRecommendedText
Image URLsRecommendedListAt least 720 pixels wide; 1920 is recommended.
TicketsRecommendedGroup
Organizer nameRecommendedText
Venue nameOptionalTextRequired for events with a physical location.
Venue addressOptionalGroup
Venue address › Street addressOptionalText
Venue address › CityOptionalText
Venue address › State or regionOptionalText
Venue address › Postal codeOptionalText
Venue address › Country codeOptionalISO 3166-1 alpha-2 code
Online event URLOptionalURLFor online or mixed events: where people join.
Tickets › Ticket URLOptionalURL
Tickets › PriceOptionalNumber
Tickets › CurrencyOptionalISO 4217 code
Tickets › AvailabilityOptionalOne of a fixed set
Performer or speakerOptionalText
Organizer websiteOptionalURL

Is Event markup eligible for a Google rich result?

Event markup can make an event eligible for an event experience in Google Search, with dates, venue and ticket links. Google requires a name, a start date and a location.

Status verified on 24 September 2026. Google’s documentation: https://developers.google.com/search/docs/appearance/structured-data/event

About Event structured data

Event markup lets Google show your event, with its date, venue and ticket link, in an event experience in Search. It is aimed at real events with a defined time and place — concerts, classes, festivals, conferences — not promotions or sales.

Online events are supported as well. Mark the attendance mode as online and give a VirtualLocation with the URL where attendees join; a mixed event lists both a Place and a VirtualLocation.

Common Event schema mistakes

  • Using a date without a time. Google needs the start date and time so that it can list the event at the right hour.
  • Leaving out the venue name or address for a physical event. Location needs both a name and a postal address.
  • Not updating eventStatus. A cancelled or postponed event must be marked EventCancelled or EventPostponed; and when an event is rescheduled you keep the new startDate and add previousStartDate.
  • Marking up an event that is not actually held: promotions, sales, discounts and non-events do not qualify.
  • Pointing the ticket URL to a page that does not let people buy tickets. The offer URL must lead directly to purchase.
  • Ignoring time zones. A start time with a UTC offset removes any doubt about when the event happens in the local time of the venue.

Event schema example

A two-day conference with a physical venue, a ticket offer, a speaker and an organiser, as generated on this page, is shown below.

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Lahore Web Summit 2026",
  "startDate": "2026-09-18T10:00:00+05:00",
  "endDate": "2026-09-19T18:00:00+05:00",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "location": {
    "@type": "Place",
    "name": "Expo Center Lahore",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Abdul Haque Road",
      "addressLocality": "Lahore",
      "addressRegion": "Punjab",
      "postalCode": "54770",
      "addressCountry": "PK"
    }
  },
  "description": "Two days of talks and workshops on web performance, accessibility and search.",
  "image": "https://example.com/img/summit-1920.jpg",
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/tickets",
    "price": 25,
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "performer": {
    "@type": "Person",
    "name": "Amina Rahman"
  },
  "organizer": {
    "@type": "Organization",
    "name": "Example Events",
    "url": "https://example.com"
  }
}

How to use it

  1. Fill in the event details — the form marks each field Required, Recommended or Optional.
  2. Watch the JSON-LD and the validation list update as you type.
  3. Copy the JSON-LD, the HTML script tag or the Next.js snippet, or download the .json file.
  4. Paste it into your page, then check it with Google’s Rich Results Test.

Frequently asked questions

Which properties are required for Event schema?

A name, a start date (with time) and a location, which for a physical event needs a venue name and address. Everything else is recommended.

How do I mark up an online event?

Set the attendance mode to OnlineEventAttendanceMode and use a VirtualLocation with the URL where people join. For a hybrid event use MixedEventAttendanceMode with both a Place and a VirtualLocation.

What do I do if an event is cancelled or postponed?

Keep the markup and change eventStatus to EventCancelled or EventPostponed. If it is rescheduled, set EventRescheduled, keep the new startDate and add previousStartDate.

Can I mark up recurring events?

Create a separate Event for each occurrence, each with its own start date. Do not list several dates in one Event.

Will my event definitely appear in Google?

No. Valid markup makes it eligible, but Google decides what to show.

Valid markup makes a page eligible for a rich result; it does not guarantee one. Google decides what to show. Test your page with Google’s Rich Results Test before relying on it.