Skip to content
GigAI Tools

JSON-LD Validator. Check Structured Data for Rich Results

Paste a JSON-LD script tag or object and get an instant, honest audit: is the JSON valid, is there a @type and @context, and does every node carry the required and recommended properties Google needs for rich results? Scored, prioritised and re-formatted, entirely in your browser.

100% browser processingFree · no sign-up

What is the json-ld validator?

The JSON-LD Validator parses a pasted script tag or object, pinpointing syntax errors, then walks every node and @graph to detect each @type and check schema.org's required and recommended properties. Findings return as pass/warn/fail with a 0–100 score and re-formatted output. Free and local, so competitor snippets and drafts stay private.

The GigAI JSON-LD Validator takes the structured data you already have, a `<script type="application/ld+json">` block copied from a live page, a snippet from your CMS, or a raw object from a build step, and turns it into a clear, prioritised report card. It first parses the JSON with the browser's own engine and, if that fails, points to the exact syntax problem (a trailing comma, an unescaped quote, a stray `<script>` wrapper) so you can fix it in seconds. Once the JSON is valid it walks the whole tree, including nested nodes and `@graph` arrays, detects every `@type` it finds, and checks each against schema.org's required and recommended property sets: a missing required property (an Article with no headline, a Product with no name, an Event with no startDate) is reported as an error that disqualifies the rich result, while a missing recommended one (a Product without an image, an Organization without a logo) is a warning that weakens eligibility without breaking validity. It also flags the two mistakes that silently kill markup, a missing `@type` and a missing `@context`, and confirms when a node is fully valid. Every finding comes back as pass, warning or fail with a plain-English fix, rolled up into a 0–100 score and letter grade so you know at a glance whether the markup is ship-ready. Because it accepts a full script tag, an array of objects, or a bare object, and strips the wrapper for you, you can paste straight from View Source. And since it re-serialises your data into clean, indented JSON, it doubles as a JSON-LD formatter. Everything runs locally on the markup you paste (staging pages, competitor snippets you copied, or unpublished data) and none of it ever leaves your machine.

Difficulty:
Easy
Typical time:
~30s
Processing:
100% browser processing

Last updated

How to use the json-ld validator

  1. 1

    Copy your JSON-LD

    Grab the `<script type="application/ld+json">` block from your page's source (View Source or DevTools), or copy the raw object from your CMS or build output.

  2. 2

    Paste it into the validator

    Paste the script tag or object into the input: the wrapper is stripped automatically. Load the built-in sample first if you want to see a validated example.

  3. 3

    Read the scored report

    Review the checks: green passes, warnings for missing recommended properties, and red errors for invalid JSON or missing required properties. Each has a plain-English fix.

  4. 4

    Fix, copy the clean JSON & re-check

    Correct the flagged issues, copy or download the re-formatted JSON, and paste it back to confirm the score climbs to a clean pass.

  5. 5

    Confirm with Google's Rich Results Test

    This is a pragmatic required/recommended linter: run the same markup through Google's Rich Results Test to confirm Google-specific eligibility before publishing.

What JSON-LD Validator includes

  • Per-type required & recommended checks

    Every node's @type is validated against schema.org's required (error) and recommended (warning) property sets for Article, FAQPage, Product, Organization, LocalBusiness, Event, Breadcrumb, Video, Recipe, Person, Review and Software.

  • Precise JSON parse errors

    Invalid JSON surfaces the exact message from the browser's parser (trailing commas, unescaped quotes, single quotes) so you fix the real problem instead of guessing.

  • Accepts script tags & @graph

    Paste a full <script type="application/ld+json"> block, a bare object, or an array / @graph of nodes. The wrapper is stripped and every node is walked, including nested ones.

  • Re-formats as clean JSON

    Once valid, your markup is re-serialised into tidy, 2-space-indented JSON you can copy or download, so the validator doubles as a JSON-LD beautifier.

  • 0–100 score & letter grade

    Errors and warnings roll up into a single score and grade with pass/warn/fail counts, so you know at a glance whether the structured data is ready to ship.

  • 100% in your browser

    Parsing and validation use the browser's native JSON engine on your device. Prices, author names and business data in your markup are never uploaded, stored or logged.

Why use our json-ld validator

Catch the errors that silently disqualify rich results

