Free Schema Markup Generator

Pick a schema type, give it a page URL or describe your business, and get JSON-LD you can paste straight into your site. It reads your actual page and fills in what it can confirm from it. Anything it cannot confirm is left out and listed, so you know what to add yourself rather than publishing a guess. No signup, nothing stored.


Which schema type your page needs

Five types are supported, and picking the right one is most of the job.

Organization - your company as an entity. Add it once, sitewide, on every page. It is what a knowledge panel is built from.

LocalBusiness - use instead of Organization if you have a physical address customers visit. It carries hours, address and phone. Do not use both.

Product - one per product page. Needs a name, and an offers block with price and currency.

Article - one per blog post or news piece. Needs a headline, an image and a publication date.

FAQPage - only on a page that genuinely shows questions and answers to a visitor. Not a page where you wish there were some.

The rule that catches most mistakes: the type has to describe what the page IS. A blog post about a product is an Article, not a Product. A category page listing twelve products is neither - it is a CollectionPage, and it usually needs no markup at all.

From a URL, or from a description

URL mode reads the page you point it at and pulls what it can find - the title, the description, headings, prices, addresses. Use it when the page already exists. It reads the server-rendered HTML, so if your content is injected by JavaScript after load, it will not see it.

Describe-manually mode takes a plain-English description instead. Use it when the page is not built yet, when the content is behind a login, or when the page renders client-side.

URL mode gives better results when it works, because it is reading facts rather than being told them.

Why this generator leaves fields blank

Most free schema generators are forms. You type a rating into a box, it puts the rating in the markup, and it never asks whether that rating exists on your page. That is how sites end up publishing structured data that describes a page they do not have.

This one works the other way round. It only emits a field it can actually confirm from your source, and everything it drops comes back in a list so you can fill it in deliberately if you know the answer.

The reason is not fussiness. Structured data that describes things not on the page is a policy violation, not a technical error - and unlike a broken field, which Google simply ignores, this is the category that can earn a manual action. A blank field costs you an enhancement. An invented one can cost you the page.

So when the output comes back thinner than you expected, that is the tool working. Fill the gaps in on the page first, then generate again.

Where to paste the JSON-LD

It goes in a script tag with type application/ld+json. It can live in the head or the body - Google reads both. The head is conventional.

WordPress: use your SEO plugin’s schema or custom-code field. Yoast and RankMath both emit their own Organization graph, so check what is already there before adding a second one.

Shopify: theme.liquid for sitewide markup, or the product template for per-product blocks.

Webflow: Project Settings, Custom Code for sitewide; Page Settings, Custom Code for one page.

Framer: Site Settings, General, Custom Code for sitewide; the page’s own settings for one page.

Raw HTML: paste it before the closing head tag.

Required and recommended fields

Required means the block is discarded without it. Google parses the markup, cannot find the property, and throws the whole thing away - you get nothing, not a partial result.

Recommended means it works but earns less. aggregateRating and review on a Product are recommended, and they are also what puts stars on a search result, so recommended does not mean unimportant.

Generate first, then run the output through the Schema Markup Validator before you publish. The generator tells you what it left out; the validator tells you whether what remains is complete.

Schema and AI search

Google retired the FAQ rich result for most sites on 7 May 2026, and a lot of people concluded structured data mattered less. The opposite happened.

Assistants like ChatGPT, Perplexity and Gemini read structured data directly. It is the cleanest, least ambiguous statement of what your business is, what you sell and what it costs - no layout to interpret, no navigation to strip out. When an assistant is deciding which three companies to name in an answer, an entity it can parse confidently is easier to cite than one it has to infer from prose.

So the argument for schema has shifted rather than weakened. It used to be about how your result looked in Google. Now it is also about whether you exist as a fact an assistant is willing to repeat. See how Zaprev’s generative engine optimization services work, or pair this with the llms.txt generator to cover the other file language models read.

Have questions and answers already written? The FAQ schema generator is a faster, more exact way to produce FAQPage markup than this general-purpose generator.

FAQ

Frequently Asked Questions

Where do I put the generated code?

In a script tag with type application/ld+json, in the head or the body of the page it describes. Most CMSs have a custom-code field for exactly this.

Why did it leave fields out?

Because it could not confirm them from your page. Guessed structured data is worse than absent structured data - it can trigger a manual action. Anything left out is listed so you can fill it in yourself if you know the answer.

Do I need schema on every page?

Organization or LocalBusiness once, sitewide. Then one page-type schema where it applies - Product on product pages, Article on posts. Pages that are neither need nothing beyond the sitewide block.

Is JSON-LD better than microdata?

Yes, for almost everyone. Google recommends it, it lives in one block instead of being scattered through your HTML, and it survives a redesign because it is not tangled up in your markup.

Will FAQPage schema still get me rich results?

No. Google retired the FAQ rich result for most sites on 7 May 2026. It is still worth adding, because AI assistants read structured data directly and a clean question-and-answer block is the easiest thing for them to quote.

Does the generator work if my page is behind JavaScript?

It reads the server-rendered HTML. If your content only appears after JavaScript runs, use the describe-manually mode instead.