— Marketing

Free JSON-LD Previewer

Paste JSON-LD or a whole page’s HTML to outline its structured data, check it for rich results, and preview the listing.

— Samples
Entities 3Problems 0Valid
Live

What is a JSON-LD Previewer?

JSON-LD is the format Google recommends for structured data: a block of JSON in a page that describes its content with schema.org types such as Product, Article or Event. This previewer outlines that data, checks it against Google’s rich result requirements, and shows a mock of the listing.

Paste a JSON-LD block or a whole page’s HTML, and every ld+json script is read and flattened, including @graph collections and nested entities such as an article’s author. The check separates what Google requires for a rich result from what it only recommends, and catches dates, addresses and contexts written in ways search engines ignore.

Key Features

Whole Pages

Paste HTML and every ld+json script block is read in order.

Entity Outline

Each type and name, with nested entities under the property that holds them.

Rich Result Check

Google’s required properties for products, events, recipes, jobs, FAQs and more.

Search Result Mock

A listing preview with ratings, prices, dates, FAQ rows or breadcrumbs.

Format Checks

ISO 8601 dates, absolute URLs, schema.org context and deprecated types.

Perfect for everyone

  • SEO specialists
  • Web developers
  • Content managers and agencies auditing client sites

How to Use the JSON-LD Previewer

Paste the JSON-LD from your template, or view a page’s source and paste the whole HTML. Every view reads the same blocks, so you can fix the markup and watch the check and the preview change together.

1

Paste JSON-LD or HTML

A block, an @graph or a page’s full source.

2

Read the Outline

Confirm every entity and its nested types are there.

3

Fix Problems First

Required properties decide whether a rich result can show.

4

Add Suggestions

Recommended properties make the result richer.

Worked Examples

Structured Data, Outlined and Checked

Each row is JSON-LD as it appears on real sites, from a product page’s @graph to a deprecated HowTo. Each answer is this tool’s output in the mode on the chip: the search result mock as HTML, the outline or the check.

REF_001A product page’s @graph as a search result

