Free tool · No sign-up

Validate JSON-LD. See Rich Results eligibility.

Paste a URL or raw JSON-LD. We parse every block, check required and recommended fields against Schema.org, and tell you whether Google will give you a rich result.

Only submit URLs you are allowed to check. Linkraft analyzes publicly available page metadata and may store limited scan data to operate and improve the tools.

Try
WHAT IS JSON-LD

Structured data, written as a JSON island in your HTML

JSON-LD (JavaScript Object Notation for Linked Data) is the way Google recommends you tell search engines what your page is about in machine-readable form. You add a <script type="application/ld+json"> block to your <head> with a JSON object describing the page.

When a search engine finds valid structured data for a supported type — like Article, Product, Recipe, or BreadcrumbList — it can render a Rich Result: review stars, prices, event dates, and clickable breadcrumbs in the search results.

RICH RESULTS

The types Google actually shows differently in search

Not every Schema.org type unlocks visual changes in search. The currently-supported Rich Result types include:

  • Article / NewsArticle / BlogPosting — eligible for Top Stories carousels.
  • Product — price snippet, review stars, availability.
  • BreadcrumbList — replaces URL in search results with a breadcrumb.
  • Recipe — image, time, rating in a card.
  • Event — carousel with date, location, and ticket link.
  • LocalBusiness — Google Business Profile cards.
  • Organization — Knowledge Panel logo and social links.
  • VideoObject — thumbnail and duration on the result.
  • Q&A (QAPage) — accepted-answer snippet on community pages.
  • ProfilePage — author/creator profile details in results.
  • Review — review stars next to your snippet.
COMMON BUGS

The mistakes that quietly break structured data

  1. Trailing commas / single quotes — JSON-LD is strict JSON. A trailing comma after the last field breaks the whole block.
  2. Missing @context — without "@context": "https://schema.org" Google won't recognize the vocabulary.
  3. Wrong @type spelling — Schema.org is case-sensitive (Product not product; BreadcrumbList not Breadcrumb).
  4. String instead of nested objectauthor: "Jane" is invalid; should be author: { "@type": "Person", "name": "Jane" }.
  5. HTML in fields — strip HTML before putting text into headline, description, etc.
  6. Drift between markup and visible content — Google penalizes JSON-LD that doesn't match the visible page (e.g., advertising 5★ reviews not shown on the page).
AT SCALE

Templates that stay correct as your data changes

Hand-writing JSON-LD for one Product page is easy. Doing it for ten thousand product pages — and keeping it correct when the database schema changes, when titles get edited, when SKUs are added — is the painful part.

That's what Linkraft is for: define a JSON-LD template per URL pattern, bind fields to your page data, and Linkraft keeps every matching page valid.

Fix this across every route

The checker is free today. Join the waitlist for the full Linkraft platform — route-level fixes, monitoring, reports, and client-ready workflows.

By joining the waitlist, you agree to receive launch updates from Linkraft. You can unsubscribe at any time.

No spam. Just launch updates and useful resources about metadata, schema, and link previews.