HTML Formatterhtmlformatteronline.com

Schema markup generator

Pick a type, fill in what you have, and get valid JSON-LD. Anything Google requires but you have not filled in is listed as you go.

Details
Article
Questions and answers
Offer
Address and hours
Organisation
Trail
What this does
JSON-LD — paste before </head>

Structured data, briefly

Schema.org markup is a machine-readable description of what a page is about. Search engines use it to show rich results — star ratings, prices, breadcrumbs, opening hours — and increasingly to decide what an assistant says when someone asks a question your page answers.

JSON-LD is the format Google recommends. It sits in a <script> tag and is completely separate from your visible markup, which means adding it cannot break your layout and changing your layout cannot break it. The older microdata approach interleaves attributes with your HTML and is far more fragile.

The one rule people break

The markup must describe what is actually on the page. Marking up a five-star rating that appears nowhere, or an FAQ the visitor cannot see, is a structured data violation. Google issues manual actions for it, and recovering from one takes months.

If you want FAQ markup, put a real FAQ on the page. If you want review markup, collect real reviews and display them. The markup describes the page; it does not replace it.

Which type to use

Article or BlogPosting

Any page that is primarily writing with an author and a date. Gets you the headline, image and date treatment, and is what Google Discover reads.

Product

A single purchasable item. Price, availability and rating can appear directly in the result, which changes click-through substantially.

LocalBusiness

Anywhere with an address customers visit. Feeds the map panel and the opening-hours line. Keep it identical to your Google Business Profile.

Organization

One per site, on the homepage. Establishes the logo and the official social profiles behind the knowledge panel.

BreadcrumbList

Replaces the raw URL under your title with a readable trail. Low effort, and it applies to every page on a site with any depth to it.

FAQPage

Google narrowed FAQ rich results to government and health sites in 2023. The markup still helps machines understand the page, so it remains worth adding — just do not expect the search treatment.

Several types can coexist on one page. A product page sensibly carries Product, BreadcrumbList and Organization at once — put each in its own script tag, or combine them in an array.

Where to put it

Anywhere in the document. Google reads JSON-LD from the head and the body, and reads it after JavaScript has run, so client-side injection works too. Before </head> is the conventional spot.

In place
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "How to wash linen without ruining it",
  "datePublished": "2026-04-02",
  "author": { "@type": "Person", "name": "Ruth Ellery" }
}
<\/script>

Note the escaped closing tag if you are generating this from inside another script. A literal </script> inside JavaScript ends the enclosing block — one of the oldest gotchas on the web.

Test it before you trust it

Two tools, and they answer different questions.

Google's Rich Results Test tells you whether the page is eligible for a specific rich result and lists any missing required properties. This is the one that matters commercially.

The Schema Markup Validator at validator.schema.org checks the markup against the schema.org vocabulary without any Google-specific opinion. Useful for types Google does not support.

Eligible is not the same as guaranteed. Google decides per query whether to show a rich result, and valid markup only buys you the chance.

Questions about this generator

Will this get me a rich result?

It makes you eligible. Google decides whether to show one based on the query, the site's quality and its own judgement, so valid markup is necessary but not sufficient. Breadcrumbs and product prices show up reliably; FAQ rich results largely do not any more.

Is JSON-LD better than microdata?

For most people, yes. Google recommends it, it sits separately from your markup so it cannot break your layout, and it is far easier to generate from a template. Microdata is not deprecated, just more work.

Can I have more than one type on a page?

Yes, and you often should. A product page might carry Product, BreadcrumbList and Organization. Use a separate script tag for each, or put them in one array.

Do I need markup on every page?

Breadcrumbs, yes, on anything with depth. Organization once, on the homepage. The rest only where the page genuinely is that thing. Adding Product markup to a category listing is a misdescription, not a shortcut.

What date format does it want?

ISO 8601. 2026-04-02 is enough; 2026-04-02T09:00:00+01:00 is better if you have the time and the offset. Anything else is silently ignored.

Related tools

Learn the why, not just the how

Longer reading on formatting, indentation and minification.