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
- Choose a type under Select Schema Type.
- Fill in the Schema Fields. Fields marked with an asterisk are required for that type.
- For FAQ Page, HowTo and Breadcrumb List, add rows with + Add Question & Answer, + Add Step or + Add Breadcrumb Item.
- Watch the JSON-LD Output fill in, then press Validate to check the required fields.
- 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.
| Type | Required in the form | In Google's rich result list |
|---|---|---|
| Article | Headline, Author Name | Yes |
| Local Business | Business Name, Street Address | Yes |
| Product | Product Name, Description | Yes |
| Organization | Organization Name, Website URL | Yes |
| Event | Event Name, Start Date | Yes |
| Recipe | Recipe Name | Yes |
| Breadcrumb List | At least one item | Yes |
| FAQ Page | At least one question | No, removed in May 2026 |
| HowTo | HowTo Title | No, removed in 2023 |
| Person | Full Name | No |
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:00so 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.