Schema Markup Generator
Build valid Article, Organization, Product, FAQ and Breadcrumb JSON-LD — or validate what you already ship.
Runs entirely in your browser — nothing you paste is uploaded.
About Schema Markup Generator
Structured data is how a page tells a machine what it is rather than what it says. An answer engine that can read `@type: Article` with a headline, an author and a date has an entity to attribute; one that finds nothing has to guess from prose, and guessing engines cite less. This tool builds that markup from a form and hands you a `<script type="application/ld+json">` block to paste into your head.
Five types cover most of what a normal site needs: Article for anything written, Organization for the entity behind the site, Product for anything sold, FAQPage for a question-and-answer block, and BreadcrumbList for hierarchy. Each form separates required properties from recommended ones, because a technically valid Article with no author is still a weak signal.
The second mode goes the other way. Paste JSON-LD you already ship and get a property-by-property report — what's required and missing, what's recommended and absent, what type it resolved to. Errors name the property: 'Article is missing headline' is actionable, 'invalid' is not.
The property tables are local. There is no request to a validation service, no round-trip to schema.org, and nothing you paste leaves the tab — consistent with every other browser tool here, and useful when the markup you're checking is for an unreleased page.
Frequently asked
›JSON-LD, Microdata or RDFa?
JSON-LD. Google recommends it explicitly, it sits in one block in the head instead of being threaded through your markup, and it survives template refactors that would break inline attributes. This tool emits JSON-LD only.
›Does adding schema markup guarantee a rich result?
No. Valid markup makes you eligible for rich results and gives engines a clean entity to attribute; whether they show one is their call and depends on quality signals you don't control. Anyone promising a guaranteed rich result is selling something.
›What does FAQPage markup actually require?
A `mainEntity` array of `Question` objects, each with a `name` and an `acceptedAnswer` of type `Answer` carrying a `text`. The answer text has to match what's visible on the page — markup that answers a question the page doesn't is the fastest way to lose the feature entirely.
›Can I put more than one type on a page?
Yes, and you usually should. The clean pattern is a single `@graph` array holding your Organization, your WebSite and the page's main entity, so the nodes can reference each other by `@id` instead of repeating themselves.
›Where do I paste the output?
Anywhere in the document — head or body, both are valid. Head is conventional. If your framework has a metadata API, prefer that over a raw script tag so the block gets server-rendered rather than injected after hydration, where a crawler won't see it.