schema markup generator

Structured data
you can point at a source

Fill in what you already know about your page and copy out a JSON-LD block. Every property is marked with what Google’s own document says about it, and the document is linked and dated beside the form. It runs in your browser — nothing you type is sent anywhere.

what this does not do

This writes markup. It does not check that any of it is true. Nothing you type here is fetched, looked up or compared against anything — the tool can tell that an address field is empty, and it cannot tell whether the address in it is yours, or real. What goes in the block is what you typed.

Pasting this into your page does not produce a rich result. Markup makes a result possible; it does not make it happen, and the rest of what decides it is not published. Google says so itself:

“Google does not guarantee that your structured data will show up in search results, even if your page is marked up correctly according to the Rich Results Test.”

What is this page about?

One block per page. Pick the thing the page is mainly about — the others are further down.

What goes in the block

Leave anything blank that you are not sure of. A property you omit is a property nobody can get wrong; a property you guess at is in your page telling a crawler something you made up.

Our rule, not Google’s

Recommended

Recommended

Recommended

Recommended

Recommended

Recommended

the block

Paste this into your page

Nothing yet. The block appears here as soon as the fields this type cannot do without have something in them.

Still blank: Name.

Where every requirement above comes from

A property is marked required here only where a vendor’s own document says so. Two of the four types below say, in as many words, that nothing is required — which is not what the asterisks on other generators of this kind suggest. The sentence is quoted rather than summarised, so you can check it says what we say it says.

All four documents read 2026-08-26.

Types this tool will not write, and why

Four types, not a menu of thirty. Each one left out was left out for a reason, and the reasons are worth more than the coverage.

Product
The result people want from it needs a price, a review or a star rating to be eligible at all — and a form with a rating box in it is a machine for inventing reviews. Nothing in this tool can measure a rating, and neither can your page. Shipping it without those fields would hand you a valid block that cannot produce the thing you came for, which is a disappointment wearing a feature’s clothes.
FAQPage
Structured data that promises answers a page does not display is a manual-action risk. This site already refuses to emit an FAQ block for its own pages that show no FAQ. A generator would be handing that block to somebody whose page it cannot see.
Event, Recipe, JobPosting
Each is built from facts with an expiry — a date, a price, a closing date. A block you paste once and never open again is the wrong instrument for those, and stale markup is worse than none.

Questions

Does this check the markup my page already has?

No, and the distinction matters. It writes a JSON-LD block from what you type and verifies nothing: it runs in your browser and never fetches your page. Finding out what your page already publishes is a different job from generating something to add to it.

Where do the requirements beside each property come from?

Google’s own documentation. Every property says what that document asks of it and links the document with the date it was read, so a requirement that has since changed can be checked against its source rather than taken on trust from us.