HTML

Schema Markup Preview

Details

How to use Schema Markup Preview

What the tool does, how to run it, and what to expect from the result.

How to preview JSON-LD schema markup

The tool parses your JSON-LD, pretty-prints it with two-space indentation, and summarizes it: the root @type, how many entities it found, every distinct @type across them, and the primary name and URL from the root object.

Its job is to confirm the markup is well-formed and that the entities you expected are the entities you actually wrote. It does not check the schema.org vocabulary and it does not predict rich results.

  • Copy the JSON from inside your <script type="application/ld+json"> block, without the script tags themselves.
  • Paste it into the input and press Preview schema.
  • If it fails, read the character offset in the error and check for a trailing comma or a single-quoted key at that position.
  • Check the summary grid: root type, entity count, and the list of entity types should match what you meant to publish.
  • Copy the pretty-printed JSON-LD back into your page, or download it as schema.json.

How to preview schema markup

To preview schema markup, paste your JSON-LD into the tool. It validates that the JSON parses, pretty-prints the result so it is easy to read, and shows a compact summary of the entities and key properties it found.

All of this runs in your browser, so your markup is never uploaded to a server. That makes it a fast, private way to review structured data while you are writing or auditing a page.

  • Paste your JSON-LD
  • Confirm it parses without errors
  • Read the pretty-printed output
  • Review the entity summary

What it supports and what it does not

This version supports JSON-LD only, which is the cleanest practical entry for a browser-first schema tool. Keeping the first version focused avoids the edge-case sprawl of parsing microdata and RDFa, so the output stays reliable.

It is an inspection and preview tool, not a rich-results eligibility checker. It will not tell you whether you qualify for a specific rich result; instead it helps you confirm the markup is valid JSON-LD and understand the entities it describes.

Tips

Getting a better result out of Schema Markup Preview

Specific settings and thresholds, not general advice.

  • Paste the JSON only. Including the <script type="application/ld+json"> wrapper fails with "Unexpected token '<'", because the input goes straight into JSON.parse with no HTML extraction step.
  • Parsing is strict JSON, not JavaScript. Trailing commas, single-quoted keys, unquoted keys, and comments are all rejected, and you get the browser's own message with a character offset, for example "Expected property name or '}' in JSON at position 1". Use that offset to find the typo.
  • @graph is handled properly: the entity count is the length of the array, and @type values are flattened and de-duplicated, including entries where @type is itself an array such as ["WebSite","CreativeWork"].
  • A top-level JSON array is not handled. Pasting [{...},{...}] reports an entity count of 1 with no types, because only @graph is unwrapped. Wrap multiple entities in one object with an @graph array to get a correct summary.
  • Primary name and primary URL are read from the root object only: name, falling back to headline, and url. In an @graph document the root has neither, so both show Missing even when every entity inside carries them.
Limits

What Schema Markup Preview does not do

The honest boundary, so you do not lose time finding it yourself.

  • It checks that the JSON parses. It does not check the vocabulary, so an invented @type such as Artical is accepted without complaint.
  • No required-property checks. Google's Article rich result expects headline, image, and datePublished, and nothing here will tell you they are absent.
  • @context is not validated and no schema.org term is resolved.
  • JSON-LD only. Microdata and RDFa are not parsed, and the tool cannot pull JSON-LD out of a full HTML page for you.
Reference

Terms used on this page

Short, plain-language definitions for the formats and settings above.

At a glance

Who Schema Markup Preview is for

A quick way to understand who this helps, what it solves, and where it connects next.

Best fit

SEO teams, developers, founders, and content operators checking JSON-LD markup before publishing.

Ideal for

Reviewing JSON-LD structure quickly without claiming rich-result eligibility or spinning up a heavier testing tool.

FAQ

Common questions

Short answers for the questions people usually have before trying a utility like this.

Is the schema markup preview free?

Yes. Previewing schema markup is completely free, with no signup, and your JSON-LD is parsed locally in your browser.

Does it upload my markup to a server?

No. This tool parses and previews JSON-LD entirely in your browser, so your markup is never sent to a server.

Does it support microdata or RDFa?

No. This version supports JSON-LD only, which keeps parsing reliable and avoids microdata and RDFa edge cases.

Does it tell me if I qualify for rich results?

No. It is an inspection and preview tool, not a rich-results eligibility checker. It confirms the markup parses and summarizes the entities it contains.

What does the entity summary show?

It shows a compact view of the entities and key properties found in your JSON-LD so you can quickly sanity-check the structure.

Why does pasting my <script type="application/ld+json"> block fail?

The input is handed directly to JSON.parse, which sees a < as the first character and stops with "Unexpected token '<'". Copy only what is between the script tags. The tool is a JSON-LD inspector, not an HTML scraper, so it never looks for a script element in your paste.

Does a clean parse mean I will get rich results?

No. A clean parse means the JSON is syntactically valid, which is the lowest bar there is. It says nothing about whether the @type is a real schema.org type, whether the properties Google requires for that rich result are present, or whether your page qualifies at all. Use Google's own Rich Results Test for eligibility.

Is @graph supported?

Yes. When the root object has an @graph array, each element is treated as an entity: the entity count is the array length and every @type across the graph is collected and de-duplicated, including nested arrays of types. The one gap is that the primary name and primary URL fields still read the root object, which in a graph document has neither, so those two show Missing.

Why does my array of entities report a count of 1?

The summary only unwraps @graph. A top-level array is treated as a single value, so the count reads 1, the type list comes back empty, and no root type is detected. It is a genuine gap in the summary and easy to work around: put your entities in {"@context": "https://schema.org", "@graph": [ ... ]} and the count and types resolve correctly.

How is the pretty-printed output formatted?

It is JSON.stringify with two-space indentation, so key order is preserved exactly as you wrote it and only the whitespace changes. That makes the output safe to paste straight back into your script tag, since nothing in the data is rewritten or reordered.

Is my markup uploaded?

No. The JSON is parsed by your browser and the summary is computed locally, so unreleased pages, internal URLs, and draft schema never leave the tab.

Recommendations

You Might Also Like

Nearby tools from the catalog that fit the same job or workflow.

Cleanor app

Do it all on your device

Cleanor puts these tools in one app: compress and convert images, video, and audio, work with PDFs, and scan text right on your device. Plus free up storage and clear inbox clutter with Email Cleaner. Start with a free trial.

  • iPhone
  • Android
  • Macsoon
  • Windowssoon