Schema markup generator
Pick a type, fill in what you have, copy the JSON-LD. Everything here runs in your browser — nothing is sent to us, nothing needs an account, and the generator keeps working if our servers do not.
Choose a type
Status shown per typeIn progress
Not indexed yetThese generators work and produce valid markup. Their reference copy is unfinished, so the pages carry a noindex tag until it is done.
Which format should you use
Google supports JSON-LD, microdata and RDFa, and all three can work. JSON-LD is recommended for maintainability: it sits in one block in the head, separate from your markup, so a template change to the visible page cannot silently break it. Microdata is woven through the HTML, which makes it harder to keep correct over time — but a page using microdata is not doing anything wrong, and our checker reads all three equally.
Whichever you choose, use one. A page that carries the same entity in two formats gives consumers two descriptions of one thing, and that is usually a migration someone forgot to finish rather than a deliberate choice.
Where the markup goes
Into the page it describes. That sounds obvious, and the most common way it goes wrong is a tag manager container or a theme header that injects the same block site-wide — so every page claims to be that product, that business or that article.
Server-rendered markup is the more robust option where you have the choice. Markup injected by JavaScript can be processed, but it will not appear in the raw HTML response, which means some consumers will not see it and every debugging session starts one step harder.