RunTheTests
/

Structured Data Generator

Generate valid JSON-LD for the types that produce rich results.

What you provide

How this calculation works

Choose a type, fill in what you have, and the markup is assembled with the properties that type needs, wrapped in the script tag it belongs in. Empty fields are omitted rather than emitted as blanks, since an empty property is worse than an absent one. Recommended properties that are missing are listed, because they are usually what stands between eligible and ignored. JSON-LD goes in the head or the body — both work — and does not have to sit next to the content it describes, which is exactly why it is easy to let the two drift apart.

What the results mean

Required properties
Without them the markup is ignored for rich results entirely, silently. There is no warning anywhere.
Recommended properties
Not mandatory, and usually the difference between eligible and shown. Images and dates matter most.
@context
Tells the parser the vocabulary is schema.org. A block without it describes nothing at all.
JSON-LD
The format search engines prefer, separate from your markup rather than woven through it. That is its advantage and its risk.

Common problems and fixes

I added markup and nothing changed
Eligibility is not a guarantee. Confirm the page is indexed, that required properties are present, and then wait — rich results appear on the engine's schedule, not on deployment.
The markup describes content the page does not show
Fix that before anything else. Marking up invisible reviews or prices is a manual-action risk, and it is one of the few structured-data rules that gets actively enforced.
Which page should the markup go on?
The page it describes, one block per entity. Product markup belongs on the product page, not the category listing.

Frequently asked questions

Does structured data improve rankings?

Not as a ranking factor. What it does is make a page eligible for rich results — star ratings, FAQ dropdowns, product prices — which change how much space and attention the result gets. The effect is on click-through rather than position, and it is often the larger of the two.

Where does JSON-LD go on the page?

In a script tag with type application/ld+json, in either the head or the body. It does not need to sit near the content it describes, which is convenient and is also why markup and page content drift apart over time — the markup keeps saying the price is £20 long after the page changed.

Can I have more than one block on a page?

Yes, and it is normal: an organisation block, a breadcrumb block and an article block on the same page are all valid. Keep one entity per block rather than merging them.

Put this on your own site

Free to embed, no attribution required beyond the source link the frame carries itself. It runs entirely in your visitor's browser, sets no cookies and loads no third-party script.

Embed code
<iframe src="https://runthetests.com/embed/schema-generator/" width="100%" height="560" style="border:1px solid #e5e5e5;border-radius:8px" title="Structured Data Generator" loading="lazy"></iframe>

Preview it at https://runthetests.com/embed/schema-generator/. Embedded pages are marked noindex, so yours stays the canonical copy — not this one.

More in SEO