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.
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.
Paste JSON-LD or HTML
A block, an @graph or a page’s full source.
Read the Outline
Confirm every entity and its nested types are there.
Fix Problems First
Required properties decide whether a rich result can show.
Add Suggestions
Recommended properties make the result richer.
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.
“{ "@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" } ] } ] }”
“{ "@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" } ] } ] }”
“<!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>”
“<!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>”
“{ "@type": "Event", "name": "Harbour Lights Festival", "startDate": "Oct 31, 2026", "image": "/img/festival.jpg" }”
“{ "@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" } }”
“{ "@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?" } ] }”
“{ "@context": "https://schema.org", "@type": "JobPosting", "title": "Frontend Engineer", "description": "Build our storefront.", "datePosted": "2026-10-20", "hiringOrganization": { "@type": "Organization", "name": "Harbour Goods" } }”
“{ "@context": "https://schema.org", "@type": "HowTo", "name": "How to polish brass", "step": [ { "@type": "HowToStep", "text": "Mix the paste." } ] }”
“{ "@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" }”
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.
Product
name, plus one of offers, review or aggregateRating.
“What else does a product need besides a name?”
Article
Nothing strictly required; headline, image, dates and author are recommended.
“Does an Article have required properties?”
Event
name, startDate and location.
“Which three properties are required?”
Recipe
name and image.
“What must a recipe include?”
FAQPage
mainEntity, with each Question’s name and acceptedAnswer text.
“Where do the questions go?”
BreadcrumbList
itemListElement, each ListItem with a position and a name.
“What does each crumb need?”
JobPosting
title, description, datePosted, hiringOrganization and a location.
“What can replace jobLocation for remote jobs?”
VideoObject
name, thumbnailUrl and uploadDate.
“Which date does a video need?”
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.
HowTo
Google stopped showing HowTo rich results in 2023.
FAQ
Since 2023, FAQ rich results appear mainly for well-known government and health sites.
Product Variants
Product markup now distinguishes product snippets from merchant listings.
Still Useful
Retired features’ markup still describes the page for other consumers.
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.
Check Offline First
Paste the markup here while you write it, before anything is deployed.
Rich Results Test
Google’s test renders a live URL or code and lists eligible features.
Schema Markup Validator
validator.schema.org checks markup against the full schema.org vocabulary.
URL Inspection
Search Console shows the structured data Google found when it last crawled the page.
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.
Markup That Doesn’t Match the Page
Structured data must describe what visitors can see. Hidden prices or reviews break Google’s rules.
Trailing Commas
One stray comma makes the whole block invalid JSON.
Duplicate Entities
Two plugins writing the same Product confuse search engines.
Relative Image Paths
Images need full https:// addresses.
Wrong Date Format
Human-readable dates are ignored. Use ISO 8601.
Missing Required Fields
A rich result needs every required property, not most of them.