Skip to content
Schema Generator
Menu

Event schema generator (JSON-LD)

A concert, conference, workshop, or meetup with a date and a place.

Rich result available: Event experience. Schema.org type Event.

1 of 11

Event rich results in Google

Events can appear in Google's event listings with date, venue, and ticket links. Google needs a name, a start date, and a location (a venue address, an online URL, or both).

Google's event experience documentation

When to use Event schema

Use on pages for concerts, conferences, classes, and webinars with a fixed schedule. Remove or update markup after the event ends.

Event properties Google requires and recommends

PropertyStatusIn the form
nameRequiredEvent name
startDateRequiredStarts
attendanceModeRecommendedWhere it happens
locationRequiredVenue
endDateRecommendedEnds
descriptionRecommendedDescription
imageRecommendedImages
eventStatusRecommendedStatus
offersRecommendedTickets
organizerRecommendedOrganizer
performerRecommendedPerformers or speakers

Event JSON-LD example

This is what the builder produces from the example data. Paste it into the page's HTML, in the <head> or the body.

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Berlin Frontend Meetup #42",
  "description": "Two talks on web performance, then drinks.",
  "startDate": "2026-06-18T19:00",
  "endDate": "2026-06-18T22:00",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "location": {
    "@type": "Place",
    "name": "Kulturbrauerei",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Schönhauser Allee 36",
      "addressLocality": "Berlin",
      "postalCode": "10435",
      "addressCountry": "DE"
    }
  },
  "image": [
    "https://example.com/images/meetup-42.jpg"
  ],
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/tickets",
    "price": 0,
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  },
  "organizer": {
    "@type": "Organization",
    "name": "Berlin Frontend e.V.",
    "url": "https://example.com"
  },
  "performer": {
    "@type": "Person",
    "name": "Jane Doe"
  }
}

Event schema FAQ

How do online events differ?
Set eventAttendanceMode to OnlineEventAttendanceMode and use VirtualLocation with a join URL.
What happens after the event passes?
Update eventStatus or remove outdated markup so search results do not show stale dates.