“{ "@context": "https://schema.org", "@graph": [ { "@type": "Organization", "name": "Harbour Goods", "url": "https://harbourgoods.example", "logo": "https://harbourgoods.example/logo.png" }, { "@type": "Product", "name": "Brass Ship Lantern", "image": "https://harbourgoods.example/img/lantern.jpg", "description": "Hand-finished brass lantern with a glass chimney, 30 cm tall.", "sku": "HL-30-BR", "brand": { "@type": "Brand", "name": "Harbour Goods" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.7", "reviewCount": "128" }, "offers": { "@type": "Offer", "price": "89.00", "priceCurrency": "EUR", "availability": "https://schema.org/InStock", "url": "https://harbourgoods.example/lantern" }, "url": "https://harbourgoods.example/lantern" }, { "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://harbourgoods.example/" }, { "@type": "ListItem", "position": 2, "name": "Lighting", "item": "https://harbourgoods.example/lighting" }, { "@type": "ListItem", "position": 3, "name": "Brass Ship Lantern" } ] } ] }”

REF_002The same @graph, checked

“{ "@context": "https://schema.org", "@graph": [ { "@type": "Organization", "name": "Harbour Goods", "url": "https://harbourgoods.example", "logo": "https://harbourgoods.example/logo.png" }, { "@type": "Product", "name": "Brass Ship Lantern", "image": "https://harbourgoods.example/img/lantern.jpg", "description": "Hand-finished brass lantern with a glass chimney, 30 cm tall.", "sku": "HL-30-BR", "brand": { "@type": "Brand", "name": "Harbour Goods" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.7", "reviewCount": "128" }, "offers": { "@type": "Offer", "price": "89.00", "priceCurrency": "EUR", "availability": "https://schema.org/InStock", "url": "https://harbourgoods.example/lantern" }, "url": "https://harbourgoods.example/lantern" }, { "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://harbourgoods.example/" }, { "@type": "ListItem", "position": 2, "name": "Lighting", "item": "https://harbourgoods.example/lighting" }, { "@type": "ListItem", "position": 3, "name": "Brass Ship Lantern" } ] } ] }”

REF_003A blog post’s HTML head, outlined

“<!doctype html> <html><head> <title>How to clean brass</title> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"BlogPosting","headline":"How to Clean Brass Without Scratching It","datePublished":"2026-09-14","author":{"@type":"Person","name":"Mira Okafor"},"url":"https://harbourgoods.example/blog/clean-brass"} </script> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Can I use vinegar?","acceptedAnswer":{"@type":"Answer","text":"Yes, mixed with flour and salt as a paste."}}]} </script> </head><body>…</body></html>”

REF_004The same page, checked

“<!doctype html> <html><head> <title>How to clean brass</title> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"BlogPosting","headline":"How to Clean Brass Without Scratching It","datePublished":"2026-09-14","author":{"@type":"Person","name":"Mira Okafor"},"url":"https://harbourgoods.example/blog/clean-brass"} </script> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Can I use vinegar?","acceptedAnswer":{"@type":"Answer","text":"Yes, mixed with flour and salt as a paste."}}]} </script> </head><body>…</body></html>”

REF_005An event with four problems

“{ "@type": "Event", "name": "Harbour Lights Festival", "startDate": "Oct 31, 2026", "image": "/img/festival.jpg" }”

REF_006A recipe as a search result

“{ "@context": "https://schema.org", "@type": "Recipe", "name": "Ginger Biscuits", "image": "https://example.com/biscuits.jpg", "totalTime": "PT35M", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.8", "ratingCount": "312" } }”

REF_007An FAQ with an unanswered question

“{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Do you ship abroad?", "acceptedAnswer": { "@type": "Answer", "text": "Yes, to 30 countries." } }, { "@type": "Question", "name": "Can I return an item?" } ] }”

REF_008A job posting without a location

“{ "@context": "https://schema.org", "@type": "JobPosting", "title": "Frontend Engineer", "description": "Build our storefront.", "datePosted": "2026-10-20", "hiringOrganization": { "@type": "Organization", "name": "Harbour Goods" } }”

REF_009A deprecated HowTo

“{ "@context": "https://schema.org", "@type": "HowTo", "name": "How to polish brass", "step": [ { "@type": "HowToStep", "text": "Mix the paste." } ] }”

REF_010A bakery with two types, outlined

“{ "@context": "http://schema.org", "@type": [ "LocalBusiness", "Bakery" ], "name": "Ferry Street Bakery", "address": { "@type": "PostalAddress", "streetAddress": "12 Ferry St", "addressLocality": "Portsmouth" }, "telephone": "+44 23 9200 0000" }”

Type Reference

What Google Requires by Type

Each rich result type has its own required properties, and a result can’t show without them. These are the requirements this tool checks, taken from Google Search Central’s structured data documentation for each feature.

01 / PRODUCT

Product

name, plus one of offers, review or aggregateRating.

“What else does a product need besides a name?”

02 / ARTICLE

Article

Nothing strictly required; headline, image, dates and author are recommended.

“Does an Article have required properties?”

03 / EVENT

Event

name, startDate and location.

“Which three properties are required?”

04 / RECIPE

Recipe

name and image.

“What must a recipe include?”

05 / FAQPAGE

FAQPage

mainEntity, with each Question’s name and acceptedAnswer text.

“Where do the questions go?”

06 / BREADCRUMBLIST

BreadcrumbList

itemListElement, each ListItem with a position and a name.

“What does each crumb need?”

07 / JOBPOSTING

JobPosting

title, description, datePosted, hiringOrganization and a location.

“What can replace jobLocation for remote jobs?”

08 / VIDEOOBJECT

VideoObject

name, thumbnailUrl and uploadDate.

“Which date does a video need?”

09 / LOCALBUSINESS

LocalBusiness

name and address.

“What two properties are required?”

Formats Search Engines Expect

Valid JSON isn’t always valid structured data. Search engines read some values in specific formats only, and quietly ignore anything else, so a page can look fine in the source and still miss out on rich results.

ISO 8601 Dates

Write 2026-10-31 or 2026-10-31T19:00:00+01:00, not Oct 31, 2026.

Absolute URLs

Images, logos and links need https:// addresses, not /img/photo.jpg.

schema.org Context

Set @context to https://schema.org so types resolve.

Durations

Times such as totalTime use ISO 8601 durations, like PT35M.

Enumerations

Values such as availability use schema.org URLs, like https://schema.org/InStock.

Rich Results That Changed

Google adds and retires rich result features over time, so markup that once produced a rich listing may now do nothing visible. It is still valid structured data, but it is worth knowing what to expect before investing effort in it.

Tip 01

HowTo

Google stopped showing HowTo rich results in 2023.

Tip 02

FAQ

Since 2023, FAQ rich results appear mainly for well-known government and health sites.

Tip 03

Product Variants

Product markup now distinguishes product snippets from merchant listings.

Tip 04

Still Useful

Retired features’ markup still describes the page for other consumers.

Tip 05

Check the Docs

Google’s Search Gallery lists which features currently show.

JSON-LD Keywords, Briefly

JSON-LD looks like ordinary JSON, but a few keywords starting with @ give it meaning. Knowing what each one does makes it much easier to read markup written by a plugin, a theme or another developer, and to spot why something isn’t being picked up.

@context

Says which vocabulary the names come from; for search engines that is https://schema.org.

@type

The kind of thing described, such as Product or Event. It can be a list of several types.

@id

A unique identifier, often a URL with a fragment, that other entities can point to.

@graph

A list of separate entities in one block, typical of SEO plugins and site builders.

Nesting

An object inside a property, like an author inside an Article, describes a related entity in place.

References

Instead of nesting, a property can hold just an @id that points at an entity elsewhere in the graph.

Testing Structured Data End to End

A quick offline check catches most mistakes, but search engines have the final say on what appears. These are the steps worth taking, in order, before and after structured data goes live on a site.

Tip 01

Check Offline First

Paste the markup here while you write it, before anything is deployed.

Tip 02

Rich Results Test

Google’s test renders a live URL or code and lists eligible features.

Tip 03

Schema Markup Validator

validator.schema.org checks markup against the full schema.org vocabulary.

Tip 04

URL Inspection

Search Console shows the structured data Google found when it last crawled the page.

Tip 05

Enhancement Reports

Search Console reports errors and warnings for each feature across the whole site.

When to Use a JSON-LD Previewer

Whenever structured data is added, changed or inherited from a theme or plugin, and you want to know what search engines will read before you publish.

Template Changes

Check a product or article template after editing it.

Plugin Audits

See what an SEO plugin or theme outputs on a page.

Client Audits

Paste a competitor’s or client’s page source and outline it.

Debugging Search Console

Find the missing property behind an error report.

Writing by Hand

Draft JSON-LD and check it as you type.

Structured Data Pitfalls

Mistakes that stop rich results from appearing, most of which are invisible on the page itself and only show up in tools like this one.

Tip 01

Markup That Doesn’t Match the Page

Structured data must describe what visitors can see. Hidden prices or reviews break Google’s rules.

Tip 02

Trailing Commas

One stray comma makes the whole block invalid JSON.

Tip 03

Duplicate Entities

Two plugins writing the same Product confuse search engines.

Tip 04

Relative Image Paths

Images need full https:// addresses.

Tip 05

Wrong Date Format

Human-readable dates are ignored. Use ISO 8601.

Tip 06

Missing Required Fields

A rich result needs every required property, not most of them.

Frequently Asked Questions