Free tool
Generate valid JSON-LD
Pick a schema type, fill the fields it needs, and get valid JSON-LD in a script tag. Required properties are checked before anything is output, so you do not paste markup that fails validation. Serialisation is done properly, which means quotes and angle brackets in your text stay safe.
Last reviewed 27 August 2026
Result
Schema type
Organization
4 properties beyond the context and type
JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme Analytics",
"url": "https://acme.com",
"logo": "https://acme.com/logo.png",
"description": "Product analytics for B2B SaaS teams, without a data warehouse."
}
</script>Before you ship it
- Paste the whole script tag into the head or body of the page it describes. JSON-LD does not need to sit next to the content it marks up.
- Run it through Google's Rich Results Test and the schema.org validator. They check different things and disagree often enough to be worth both.
- Only mark up what is visible on the page. Structured data that describes content a visitor cannot see is a manual-action risk, not a shortcut.
- Keep the markup in sync with the page. Stale prices and dead breadcrumb URLs are the most common cause of a rich result quietly disappearing.
Structured data makes a page easier to parse and eligible for certain result types. It is not a ranking factor in itself, and no amount of markup rescues a page nobody wants to read. The honest reason to do it is that it is cheap, unambiguous, and machine-readable, which matters more as answers get assembled rather than listed.
How this works
What the numbers mean.
- 01The markup is built as a data structure and serialised with a real JSON serialiser, not assembled from strings. That guarantees quotes, backslashes, and control characters inside your text are escaped correctly, which is where hand-written JSON-LD usually breaks.
- 02Angle brackets in the output are escaped as unicode sequences, so a stray closing script tag inside your copy cannot terminate the script block and dump raw text into the page.
- 03Required properties are checked first and nothing is emitted until they are present, because the alternative is markup that looks finished and fails validation.
Assumptions and limits
- This covers the common properties for six types, not the full vocabulary. schema.org defines far more, and Google's documentation defines which subset earns a rich result.
- Marking up content that is not on the page violates Google's structured data guidelines. The markup should describe what a visitor actually sees.
- FAQ rich results have been restricted by Google to a narrow set of site types. The markup is still useful for parsing, but do not expect the result treatment.
Questions about this tool
Does schema markup improve rankings?
Where do I put the script tag?
Which type should I use?
Why does the tool refuse to output when a field is missing?
This tool is free and there is nothing to sign up for. If you would rather have the work done than calculate it, that is what Zway does.