Free tool

Schema / JSON-LD generator.

Pick a type, fill in the fields, copy clean Schema.org JSON-LD straight into your <head>. Eligible for Google rich results when fields match your visible content.

Organization fields

Copy-paste snippet

name: required
url: required and must be a URL
logo: recommended for rich results
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization"
}
</script>

Paste inside your page's <head>. Validate with Google's Rich Results Test before shipping.

Why structured data

The label your page wears in machine-readable form.

JSON-LD is a JSON dialect that lives in a single <script type="application/ld+json"> tag in your <head>. Search engines and AI crawlers parse it before they parse your HTML — which is how Google generates rich results and how Perplexity and ChatGPT decide what your page is actually about.

One script tag. Three audiences.

  • Google. Parses JSON-LD before rendering. Turns it into stars, breadcrumbs, FAQs, prices and sitelinks in the SERP.
  • AI engines. ChatGPT, Perplexity and Google AI Overviews read JSON-LD to identify entities and resolve ambiguity. Marked-up pages get cited more often.
  • Social cards & assistants. Apple's Spotlight, Siri, Google Assistant and even Pinterest read Schema.org to render rich previews.

Anatomy

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How JSON-LD works",
  "image": "https://…/cover.jpg",
  "datePublished": "2026-06-06",
  "author": {
    "@type": "Person",
    "name": "Jane Doe"
  }
}
</script>

Eligibility

What each type unlocks in Google

Schema typeRich result eligibilityRequired properties
OrganizationKnowledge panel, sitelinks search boxname, url
LocalBusinessLocal pack, knowledge panel, hoursname, address, telephone
ArticleTop stories, Discover, AI Overviewsheadline, image, datePublished, author
ProductProduct snippets, shopping graphname, image, offers (price + availability)
FAQPageFAQ rich result (B2B only, since 2023)Question + Answer pairs
BreadcrumbListBreadcrumb above the title in SERPordered ListItem array
EventEvent listing in Google Eventsname, startDate, location
PersonKnowledge panel for individualsname, jobTitle or sameAs

Rich results aren't guaranteed even with valid markup — Google decides per query. But invalid markup guarantees you won't get them.

01

Generate above

Fill the form. The validator below the output catches missing required properties before you copy.

02

Paste into <head>

Drop the entire <script> tag into the <head> of the relevant page. One block per @type per page. Multiple types? Multiple scripts.

03

Verify with Google

Run the URL through Google's Rich Results Test. Eligible types will preview exactly as they'll appear in search.

Do

  • Match the schema content to the visible page content. Marking up reviews you don't show is a manual action.
  • Use absolute URLs for images, logos, sameAs and item references.
  • Date fields in ISO 8601 (2026-06-06T14:00:00+02:00).
  • Nest types correctly — author → Person, location → Place, brand → Brand.

Don't

  • Mark up content that's hidden behind a tab, accordion or login wall.
  • Use FAQPage on a product or landing page — restricted to B2B-style FAQ pages since 2023.
  • Repeat the same @type twice on the same page unless it's a list.
  • Forget the @context — without it, the block is just JSON, not JSON-LD.

Built-in validator, not a YOLO output.

The generator validates required properties for the active type before it lets you copy. We're not a replacement for Google's Rich Results Test — but you'll never paste something that's missing aheadline ordatePublished.

Validator checks

  • ✓ @context + @type present
  • ✓ Required properties per type
  • ✓ URL fields are absolute
  • ✓ Dates are ISO 8601
  • ✓ No empty arrays or nulls in output

FAQ

JSON-LD, Microdata or RDFa?
Google explicitly recommends JSON-LD because it sits in a single script tag and doesn't entangle with your HTML or CSS. Microdata and RDFa still work, but they're a maintenance burden and easier to break.
Can I have multiple JSON-LD blocks on one page?
Yes. A blog post typically has Article + BreadcrumbList + Organization (in the footer) + Person (author). Each gets its own <script> tag.
Does structured data directly improve rankings?
Not as a direct ranking factor — but it improves click-through-rate via rich results and helps AI engines cite you. Both translate to traffic.
What about @id and graph nodes?
For advanced setups, you can connect multiple types via @id references in a single @graph array. This generator outputs flat blocks — clean enough for 95% of pages.
Should I update schema when content changes?
Yes — especially dates, prices and availability. Crawlers re-fetch JSON-LD on every visit, and stale prices in Product schema can earn a manual action.