How to use
In “Create”, pick a type (Article, Product, Event …) and fill in the form. The Required / Recommended / Optional labels follow Google’s documentation.
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.
Press “Copy with <script>” and paste the result into the <head> or <body> of your page.
To check an existing page, paste JSON-LD or the page’s HTML source into “Validate”, or open a file.
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
Capability matrix
| Feature | Support | Notes |
|---|---|---|
| Create and copy JSON-LD for 13 types (with <script> or JSON only) | Supported | — |
| Syntax errors with line and column and the reason | Supported | — |
| Extract and validate multiple JSON-LD scripts, @graph and arrays in HTML | Supported | — |
| Required / recommended properties, types, dates, URLs and currencies | Supported | Only for the types and properties in this tool’s rule table |
| Microdata and RDFa | Partial | Extracted and listed only, not validated |
| Validation of every schema.org type and property | Not supported | Types 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 search | Not supported | Google decides what is shown |
| Fetch a page by URL and validate it | Not supported | Paste the source or open a file |
| Search result preview | Not supported | Not 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?
Should I still add FAQ or HowTo markup?
Do date-times need a time zone?
Can the price contain ¥ or commas?
How do I publish several structured data items on one page?
Is the HTML or text I paste sent anywhere?
Related tools
robots.txt Tester
Paste a robots.txt to see instantly whether a URL is allowed or blocked for Googlebot or AI crawlers, and which line decided it. Misspellings and directives Google ignores are flagged too.
XML Sitemap Generator & Validator
Paste a list of URLs to create a correctly written sitemap.xml, or paste an existing sitemap to find the errors that stop Google from reading it — with line numbers.
HTML Inspector
Paste a page’s HTML to review SEO and accessibility basics at a glance: heading structure, meta tags, Open Graph, image alt text, links and structured data — with a preview of how it may look in search and on social media.
Last updated: