Tools

Schema Markup Generator

Structured data for the page types that earn rich results, with nothing filled in on your behalf.

Pick a page type, fill in what you can confirm, and take the JSON-LD away. Anything you leave blank stays out of the output.

Everything here is worked out in your browser. Nothing you type is sent anywhere, and there is no account to make.

One per line.

Recommended rather than required. Google needs the price; without a currency the offer still validates but a merchant listing will not.

All ten values schema.org defines. Left blank on purpose unless you know. Claiming stock you have not checked is a claim to Google, and it is one of the fastest routes to a manual action.

Only if the rating is visible on the page itself. Both this and the count are needed.

Result

Fill in the fields on the left. Nothing is generated until you do, and nothing is filled in on your behalf.

How the number is worked out

  • Nothing is filled in for you. Availability and ratings appear in the output only when you enter them, because a guess in structured data is a claim made to a search engine.
  • Structured data earns rich results and helps an engine place your entity. It is not a ranking factor by itself, and markup that describes something a visitor cannot see on the page is the most common cause of a structured data penalty.

What comes out

You will see

  • A JSON-LD block ready to paste into the page it describes
  • Five page types: product, article, FAQ, organization and breadcrumb
  • All ten availability values that schema.org defines, none of them preselected
  • A rating block only when you enter both the value and the count
  • A warning when a field a search engine expects is missing
  • A copy button and a download

How to use it

Three steps, and the third one is the point

  1. Choose the page type

    The fields change with it. A product asks for a price, an article asks for an author, and the breadcrumb asks for a trail.

  2. Fill in only what is on the page

    Structured data describes what a visitor can see. Markup that describes something absent from the page is the most common cause of a penalty.

  3. Paste it into the head of that page

    One block per page, describing that page. The same block on every page describes the wrong thing on all but one of them.

What schema markup does

Schema markup is a block of structured data that tells a search engine what the things on a page are: this string is a price, this one is a brand, this number is a rating out of five. Without it a crawler is reading a layout and inferring.

JSON-LD is the format to use. It sits in a script tag in the head, it is separate from the visible markup, and it does not break when someone redesigns the template.

What it earns is eligibility for richer results and a clearer link between your pages and the entity behind them. What it is not is a ranking factor on its own, and any tool implying otherwise is selling something.

The Schema Markup Generator result panel, first state
A product with a name, SKU, brand and price. No availability and no rating, because neither was entered.
The Schema Markup Generator result panel, second state
The same product after a stock value, a rating and a review count were typed in. Both blocks appear only now, and only because someone stated them.

The important part is what this one leaves out

Most generators fill the gaps. Availability defaults to InStock, a rating appears because the field existed, a currency is assumed from your language. Every one of those is a claim made to a search engine on your behalf.

Two of them were measured in this repository and removed. An unknown stock value was being written out as InStock, and an aggregate rating was being produced with no reviews behind it. Neither is only wrong data: both are the kind of claim that earns a manual action.

So nothing is filled in here. Availability offers all ten values schema.org defines and preselects none of them. A rating appears only when you enter both the value and the count. A blank field stays out of the output.

The tool

What this one does

  • Covers five page types

    Product, article, FAQ, organization and breadcrumb, each with the fields that type uses.

  • Preselects nothing

    Availability, currency and rating start empty. A guess in structured data is a claim, and it is made in your name.

  • Offers all ten availability values

    Schema.org defines ten and this tool lists ten. An earlier version carried four, and the missing six were silently dropped instead of being offered.

  • Requires both halves of a rating

    An average with no count, or a count with no average, produces no rating block rather than half of one.

  • Warns on missing recommended fields

    A product with no currency still validates, but a merchant listing will not accept it. The tool says so rather than letting you find out later.

  • Produces JSON-LD, not microdata

    A single block in the head, independent of your template, which is the format search engines ask for.

Reading the result

What each line is telling you

The @type line
What you are telling the engine this page is. If it does not match what the page shows a visitor, nothing below it will help.
The offers block
Product pages only. Price and currency travel together, and availability appears only if you chose one.
aggregateRating
Present only when you supplied both numbers, and only correct if the rating is visible on the page itself.
The warnings
These are recommended fields, not errors. The markup will validate without them and will be less useful.

A free tool answers one question.
A search audit answers the rest.

We look at your search visibility across Google and the answer engines, and tell you what is costing you orders. No charge for the first look.

In practice

What you can do with it

  • Mark up a product page properly

    Name, image, price, currency and a stock value you have checked. That is the set a merchant listing wants.

  • Give a support page an FAQ block

    The questions you already answer on the page, in a form a machine can read question by question.

  • Describe the company once

    An organization block with the profiles that belong to the same entity helps a search engine connect the pieces of you it finds elsewhere.

  • Fix a breadcrumb that is only visual

    A trail a visitor can see and a crawler cannot is a common gap on category pages, and it takes one block to close.

Questions

Schema Markup Generator questions

Does schema markup improve rankings?

Not by itself. It makes a page eligible for richer results and helps an engine understand what the page is about, which are worth having. Treating it as a ranking lever leads to marking up pages that do not need it.

Should I use JSON-LD or microdata?

JSON-LD. It sits in one block in the head rather than being woven through the visible markup, which means a template change cannot quietly break it.

Can I mark up a rating I have not collected yet?

No, and this is where sites get into real trouble. A rating in the markup that a visitor cannot see on the page is a claim to a search engine, and it is one of the fastest routes to a manual action.

Which availability value should I pick?

The one that is true right now. If you do not know, leave it blank: the markup validates without it, and an availability you have not checked is worse than one you did not state.

Where does the block go?

In the head of the page it describes, inside a script tag with the type set to application slash ld plus json. One block per page.

Is my data sent anywhere?

No. The JSON-LD is built in your browser and stays there until you copy it.

The rest of the set

Fifteen more, all free, all in the browser

Structured data tells a parser what a page is about. It earns rich results in classic search, while its effect on being cited by an assistant is not established, so plan it as SEO work rather than as an AI lever.