SwiftSchema Logo

    SwiftSchema

    Intuitive Schema Generation at Your Fingertips

    AboutLearnContact

    Event Schema Generator — Promote In‑Person and Online Events

    Generate valid Event JSON‑LD that clarifies dates, location or virtual access, and ticketing. Improve understanding and eligibility for event‑rich results.

    Why many event pages underperform

    Pain points we solve

    • Your snippet doesn’t clearly show date/time or venue/virtual access.
    • Virtual events are ambiguous without a join URL and attendance mode.
    • Ticket info is missing or inconsistent (price, currency, availability).
    • Timezone mistakes in dates lead to confusing search displays.

    How SwiftSchema helps

    Solution

    The Event generator focuses on the essentials: start/end dates with timezone, attendance mode (online, in‑person, or hybrid), a proper location (Place or VirtualLocation), and ticket Offers with price, currency, and availability.

    It outputs clean, copy‑ready JSON‑LD per event so your listings stay consistent and easy to validate.

    How it works

    How it works

    1. Choose Event in the generator below.
    2. Enter name, description, and start/end dates with timezone (ISO 8601).
    3. Select attendance mode and add a Place (with PostalAddress) or a VirtualLocation URL.
    4. If ticketed, add an Offer: price, currency, URL, and availability.
    5. Copy JSON or Script, paste on your event page, and validate in the Rich Results Test.
    Generate Event JSON‑LD

    Paste once per event. Validate. Ship.

    What is Event structured data?

    Event structured data describes your event’s essential details — dates, location or virtual access, and ticketing — so search engines can better understand and present it. Accurate markup improves clarity and can make your listings eligible for event-rich results.

    Essential properties

    1. name
      — event title.
    2. startDate
      /
      endDate
      — ISO 8601 timestamps with timezone.
    3. location
      Place
      (with
      name
      +
      PostalAddress
      ) or
      VirtualLocation
      (
      url
      ).
    4. eventAttendanceMode
      Online
      ,
      Offline
      , or
      Mixed
      .
    5. eventStatus
      EventScheduled
      ,
      EventPostponed
      , etc. Update as needed.
    6. description
      — brief summary of the event content and audience.
    7. image
      — key visual or promotional asset.
    8. organizer
      /
      performer
      — Person or Organization.
    9. offers
      — price, currency, availability, and ticket URL.
    10. keywords
      /
      about
      — optional topical tags.

    Content prep checklist

    • Confirm event title, description, and schedule (with timezone).
    • Gather venue details or virtual access instructions.
    • Collect speaker/performer bios and photos.
    • Decide on ticketing tiers (free, general admission, VIP) with prices and availability.
    • Add FAQs, agenda, and highlight key benefits for attendees.
    • Provide social proof (testimonials, past highlights).

    Implementation workflow

    1. Update the event page with the finalized details above.
    2. Generate Event JSON‑LD covering name, dates, location, attendance mode, organizer, and offers.
    3. Embed the schema once per event page. For multi-event listings, only include schema when the page focuses on a specific event.
    4. Validate in Rich Results Test; fix warnings for missing attributes (location, offers).
    5. Monitor Search Console for event enhancements.
    6. Update schema when event status, venue, or pricing changes.

    Handling virtual and hybrid events

    • Use
      VirtualLocation
      for online events with a
      url
      to join or register.
    • For hybrid events, combine
      eventAttendanceMode: Mixed
      with both
      Place
      and
      VirtualLocation
      entries.
    • Provide clear instructions in content (Zoom link, Slack invite, etc.) and ensure the schema references the same URL.

    Ticketing and Offers

    • Include
      Offer
      objects for each tier with
      price
      ,
      priceCurrency
      ,
      availability
      ,
      url
      ,
      validFrom/validThrough
      .
    • For free events, keep
      price: 0
      but still provide an Offer to show registration is required.
    • Update availability (
      InStock
      ,
      SoldOut
      ,
      PreOrder
      ) as tickets sell.
    • Use UTMs on the offer URLs to track conversions but keep canonical URL clean if necessary.

    Troubleshooting checklist

    • Missing timezone: include offsets in ISO timestamps.
    • Wrong attendance mode: align
      eventAttendanceMode
      with
      location
      .
    • Incomplete address: provide full PostalAddress for in-person venues.
    • No organizer: add Person/Organization for credibility.
    • Outdated status: update
      eventStatus
      if the event is canceled or postponed.

    Common Errors & Fixes

    • Missing timezone: use full ISO 8601 timestamps (e.g.,
      2025-11-12T18:00:00-05:00
      ).
    • Wrong attendance type: ensure
      eventAttendanceMode
      matches your
      location
      type.
    • Incomplete address: for in-person, supply a structured
      PostalAddress
      .

    Required properties

    • name
    • startDate
    • location.name

    Recommended properties

    • description
    • image
    • endDate
    • eventStatus
    • eventAttendanceMode
    • location.address
    • organizer.name
    • performer.name
    • offers.price
    • offers.priceCurrency
    • offers.url
    • offers.availability
    Minimal Online Event
    Validate
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "SwiftSchema Live Workshop: Implementing Product Structured Data",
      "description": "A free, hands-on session to implement Product JSON-LD and validate it.",
      "startDate": "2025-11-12T18:00:00-05:00",
      "endDate": "2025-11-12T19:30:00-05:00",
      "eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
      "eventStatus": "https://schema.org/EventScheduled",
      "image": [
        "https://example.com/images/workshop.webp"
      ],
      "location": {
        "@type": "VirtualLocation",
        "url": "https://example.com/workshop"
      },
      "organizer": {
        "@type": "Organization",
        "name": "SwiftSchema",
        "url": "https://www.swiftschema.com"
      },
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock",
        "url": "https://example.com/workshop/register"
      }
    }

    FAQs

    What does Event structured data do?Show
    It tells search engines what your event is about (name, dates, location/virtual access, ticketing), which can help your listings qualify for event-rich results and improve understanding.
    How do I mark up online or hybrid events?Show
    Use `eventAttendanceMode` with `OnlineEventAttendanceMode` for virtual events or `MixedEventAttendanceMode` for hybrid, and use a `VirtualLocation` (with a URL) in `location`.
    What location fields are needed?Show
    For in‑person events, provide a `Place` with `name` and an `address` (street, locality, region, postal code, country). For virtual events, use `VirtualLocation` and a join/access URL.
    Do I need Offers for free events?Show
    Offers are recommended. If your event is free, you can use an Offer with `price` set to `0` and a valid `priceCurrency`.
    How do I keep my schema accurate?Show
    Set `eventStatus` (for example, `EventScheduled`, `EventCancelled`, or `EventPostponed`) and keep dates, location, and ticket links up to date.

    Generate Event schema

    Fill in page details, copy JSON or Script, and validate.

      Schema Type

      🎉 Event Schema Generator

      Boost your event's outreach with SwiftSchema's Event Schema Generator. Embedding this structured data can make event-related details like venue, date, artists, and ticket availability conspicuous in search results. Such detailed snippets can drive ticket bookings, amplify attendance, and guarantee event success. Get your events noticed and optimize visibility with SwiftSchema's Event Schema Generator.

      Generated Schema

      Validate your schema here.