Skip to main content

Schema Markup Generator

Generate schema.org JSON-LD structured data for Article, FAQ, Product, Recipe, Event, Local Business, How-to, Job Posting and more — with a checklist of the properties Google needs for the rich result.

Input

One URL per line. Google prefers 16:9, 4:3 and 1:1 crops of the same image.

Output

JSON-LD script tag
 
Google rich-result checklist
PropertyRequirementStatus
No data yet
JSON-LD
 
Was this helpful?

Guides

Fill in a form, get valid schema.org JSON-LD. This generator covers the thirteen structured-data types Google actually renders rich results for — Article, Breadcrumb, Event, FAQ, How-to, Job Posting, Local Business, Organization, Person, Product, Recipe, Video and Website — and grades what you have entered against the properties Google requires.

How to use it

  1. Pick a schema type. The form swaps to the fields that type needs; nothing irrelevant is shown.
  2. Fill in what you have. Blank fields are dropped from the output rather than emitted as empty strings, so a partly-filled form still produces valid markup.
  3. Copy the JSON-LD script tag and paste it into your page — anywhere in <head> or <body> works, and the position has no effect on how Google reads it.

The raw JSON-LD object is offered separately if you are injecting it through a template or a CMS field rather than pasting a <script> block.

The rich-result checklist

Markup can be perfectly valid JSON-LD and still never produce a rich result, because Google publishes a separate required-property list per type. An Article without datePublished, a Product without offers.price, a Video without thumbnailUrl — each one validates fine and each one silently gets nothing.

The checklist output grades your markup against that list, marking every property Present, Missing or Not set, and separating what Google requires from what it merely recommends. Anything still marked Missing is the reason your rich result isn't showing.

Entering lists

Repeating structures are entered as text, one item per line, so they paste straight out of a spreadsheet:

  • BreadcrumbsName | URL, one level per line, root first.
  • FAQQuestion | Answer, one pair per line.
  • How-to stepsName | Instructions | URL | Image URL; only the name is required.
  • Ingredients, instructions, supplies, tools, image URLs, social profiles — one per line.
  • Opening hoursMonday-Friday 09:00-17:00. Day ranges are expanded to individual days, because schema.org's dayOfWeek has no range syntax and an unexpanded range declares the shop open on Monday and Friday only.

Durations accept whatever you have to hand — PT1H30M, 1:30, 1h 30m or a bare number of minutes — and are normalised to the ISO 8601 form schema.org expects.

Privacy

The markup is built in your browser. Nothing you type is uploaded, which matters when you are drafting structured data for a page that hasn't launched yet.

Is this the same as a JSON Schema generator?

No — despite the names. This tool produces schema.org structured data, the vocabulary search engines read to build rich results. JSON Schema is an unrelated format for validating the shape of JSON documents; for that, use the JSON Schema Generator.

Which @type should I choose for a local business?

The most specific one that fits — CafeOrCoffeeShop rather than LocalBusiness — but only from the real schema.org list, which the dropdown restricts you to. An invented subtype makes the whole block ineligible rather than falling back to the generic type.

What else should I add to the page?

Structured data decides whether you get a rich result; the title and meta description decide what the plain result looks like. Preview those with the SERP Simulator, and generate the rest of the <head> with the HTML Meta Tag Generator.

schema markupjson-ldstructured dataschema.orgrich resultsseo

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.