Schema Markup Generator

Generate JSON-LD structured data for four schema types - free.

Schema markup generator
Generated JSON-LD
 Paste this inside a <script type="application/ld+json"> tag in your page's <head>. 

What this tool does

Choose Article, Product, FAQ page or Local Business, fill in the fields, and get back valid JSON-LD ready to paste inside a <script type="application/ld+json"> tag in your page's <head>.

Generates valid JSON-LD structured data for four common schema types: Article, Product, FAQ page and Local Business.

Only includes fields you've actually filled in, rather than emitting empty or placeholder values for everything the schema type supports.

Escapes the generated output so it can't accidentally break out of the script tag it's meant to be embedded in, even if a field contains something like '</script>'.

Only builds an 'offers' object for Product schema once a price is entered, and reads availability from Schema.org's own controlled vocabulary (https://schema.org/InStock, /OutOfStock or /PreOrder) rather than a plain word.

Only builds an 'address' object for Local Business schema once a street address or city is entered, so an incomplete address doesn't generate a malformed or empty PostalAddress block.

How to use it

  1. Choose a schema type.
  2. Fill in the fields for that type.
  3. Copy the generated JSON-LD into a <script type="application/ld+json"> tag in your page's <head>.

Why use this generator

Structured data can make results richer, but JSON-LD must be exact. Generating it from a form avoids syntax mistakes.

Why we built it

We built the schema markup generator to escape the output so a literal </script> typed into a field cannot break the tag. Generate FAQ data with the FAQ schema generator and check the rest of the head with the meta tag generator.

Who this tool is for

  • Webmasters adding rich results
  • SEO staff and bloggers
  • Developers marking up pages

When to use it

  • Adding Article, Product, FAQ or Local Business markup.
  • Testing structured data.
  • Producing code for a CMS.
  • Learning the properties.

Why the output is escaped before you copy it

Structured data is meant to be embedded inside an HTML script tag, which introduces its own risk.

This generated snippet is meant to be pasted inside a <script type="application/ld+json"> tag on your own page - but if any field you type, like a FAQ answer, happened to contain the literal text '</script>', that would prematurely close the script tag once embedded, breaking your page's markup right at that point. This tool escapes every '<' character in the output specifically to prevent that, so the snippet stays safe to embed regardless of what text ends up inside it.

What each schema type actually generates

Four types, each mapped to the real Schema.org properties this tool fills in.

Schema types and their generated properties
TypeKey properties generated
Articleheadline, description, author (Person), datePublished, image
Productname, description, image, brand (Brand), offers (Offer: price, priceCurrency, availability)
FAQPagemainEntity - an array of Question objects, each with an acceptedAnswer (Answer)
Local businessname, description, address (PostalAddress), telephone

In every case, a field left blank is simply omitted from the output rather than included as an empty string or a placeholder value - the generated JSON-LD only ever describes what you actually filled in.

What you give it, and what you get back

Input and output of Schema Markup Generator
ItemDetails
InputFields for the chosen type.
OutputJSON-LD to place in the page.
NotesOnly filled fields are included.

Issues you may run into

Common problems with Schema Markup Generator
What you seeWhy it happensWhat to do
No rich result appearsMarkup does not guarantee display.Check eligibility rules.
Validator warnsA recommended field is missing.Add the field.
Type is missingFour types are covered.Write other types by hand.

Assumptions and limitations

Frequently asked questions

How do I add schema markup to my site for free?

Choose a schema type, fill in the fields, and paste the generated JSON-LD inside a <script type="application/ld+json"> tag in your page's <head>.

What schema types are supported?

Article, Product, FAQ page, and Local Business - each with its own relevant fields.

Do I need to fill in every field?

No - only filled-in fields are included in the output, so leaving something blank simply omits it rather than adding an empty placeholder.

Does valid schema markup guarantee a rich search result?

No - it makes your page eligible, but whether a search engine actually shows a rich result is its own decision, not something markup alone controls.

Is my data sent anywhere?

No. The JSON-LD is generated entirely in your browser.

What Schema.org property does the availability field map to?

It's written as a full Schema.org enumeration URL - https://schema.org/InStock, https://schema.org/OutOfStock or https://schema.org/PreOrder - inside the offers object's availability property, exactly as Schema.org's ItemAvailability type expects, not as a plain word.

Why doesn't Product schema include an offers object if I don't enter a price?

An Offer without a price is incomplete, so this tool only builds the offers object once a price is entered - leaving price blank keeps the rest of the Product schema valid rather than emitting a malformed offer.

Further reading

What Google actually uses from your page's meta tags — Some meta tags directly affect search results. Others do nothing for Google despite being widely believed to matter. Here is which is which.