A missing headline, a Product with no name, a missing @type: small omissions cost you the FAQ accordion, star rating or breadcrumb. The validator flags them before they cost you the enhancement.

Fix broken JSON without hunting through braces

Structured data often breaks on a trailing comma or an unescaped quote pasted from a CMS. The exact parser message points you straight to the character that broke it.

Audit any markup, even before it's live

Because it works on what you paste, you can validate a competitor's snippet from View Source, a staging page behind auth, or a build-step template you haven't deployed yet.

Safe for private and unpublished data

Everything runs locally, so JSON-LD containing unpublished prices, internal event details or personal author information can be checked without any of it leaving your machine.

Built for the way you work

From quick one-off fixes to daily workflows, see how people put this tool to use.

  • SEO specialist

    Audit structured data during a site review

    Paste the JSON-LD from each template page to confirm the @type is right and no required property is missing before you sign off on a rich-results rollout.

  • Developer

    Lint markup emitted by a build step

    Drop the JSON your framework or CMS generates into the validator to catch bad JSON, a missing @context, or a dropped required field before it ships to production.

  • E-commerce manager

    Verify Product & Offer markup

    Check that Product nodes carry a name, image and a valid Offer with price and currency so listings stay eligible for price and review rich results.

  • Content team

    Validate FAQ & Article schema on posts

    Confirm FAQPage question/answer pairs and Article headline, author and dates are present so posts qualify for FAQ and enhanced-article treatments.

Supported formats

Accepts JSON-LD, JSON and HTML, and produces Report and JSON, all processed locally in your browser.

Input formats
  • JSON-LD
  • JSON
  • HTML
Output formats
  • Report
  • JSON

Frequently asked questions

Common problems, solved

Hit a snag? Here are quick fixes for the issues people run into most.

  • It says "Invalid JSON" but my markup looks fine.

    The most common causes are a trailing comma after the last property, curly “smart quotes” pasted from a document instead of straight quotes, single quotes instead of double quotes, or a stray character before the opening brace. The error message names the position: fix that character and re-check.

  • A required property is flagged even though I set it.

    Check spelling and case: schema.org property names are case-sensitive (`startDate`, not `startdate`). An empty string, null, or empty array also counts as missing. Give the property a real value.

  • My nested type shows a warning I didn't expect.

    The validator walks nested nodes too, so an Offer inside a Product or an AggregateRating is checked on its own required/recommended set. Add the flagged property to that inner node, not just the outer one.

  • This passes but Google's test still reports an issue.

    This is a required/recommended linter, not a full schema.org shape validator, and Google layers its own eligibility rules on top of valid JSON-LD. Always confirm with Google's Rich Results Test before publishing.

Get the most out of it

  • Paste the whole `<script type="application/ld+json">` tag straight from View Source. The wrapper is stripped for you, so there's no need to trim it by hand.

  • One page can carry several blocks: validate each Organization, BreadcrumbList and Article node separately, or paste them as an array / @graph and the validator checks each.

  • Only mark up content that's actually visible on the page, valid markup that describes hidden content can still trigger a manual action in Search Console.

  • Use the re-formatted output as a formatter: paste minified JSON-LD and copy back the clean, indented version for your codebase.

  • A clean pass here is necessary but not sufficient: always finish with Google's Rich Results Test, which adds Google-specific eligibility checks.

What's new

Recent updates and improvements to the json-ld validator.

  1. Initial release. Paste a script tag or object to validate JSON syntax, @context/@type, and per-type required/recommended properties, with a 0–100 score, grouped checks, plain-English fixes and a re-formatted JSON copy.

  2. Added automatic stripping of the <script type="application/ld+json"> wrapper, support for arrays and @graph of multiple nodes, and per-node type detection with a summary strip.

  3. Refined error messages for common JSON mistakes (trailing commas, smart quotes), added copy/download of the re-formatted output, and a link to Google's Rich Results Test for final confirmation.

Your privacy is built in

Your JSON-LD is parsed and validated entirely in your browser using its native JSON engine. Nothing is uploaded to any server. No prices, author names, event details or organization data in your markup are stored, logged or transmitted, so you can safely validate structured data containing private or unpublished information. Close the tab and every trace is gone.

  • Runs in your browser
  • No uploads
  • Nothing stored

Ready to try the json-ld validator?

Free, private and instant. JSON-LD Validator runs right in your browser.