Free tool · No signup

    Event Schema Generator

    Turn your event details into valid Event JSON-LD that's eligible for Google's rich event listings.

    Event JSON-LD

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "Technical SEO Live 2026",
      "description": "A one-day conference on crawl budget, rendering and structured data for large sites.",
      "startDate": "2026-09-24T09:30",
      "endDate": "2026-09-24T17:00",
      "eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
      "eventStatus": "https://schema.org/EventScheduled",
      "image": "https://example.com/img/tsl-2026.jpg",
      "location": {
        "@type": "Place",
        "name": "Barbican Centre",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "Silk Street",
          "addressLocality": "London",
          "postalCode": "EC2Y 8DS",
          "addressCountry": "GB"
        }
      },
      "organizer": {
        "@type": "Organization",
        "name": "Example Events Ltd"
      },
      "offers": {
        "@type": "Offer",
        "url": "https://example.com/events/tsl-2026/tickets",
        "price": "199",
        "priceCurrency": "GBP",
        "availability": "https://schema.org/InStock"
      }
    }
    </script>

    Paste this block into the <head> or anywhere in the <body> of the page it describes, then confirm it parses with the JSON-LD schema validator.

    In short

    An Event schema generator produces JSON-LD markup describing name, startDate, location and eventStatus so search engines and event-listing crawlers can parse a page as a scheduled event. Google requires name, startDate and location (or a VirtualLocation for online events) as a minimum, and adding offers with price and availability makes the listing eligible for a rich result showing date, venue and ticket price directly in search. Fill in the event fields below to generate the markup.

    Worked example

    What the output looks like

    Input
    Event: Riverside Tech Summit, June 12 2025 9:00 AM to 5:00 PM, Riverside Convention Center, Austin TX, tickets from $149
    Output
    { "@context": "https://schema.org", "@type": "Event", "name": "Riverside Tech Summit", "startDate": "2025-06-12T09:00-05:00", "endDate": "2025-06-12T17:00-05:00", "eventStatus": "https://schema.org/EventScheduled", "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode", "location": { "@type": "Place", "name": "Riverside Convention Center", "address": { "@type": "PostalAddress", "streetAddress": "400 Riverside Dr", "addressLocality": "Austin", "addressRegion": "TX", "postalCode": "78701", "addressCountry": "US" } }, "offers": { "@type": "Offer", "url": "https://example.com/riverside-tech-summit/tickets", "price": "149", "priceCurrency": "USD", "availability": "https://schema.org/InStock", "validFrom": "2025-01-15T00:00-06:00" }, "organizer": { "@type": "Organization", "name": "Riverside Events Co", "url": "https://example.com" } }
    How to read it
    The time zone offset in startDate (-05:00) fixes the event to Austin's local time regardless of the searcher's location. eventAttendanceMode declares it offline; switch it to OnlineEventAttendanceMode and swap location for a VirtualLocation object for a webinar. Run the block through a validator to confirm the nested Offer and PostalAddress objects parse correctly before publishing.

    How it works

    1

    Enter the event name, dates and location

    Provide the event name, startDate and endDate in ISO 8601 format, plus a physical address or a VirtualLocation URL if the event streams online. These four fields are the minimum Google checks for eligibility.

    2

    Add ticketing and organizer details

    Enter offers with price, priceCurrency, availability and a ticket URL, plus the organizer name and performer if relevant. This is what lets the rich result show a price and a link to buy.

    3

    Copy the JSON-LD into your page head

    The generator outputs a single script tag. Paste it inside the head or body of the event's own page — not a listing page covering multiple unrelated events — then validate before publishing.

    What this tool does

    • Covers required fields: name, startDate, location and offers
    • Supports both physical venues and VirtualLocation for online events
    • Handles multi-date and recurring event series
    • Outputs ready-to-paste JSON-LD, validated against schema.org Event

    Questions

    Frequently asked

    More free SEO tools

    Validate structured data across every page automatically

    LemRank tracks rankings, backlinks, and AI-search visibility in one dashboard. 14-day free Pro trial. No credit card.