Schema Markup Generator

Generate valid JSON-LD structured data for any schema.org type instantly.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

Schema markup — formally called structured data — is the invisible layer of meaning beneath a web page. Search engines like Google read your HTML content but cannot always infer context: is this number a price, a rating or a phone number? Is this list of steps a recipe or a how-to guide? Schema markup answers those questions precisely using a shared vocabulary defined at schema.org, and it does so without changing anything your visitors see.

This generator lets you produce valid JSON-LD structured data for 15 popular schema.org types entirely in your browser. Fill in the labelled fields, get clean JSON-LD output, and paste the script tag directly into your page’s <head>. No accounts, no uploads, no tracking.

How it works

The tool exposes a form tailored to whichever schema.org type you select. Every field maps to one or more official schema.org properties. When you complete all required fields the JSON-LD is assembled in real time and displayed in the output panel. Toggling “Wrap in script tag” adds the surrounding HTML so you can paste it straight into your source.

The generated markup follows three rules that Google enforces for rich results:

  1. The @context key is always "https://schema.org" — the namespace that tells parsers which vocabulary you are using.
  2. The @type key matches the exact schema.org class nameArticle, Product, FAQPage, and so on.
  3. Required properties for rich-result eligibility are surfaced as mandatory fields — the generator will not produce output until they are filled, so you cannot accidentally submit a schema missing a property Google considers essential.

Supported schema types

TypeCommon use case
Article / Blog PostNews, editorial and blog content
Breadcrumb ListNavigation path shown in the URL in SERPs
EventConcerts, conferences, sports fixtures
FAQ PageExpandable Q&A panels below your search result
How-ToNumbered instructions with optional cost and time
Job PostingListings that appear in Google Jobs
Local BusinessMap pack integration, opening hours, contact details
OrganisationBrand knowledge panel, sameAs social links
PersonAuthor bio, expert attribution
ProductPrice, availability, ratings below shopping results
RecipeCooking time, calories, ingredient cards
ReviewStar ratings for hotels, books, products, places
VideoThumbnail and duration in video search results
WebsiteSitelinks search box for your domain

Worked example: FAQ schema

Suppose you have a support page with three common questions. Select FAQ Page from the dropdown, then enter your questions and answers in the multi-line field using the Q: / A: convention:

Q: How long does delivery take?
A: Standard UK delivery takes 3-5 working days.
Q: Can I return an item?
A: Yes, within 30 days for a full refund.
Q: Do you ship internationally?
A: We ship to 40 countries; select your country at checkout.

The generator produces:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does delivery take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Standard UK delivery takes 3-5 working days."
      }
    }
  ]
}

When Google indexes this page, the three questions may appear as expandable panels directly beneath your result in the SERP — extra visible real estate at zero extra cost.

Formula note: how the JSON-LD is built

Each schema type has a mapping function that converts your field inputs into the nested object structure schema.org specifies. Key patterns used across types:

  • Nested entities: an author string becomes { "@type": "Person", "name": "..." } — schema.org requires entities rather than bare strings for names of people, organisations and brands.
  • Schema.org URL prefixes: availability, condition, event status and attendance mode values are prefixed with https://schema.org/ as the spec requires (e.g. "https://schema.org/InStock").
  • ISO 8601 durations: recipe and how-to times use the format PT2H30M (2 hours 30 minutes) — P starts the period, T separates date from time components, H/M/S are hours/minutes/seconds.
  • Monetary values: salary and cost fields wrap in a MonetaryAmount with separate currency and value keys so parsers can display localised formatting.
  • Optional fields are omitted when empty rather than set to empty strings, keeping the output concise and avoiding schema validation warnings.
Ad placeholder (rectangle)