Schema Markup Generator
Runs in your browser — your data is never uploaded.
Build JSON-LD structured data for the five types people fill in by hand — Organization, LocalBusiness, Person, Article and Product. Empty fields are left out rather than emitted as empty strings, because "author": "" is not a missing value to a validator, it is a claim that the page has no author. The output flags the properties Google needs before it will show a rich result.
How to use Schema Markup Generator
- 1
Pick the type that matches what the page is actually about.
- 2
Fill in the name and whichever other fields apply — blank ones are omitted.
- 3
Click “Generate”, paste the script tag into your page, then check it in Google’s Rich Results Test.
Share
Embed this tool on your site
Paste this where you want the tool to appear. It runs entirely in your visitor's browser — no uploads, no account, no tracking.
Please keep the attribution line — it's what keeps these tools free.
Need a different size, a dark theme, or a different tool? Build an embed lets you preview it first.
Frequently asked questions
Where do I put the script tag?+
Anywhere in the document — head or body. That position-independence is the main reason to use JSON-LD rather than microdata: the markup is one self-contained block instead of attributes threaded through your HTML, so changing the layout cannot break it.
Will this get me a rich result?+
Valid markup is necessary, not sufficient. Google decides whether to show a rich result based on the type, the quality of the page and its own judgement, and it changes which types are eligible over time. Test with the Rich Results Test rather than a generic schema.org validator — the two disagree, and only one of them reflects what Google will do.
Can I mark up something the page does not show?+
No. Structured data has to describe content a visitor can actually see. Marking up a price, a review score or an author that appears nowhere on the page is a violation of Google’s spam policies and is one of the more commonly issued manual actions — it is not a shortcut, it is a risk.
How should I write the address?+
Comma-separated in this order: street, city, region or state, postal code, country. The parser is positional, so leaving a gap shifts everything after it — an address that validates cleanly while claiming your postcode is a country is worse than none at all.