ToolJutsu
All tools
Web & SEO Tools

JSON-LD Validator

Validate JSON-LD structured data.

Paste a raw JSON-LD object or a full <script type="application/ld+json"> block. The script tags are stripped automatically. This is an offline structural check — it does not contact Google and is not a substitute for the Google Rich Results Test.

0 chars
Processed on your device. We never see your files.

How to use JSON-LD Validator

What this tool does

The JSON-LD Validator checks structured-data markup for problems before you publish it. Paste either a raw JSON-LD object or a full <script type="application/ld+json"> block — the script tags are stripped automatically — and the tool parses it and reports back. It separates findings into three clear groups: errors that will stop the markup working, warnings about weak or incomplete markup, and passed checks that confirm what is correct. It also lists every @type it detects anywhere in the document, including nested objects and items inside an @graph array, and shows a clean, pretty-printed copy of valid input.

It is a structural validator, not a crawler. It does not fetch your page, follow links, or contact any external service. Every check runs locally in your browser.

Why it matters for SEO

Structured data only earns rich results if search engines can read it without tripping over a mistake. A single misplaced comma makes the entire JSON-LD block invalid, and Google will silently ignore it — no error in your face, just no rich result. A missing @type leaves an item undefined. A missing recommended property, such as a headline on an Article or mainEntity on an FAQPage, can quietly disqualify a page from the enhanced listing you were aiming for.

Catching these problems early saves real time. Editing JSON-LD, redeploying, waiting for a recrawl and only then discovering a syntax error is a slow loop. A quick offline check on the draft markup closes that loop in seconds. It is especially useful when markup is generated by a CMS or a template, where a stray variable can break the JSON for an entire content type at once.

JSON-LD is the format Google recommends precisely because it is self-contained and easy to validate — unlike microdata, which scatters attributes through your HTML and cannot be checked as one isolated block. This tool leans on that advantage: one block in, a full structural report out.

How to use it

  1. Copy your structured data — either the raw JSON or the entire <script> block from your page source.
  2. Paste it into the input box. Load the sample first if you want to see a working example.
  3. Read the report. Errors appear in red, warnings in amber, and passed checks in green, with a count summary at the top.
  4. Review the detected @type list to confirm the document describes what you expect.
  5. Fix any errors, address the warnings that matter, then copy the formatted output if you want the tidied version.
  6. Finish by running the live URL through Google’s Rich Results Test.

SEO best practices

Always declare "@context": "https://schema.org" at the top level so terms resolve correctly. Give every item a @type. Include the recommended properties for your type — they are recommended because they are what rich results are built from. Keep the markup matched to the visible content on the page. When you use an @graph array to describe several connected entities, check that each node inside it is itself complete. Validate after every change to a template that emits structured data, not just once.

Common mistakes to avoid

The classic mistake is trusting “the JSON is valid” as the finish line — valid syntax is necessary but not sufficient. Watch for trailing commas and unescaped quotes, the two most common parse failures. Do not omit @context or @type; both are foundational. Avoid marking up content that is not visible on the page. And do not treat this validator as the final word: it is an offline structural check, not Google’s rendering pipeline. It cannot tell you whether a page will actually show a rich result — only the Google Rich Results Test, running against your live URL, can do that.

Privacy & your data

The JSON-LD Validator is fully client-side. The markup you paste is parsed and analysed by JavaScript running in your own browser. Nothing is uploaded, nothing is logged, and nothing is stored once you close or refresh the page. There is no server round trip at any point — that is also why the tool cannot contact Google on your behalf. Because your data never leaves your device, you can safely validate structured data for staging environments, unreleased products and internal pages. You stay in control of when, and whether, that markup ever goes public.

Frequently asked questions

What does this validator actually check?
It runs structural checks in your browser: it confirms the JSON parses, that an @context is present and references schema.org, that every item declares a @type, and that well-known types include their recommended properties. It also lists every @type it finds, including nested objects and items inside an @graph array. It does not crawl your site or talk to Google.
How is this different from the Google Rich Results Test?
The Google Rich Results Test runs on Google's servers, fetches your live URL, applies Google's exact rich-result rules and tells you which visual results a page qualifies for. This tool is an offline, fast structural sanity check you can run on a draft before publishing. Passing here means your JSON-LD is well-formed and sensible; it does not guarantee a rich result. Always finish with the official Rich Results Test.
Can I paste a full script tag, or only raw JSON?
Either works. If you paste a complete block, the validator strips the opening and closing script tags automatically before parsing. You can also paste a bare JSON object or an array of objects directly. This makes it easy to copy markup straight out of a page's source.
Why does it warn about missing properties when the JSON is valid?
Valid JSON only means the syntax is correct. A warning about a missing property — for example an Article without a headline, or a FAQPage without mainEntity — means the markup is structurally weaker than recommended and may not produce a rich result even though it parses. Warnings are advisory; errors are blocking. Fix errors first, then review warnings.
Is my JSON-LD uploaded anywhere when I validate it?
No. The JSON-LD Validator works entirely in your browser using JavaScript. The markup you paste is parsed and checked locally, is never sent to a server, and is not stored after you close the tab. Because nothing leaves your device, it is safe to validate structured data for unpublished pages and internal projects.

Related tools