Structured Data / JSON-LD Studio

Build JSON-LD for 13 common types with forms that separate required from recommended fields, then copy it. Paste JSON-LD or HTML to extract every script, @graph and array and see problems from the exact line of a syntax error to missing Google rich result requirements. It is not Google’s official tool.

On-device・No upload

Your files and input are processed only inside your browser on this device and are never uploaded to our servers.

How to use

  1. In “Create”, pick a type (Article, Product, Event …) and fill in the form. The Required / Recommended / Optional labels follow Google’s documentation.

  2. Choose a time zone; it is added to date-times typed without one. Watch the output and validation on the right and fill in what is missing.

  3. Press “Copy with <script>” and paste the result into the <head> or <body> of your page.

  4. To check an existing page, paste JSON-LD or the page’s HTML source into “Validate”, or open a file.

  5. Work through errors first, then warnings, using the path and reason shown. Confirm with Google’s Rich Results Test before publishing.

What it does

Forms for 13 types

Article / NewsArticle / BlogPosting, Product (Offer, AggregateRating, Review), FAQPage, HowTo, BreadcrumbList, Organization, LocalBusiness (opening hours), Event, Recipe, VideoObject, JobPosting, SoftwareApplication and WebSite. Every field is labelled required, recommended or optional.

Syntax errors with positions

A purpose-built parser finds commas, comments, quotes, line breaks and truncated text, and reports the original line and column even inside pasted HTML. Duplicate keys and a BOM are flagged too.

Type and format checks

ISO 8601 date-times (impossible dates, missing time zone), durations, URLs (relative paths, spaces), ISO 4217 currencies, numbers written as strings, rating ranges and enumerations such as availability.

Retired features called out

Google no longer shows FAQ rich results (since 2026-05-07), HowTo (since September 2023) or the WebSite sitelinks search box (since November 2024). Markup for them gets a warning saying so.

Safe HTML parsing

Pasted HTML is loaded with DOMParser as an inert document, so scripts never run. In the generated JSON-LD, </script> and <!-- are escaped automatically.

Use cases

  • Produce correctly formed JSON-LD for articles, products or jobs without writing it by hand
  • Check delivered HTML for wrong dates, URLs, currencies or missing required properties
  • Find the line and column where a JSON-LD block stops being valid JSON
  • Review pages with several scripts or an @graph, block by block
  • See what is inside Microdata or RDFa markup at a glance

Supported formats

Input

JSON-LD (paste or .json / .jsonld)HTML (paste or .html / .htm)

Capability matrix

FeatureSupportNotes
Create and copy JSON-LD for 13 types (with <script> or JSON only)Supported—
Syntax errors with line and column and the reasonSupported—
Extract and validate multiple JSON-LD scripts, @graph and arrays in HTMLSupported—
Required / recommended properties, types, dates, URLs and currenciesSupportedOnly for the types and properties in this tool’s rule table
Microdata and RDFaPartialExtracted and listed only, not validated
Validation of every schema.org type and propertyNot supportedTypes outside the rule table are shown as “not checked”
Same verdicts as Google’s official tool (Rich Results Test)Not supported—
Any guarantee that a rich result will appear in searchNot supportedGoogle decides what is shown
Fetch a page by URL and validate itNot supportedPaste the source or open a file
Search result previewNot supportedNot offered: it could differ from the real result and mislead

Limits & notes

  • The rules are an excerpt based on schema.org 30.1 (released 2026-09-16) and Google Search Central documentation read on 2026-10-11. They go stale if Google changes its guidelines.
  • Pasted text up to 5,000,000 characters, files up to 5 MB. Up to 200 JSON-LD blocks, 300 findings per block, and Microdata / RDFa up to 300 nodes and 8 levels deep. JSON nesting is limited to 100 levels.
  • “Required” and “recommended” are Google’s categories. schema.org itself has no required properties, and Google does not list every property.
  • Rules for some types are simplified; recommendations for nested Organization, Place and PostalAddress objects are not reported unless they are the main entity.
  • Expiry checks (priceValidUntil, validThrough) use your browser’s current time.

Privacy & safety

What you type, paste or open is processed only in your browser and is never sent to or stored on a server. Scripts are not executed and no external resources are loaded.

FAQ

Can this replace Google’s Rich Results Test?
No. It is not Google’s tool, only a quick check based on public documentation, and its findings can differ from Google’s verdict. Also run the Rich Results Test or the schema.org Schema Markup Validator before publishing.
Should I still add FAQ or HowTo markup?
Google has not shown FAQ rich results since 2026-05-07 or HowTo since September 2023. The markup is still valid schema.org, but expect no visual change in Google Search. You can still create and validate it here.
Do date-times need a time zone?
Google’s article documentation recommends including one; without it the time is interpreted in Googlebot’s time zone. This tool adds the time zone you choose to date-times you type without one, and leaves date-only fields alone.
Can the price contain ¥ or commas?
No. price must be a plain number (e.g. 1980 or 29.99) and the currency goes in priceCurrency as a 3-letter ISO 4217 code such as JPY or USD. Symbols, currency words and thousands separators are reported as errors.
How do I publish several structured data items on one page?
Use separate script elements, or put them in one script as an array under @graph. Validation extracts both and reports each block and node separately.
Is the HTML or text I paste sent anywhere?
No. Everything is processed in your browser and nothing is sent to a server. Scripts in pasted HTML are never executed.

Last updated: