Fill in a short form, get clean JSON-LD you can paste straight into your page. Or paste markup you already have and find out what Google will complain about before it costs you a rich result.
Pick a type, fill what applies to your page, and copy the code. Fields marked * are the ones Google treats as required.
Google's tester can't be pre-filled from another site. Copy your code, open the test, switch to the Code tab, paste, and run it.
A visual mock of what this markup makes eligible for. Eligibility is not a guarantee — Google decides per query whether to show the enhanced result.
Paste JSON-LD (with or without the script tag) or an HTML block using microdata. The check runs on your device — nothing is uploaded.
Answer two questions. Most pages need one main type plus one or two supporting ones.
| Type | Use it on | Required properties |
|---|
Structured data is the part of SEO that is genuinely mechanical. Either the property is there and spelled the way schema.org spells it, or it isn't. Yet most people still write it by hand, miss datePublished, and wonder six weeks later why the review stars never showed up.
This page does two jobs. The generator turns a form into valid JSON-LD for the fourteen types that actually earn rich results in Google Search. The validator reads markup you already have and tells you which required property is missing, which date is in the wrong format, and which value still says "example.com" because it was copied from a tutorial.
Everything runs as JavaScript in your browser. No account, no upload, no server round trip, and no limit on how many times you use it. Close the tab and nothing is kept.
One thing this tool deliberately does not do: promise rankings. Schema makes a page eligible for an enhanced result. Google still decides, per query, whether to show it. Clean markup gets you into the room; it doesn't guarantee the seat.
Anywhere in the HTML of the page it describes — inside <head> is tidiest, but before the closing </body> works identically. On Blogger, open the post in HTML view and paste the whole <script type="application/ld+json"> block at the very top or bottom of the post body. On WordPress, use a custom HTML block or a header-insert plugin.
Google recommends JSON-LD and it is far easier to maintain, because the markup sits in one block instead of being sprinkled through your HTML attributes. Microdata still works and is still read; it just breaks more often when someone edits the template. This generator outputs JSON-LD only, and the validator accepts both.
Yes, and you often should. A recipe post can carry Recipe, BreadcrumbList, and Organization at once. Use separate script blocks, or one block with an @graph array. Just make sure each block describes something that is genuinely on the page.
Both, usually. This tool checks structure and Google's documented requirements. Google's Rich Results Test also renders your live page, so it catches things a code checker can't see: an image URL that 404s, a price that contradicts the visible page, markup blocked by robots.txt. Treat this page as the fast first pass and Google's test as the final word.
After Google recrawls the page, which can be days or weeks. You can speed up the recrawl by requesting indexing in Search Console. Then watch the Enhancements reports there — that is where real errors from live crawls turn up, not in any third-party tool.
Google narrowed FAQ rich results in 2023 to mainly government and health sites, so the expandable questions rarely show for ordinary pages now. The markup is still parsed and still helps machines understand the page, so it costs nothing to keep — just don't budget traffic against it.
No. There is no backend to store it in. The page is a single HTML file with inline JavaScript; every check happens locally and nothing leaves your device.