SEO Tools

Schema Markup Generator

Schema markup generator for 10 JSON-LD types, from Article and Product to Event and Recipe. Fill in a form, then copy the script tag.

️ Schema Type
Schema Fields
JSON-LD Output

This schema markup generator writes JSON-LD structured data from a form: pick one of ten types, fill in the fields and the code updates as you type. Schema markup describes a page in Schema.org terms, such as an article and its author, a product and its price or an event and its date. Google says structured data gives it explicit clues about the meaning of a page. Everything runs in your browser.

How to use the schema markup generator

  1. Choose a type under Select Schema Type.
  2. Fill in the Schema Fields. Fields marked with an asterisk are required for that type.
  3. For FAQ Page, HowTo and Breadcrumb List, add rows with + Add Question & Answer, + Add Step or + Add Breadcrumb Item.
  4. Watch the JSON-LD Output fill in, then press Validate to check the required fields.
  5. Press Copy and paste the script tag into the page's HTML.

The ten schema types and their fields

The structured data generator covers these ten types. Each has its own set of fields; the table lists the ones the form requires.

TypeRequired in the formIn Google's rich result list
ArticleHeadline, Author NameYes
Local BusinessBusiness Name, Street AddressYes
ProductProduct Name, DescriptionYes
OrganizationOrganization Name, Website URLYes
EventEvent Name, Start DateYes
RecipeRecipe NameYes
Breadcrumb ListAt least one itemYes
FAQ PageAt least one questionNo, removed in May 2026
HowToHowTo TitleNo, removed in 2023
PersonFull NameNo

Being on Google's list makes a page eligible for that result; Google still decides whether to show it. FAQ Page, HowTo and Person markup can still describe the page to other software that reads Schema.org, even though Google shows no special result for them.

Example: Product JSON-LD

With a product name, description, brand, price of 24.99 and currency USD filled in, the schema markup generator returns:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Steel Water Bottle 750 ml",
  "description": "Double-wall insulated bottle that keeps drinks cold for 24 hours.",
  "brand": {
    "@type": "Brand",
    "name": "Riverline"
  },
  "offers": {
    "@type": "Offer",
    "price": "24.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Every block starts with the Schema.org context, so any program that reads the Schema.org vocabulary can use the output, which is why this Schema.org generator also includes types Google ignores. Availability defaults to In Stock, and because it always has a value, the offers block is always added; change it to Out of Stock, Pre-Order or Back Order where that is true.

What the Validate button checks

Validate confirms that the required fields for the chosen type are filled in, such as Headline and Author Name for an Article or Business Name and Street Address for a Local Business. It does not test the markup against Google's rules, so run the result through Google's Rich Results Test before you publish.

Edits worth making after you copy

  • Event dates come from a date and time picker with no time zone, for example 2027-03-14T10:00. Add an offset such as -05:00 so the time is unambiguous.
  • Local Business puts the whole address into streetAddress. Schema.org also has addressLocality, addressRegion, postalCode and addressCountry if you want to split it.
  • Recipe and HowTo times use ISO 8601 durations: PT30M is 30 minutes and PT1H15M is 1 hour 15 minutes.
  • Recipe ingredients and instructions take one item per line, and Person's Social Profiles take comma-separated URLs that become a sameAs list.

The JSON inside the script tag uses two-space indentation. If you edit it by hand, paste the part between the script tags into the JSON formatter to catch a missing comma.

Why structured data matters for AEO

Structured data states facts such as a product's price, an event's start date or an article's author in a fixed vocabulary, so software reading the page doesn't have to work them out from the layout. That is why it comes up so often in AEO work, covered in AEO vs SEO. As a JSON-LD generator it writes JSON-LD only, the format Google recommends in most cases, inside a script tag that is ready to paste. The walkthrough on creating schema markup without code goes through a full example, and the meta tag generator covers the title, description and social tags that sit next to it. Both belong to the SEO tools on this site, which also build robots.txt files and sitemaps.

Frequently Asked Questions

Where do I put the code?
Paste the whole block, including the opening and closing script tags, into the page's HTML. Google reads JSON-LD in either the head or the body, so both places work.
Do I need to know how to code?
No. Fill in the form and the schema markup generator writes the JSON-LD for you, quotes, brackets and nesting included, and updates the output as you type. Fields marked with an asterisk are required for that type.
Will schema markup give my page rich results?
Not by itself. Valid markup from any schema markup generator makes a page eligible for the rich result types Google supports, and Google decides whether to show one. Google stopped showing FAQ rich results in May 2026 and dropped HowTo results in 2023, so FAQ Page and HowTo markup no longer produce those features in Google Search.
Can I add more than one schema type to a page?
Yes. The schema generator builds one type at a time, so create each block separately, for example an Article and a Breadcrumb List, and paste both script tags into the page. A page can carry several JSON-LD blocks.
How do I test my schema markup?
Paste the page URL or the code into Google's Rich Results Test to see which Google features it qualifies for and any errors. The Schema Markup Validator at validator.schema.org checks the code against the Schema.org vocabulary itself, which helps for types Google does not use.