Schema Markup Generator
Choose what your page is about, fill in the form, and copy a JSON-LD block for its HTML. What Google requires for each type is marked.
Each item needs its question and its answer. Google stopped showing FAQ rich results in May 2026; the markup is still valid schema.org.
Google lists no required properties for organizations. It recommends the name, logo, address and contact details.
With the country code, such as +1-303-555-0147.
Two letters (ISO 3166-1), such as US, GB or DE.
Google requires the name and the address.
With the country code, such as +1-207-555-0142.
Two letters (ISO 3166-1), such as US, GB or DE.
Google requires the name. Its product rich results also need offers, a review or a rating; this form leaves those out (see below).
8, 12, 13 or 14 digits.
Offers, which hold a price and whether the product is in stock, aren’t part of this form: schema.org doesn’t require them, and this page describes the product itself. If you sell it online, add offers from your shop’s own data.
Google requires a name for each step and the address of every step but the last. Positions are numbered for you.
Google requires the name, the start date and the place’s address: its event results cover only events held at a physical place, so an online-only event won’t get one.
For the times above: such as +01:00 or -05:00, or Z for UTC.
Two letters (ISO 3166-1), such as US, GB or DE.
Google has no rich result for a person on their own. This describes who someone is, such as on an about page.
Fill in the form, or press Fill in an example.
Before you publish, test the page with Google’s Rich Results Test, which shows whether it can get a rich result, and the Schema Markup Validator, which checks it against schema.org. Both are separate sites: this page sends nothing to them.
The markup is written on this page from what you enter. No address is visited or checked online, and nothing is sent or saved.
Structured data, written for you
Structured data tells search engines in a fixed vocabulary what a page is about: that it’s a bakery with opening hours, an event on a date, or an article by a named author. It’s written in JSON-LD, using types and properties from schema.org, inside a script element in the page’s HTML. Search engines use it to understand the page, and some can show it as a rich result, such as a breadcrumb trail or event dates.
How to use it
- Choose what the page is about, from an article to a person.
- Fill in what applies. Fields marked Required are the ones Google’s documentation asks for; the rest make the data more complete.
- Fix anything listed in red, then copy the block.
- Paste it into that page’s HTML and test the page with Google’s Rich Results Test.
The types
- Article: a blog post, news story or guide, with dates and author.
- FAQ page: questions and answers shown on the page.
- Organization and Person: who runs a site or wrote it, with profile links.
- Local business: a shop or service with an address, phone number, map position and opening hours.
- Product: name, brand, codes and images, without prices.
- Breadcrumb trail: where the page sits in your site.
- Event: in person, online or both, with times and organizer. Google’s event results cover only events held at a physical place.
Reading the result
The block starts with @context, which names schema.org as the vocabulary, and @type, the kind of thing it describes. Each property follows on its own line. Empty fields are left out rather than written as blank values, dates and times are written in ISO 8601, such as 2026-06-13T10:00:00+01:00, and the less-than sign is written as \u003c, which JSON reads as the same character.
Good to know
- Several types on one page are fine: paste one block for each, such as a local business and its breadcrumb trail.
- Describe only what the page shows. Markup about content visitors can’t see breaks search engines’ guidelines.
- Times need an offset, such as -05:00 for New York in winter, or they can be read in the wrong time zone.
- Addresses must be full, starting with https://.
- Want to check or tidy JSON you already have? The JSON Formatter validates and lays out any JSON. This page writes structured data for you from a form.