Skip to content
SEO Madmanby Adam Hafez
Free tool

JSON-LD syntax and required-field validator

Paste a JSON-LD block and get real syntax errors with line numbers, plus a check against the properties Google actually requires for that schema type.

Runs entirely in your browser. Nothing you enter is uploaded, logged or stored.

Nothing you paste here is sent anywhere; it is parsed in your browser only.

    Key takeaways

    • A JSON syntax error is reported with its exact line and column instead of a generic parse failure.
    • Google states no properties are strictly required for Article or Organization, only recommended ones.
    • FAQPage and HowTo no longer earn a rich result in Google Search even when the markup is valid.
    • Every required and recommended property list here comes from Google's own structured data documentation, not from the schema.org specification.

    What it takes

    • A pasted JSON-LD block, edited directly in the textarea

    More tools

    All of them free, all of them browser-only.

    Browse the tools

    How to use it

    1. 1Paste the JSON-LD blockCopy the contents of the script tag with type="application/ld+json" from the page, not the surrounding HTML.
    2. 2Fix syntax errors firstA missing comma or an unquoted key stops JSON.parse before any structural check can run; the line and column shown point at the failure.
    3. 3Check the detected typeThe validator reads @context and @type from the object and looks up that type in its property table. An unsupported type is named as such rather than silently skipped.
    4. 4Read the property list against the page it describesA property marked missing only matters if the live page actually has that content; do not add a property whose value the page does not show.
    5. 5Treat FAQPage and HowTo results as informationalBoth are flagged as no longer eligible for a Google rich result, so a clean pass on either confirms valid markup, not search visibility.

    What this checks

    The validator runs two passes. The first is a strict JSON.parse of whatever is in the textarea; a syntax error is shown with the line and column JSON.parse reports, rather than a bare “Unexpected token” with no location. The second pass only runs on valid JSON: it looks for @context and warns if it is missing or not schema.org, looks for @type, and if that type is one of the seven this tool covers, lists which of Google’s documented properties for that type are present and which are missing.

    The required and recommended property lists come from Google’s structured data documentation pages, fetched directly for this build rather than recalled from memory or copied from the schema.org spec, which is broader than what Google actually rewards. Product, BreadcrumbList and Recipe carry genuine required properties; Article and Organization do not, by Google’s own statement, so a missing recommended property is shown as a warning rather than a failure.

    What this cannot check

    Structural validity is not the same as search eligibility. The tool cannot see the live page, so it cannot confirm that a headline matches the visible heading, that a datePublished is accurate, or that an aggregateRating reflects reviews a visitor can actually find. Markup that asserts something the page does not show is a policy violation regardless of how clean the property list looks here.

    Two of the seven types are flagged rather than passed cleanly: Google removed the FAQ rich result from Search on 7 May 2026 and the HowTo rich result in September 2023. Both remain valid schema.org types and this tool still checks their structure, but neither produces a rich result in Google Search any more, and the validator says so directly instead of implying otherwise.

    Using the result

    Fix syntax errors before reading anything else; a broken parse means every downstream check is skipped. Once the JSON is valid, treat a “missing (required)” line as something to fix before shipping the block, and a “missing (recommended)” line as a judgment call tied to what the page actually contains. Confirm the final result with Google’s Rich Results Test on the live URL, since that tool also checks eligibility rules this one does not attempt to replicate.

    Sources

    1. 1.Understand how structured data works - Google Search CentralPrimary
    2. 2.Article, NewsArticle, BlogPosting structured data - Google Search Central
    3. 3.Product snippet structured data - Google Search Central

    Frequently asked questions

    Does a clean result mean the page is eligible for a rich result?

    It means the pasted block is syntactically valid and carries the properties Google documents for that type. Eligibility also depends on site policies, content quality and, for FAQPage and HowTo, a rich result that no longer exists at all.

    Why does Article show nothing as strictly required?

    Because Google's own documentation says so. Article lists headline, image, author, datePublished and dateModified as recommended, not required, so the validator marks a missing one as a warning rather than a failure.

    Which types does this check today?

    Article, Product, FAQPage, HowTo, Organization, BreadcrumbList and Recipe. Pasting a different @type still gets the syntax and @context checks, with a note that no property table exists for it yet.

    Tools

    Breadcrumb schema generator

    Build a valid BreadcrumbList JSON-LD trail from a repeatable list of page names and URLs, checked against Google's own documented structure.