Structured data is a contract. Search engines only unlock a rich result, such as star ratings under a product or a dropdown of steps under a recipe, when every property that result depends on is present and correctly typed. A schema block that looks reasonable but is missing one required field usually fails validation silently, which means the work goes in but the rich result never appears.
Every field stays in your browser while you edit it. The generator produces the exact JSON-LD script tag ready to paste into your page, with no account and no server involved in building it.
Required properties versus recommended properties
Schema.org itself defines almost every property as optional, but Google layers its own stricter requirements on top for each rich result type, and those are the ones that actually gate whether a result appears. This tool marks each field against Google's documented requirements for the type you have selected, not the more permissive schema.org baseline, because that is the bar that determines whether the markup does anything useful.
Required fields are the ones a rich result cannot render without, for example a Product schema needs a name and at least one of a rating, an offer or a review to qualify. Recommended fields are not strictly checked but noticeably improve how the result looks or how confidently it matches your content, for example an image on an Article or an aggregate rating alongside individual reviews on a Product.
- Missing a required field blocks the rich result outright, even if the JSON-LD is technically valid.
- Missing a recommended field usually still qualifies, just with a plainer result.
- This generator flags missing required fields before you copy the output.
- Recommended fields are shown but never block generation, since a page can ship without them.
The eight schema types this tool covers
Article suits blog posts, news pieces and editorial content, and typically unlocks a top stories carousel placement when the required headline, image and date fields are present. Product covers anything for sale and is what powers star ratings and price ranges directly in search results. FAQPage marks up a genuine list of questions and answers and can produce an expandable dropdown directly in the result.
HowTo structures a sequence of steps for a task, similar to FAQPage but with an ordered list instead of question and answer pairs. LocalBusiness and Organization both describe an entity rather than a piece of content, the former adding a physical address and opening hours that Organization does not require. BreadcrumbList reproduces your site's navigation path as structured data so search results can show it instead of the raw URL. Event covers a specific date, time and location for something happening once or repeating on a schedule.
Why JSON-LD over microdata or RDFa
Schema.org supports three syntaxes and Google explicitly recommends JSON-LD as the preferred one. Microdata and RDFa require adding attributes throughout your visible HTML, which means the structured data is tightly coupled to the page's markup and breaks silently whenever that markup changes. JSON-LD lives in a single self contained script tag that can go anywhere in the page, most commonly the head, with zero effect on the rendered content.
That separation is also what makes a schema markup generator practical in the first place. Because the block is independent of the surrounding HTML, it can be generated once here and pasted in without touching the rest of the template, and updated later by regenerating and swapping the whole block rather than hunting for scattered attributes. In practice this tool works as a json-ld generator first, with the other two syntaxes left to hand editing for the rare page that already commits to them.
How this schema markup generator validates your input
Each schema type in this tool carries its own list of required and recommended properties, sourced from Google's structured data documentation for that result type. As you fill in fields, the tool checks the current state against that list and shows exactly which required properties are still empty, updating live rather than only at the point you try to copy the output.
The JSON-LD itself is built with proper escaping for every string value and correct typing for dates, numbers and nested objects such as an address or an offer, so the output is syntactically valid JSON even when a field is left blank, it is simply omitted rather than written as an empty or malformed value.
Choosing a structured data generator that checks required fields
A structured data generator that only formats whatever you type into valid JSON is doing half the job, since it will happily produce a syntactically correct block that is missing the one property a rich result actually depends on. The useful half is checking your input against the requirements for the specific type and result you are targeting, which is what turns a generic formatting tool into something that reliably produces a rich results schema rather than an inert one.
That is the gap this tool is built to close: type specific requirement lists rather than a single generic checklist, so a Product schema is checked against Product's requirements and an Event schema against Event's, instead of one set of rules applied loosely to everything.
Testing your structured data after you publish it
Generating correct JSON-LD is necessary but not sufficient, since a page can also serve the right markup and still fail to qualify if it violates a content policy, for example FAQPage markup on a page whose visible content does not actually contain those questions and answers. After publishing, run the live URL through a structured data testing tool to confirm the markup was picked up as intended and to catch any policy level rejection this generator cannot see.
Rich results also take time to appear even after markup is valid and policy compliant, commonly one to two weeks, since they depend on Google recrawling and reprocessing the page rather than updating instantly.
| Type | Required fields | Unlocks |
|---|---|---|
| Article | headline, image, datePublished | Top stories carousel |
| Product | name, offers or review or aggregateRating | Star ratings, price |
| FAQPage | mainEntity question and answer pairs | Expandable FAQ dropdown |
| HowTo | name, step | Ordered step result |
| LocalBusiness | name, address | Local knowledge panel |
| Event | name, startDate, location | Event dates in search |
How to use the schema markup generator
- 1
Choose a schema type
Select Article, Product, FAQPage, HowTo, LocalBusiness, Organization, BreadcrumbList or Event based on the content of the page.
- 2
Fill in the required fields
Complete every field marked required. The tool lists any that are still missing before you generate.
- 3
Add recommended fields
Fill in recommended fields where you have the information, since they improve how the eventual rich result looks.
- 4
Copy the JSON-LD script tag
Generate the output and copy the complete script tag into the head or body of your page.
Related tools worth bookmarking
Sources and further reading
- Schema.org: Full hierarchy of typesThe primary vocabulary source defining every property available on each of the eight schema types this tool covers.schema.org
- Google Search Central: Structured data galleryGoogle's own documentation of which schema types unlock which rich results and their required and recommended properties.developers.google.com
- W3C: JSON-LD 1.1 specificationThe formal specification for the JSON-LD syntax this generator outputs, including the context and typing rules it follows.w3.org
Frequently asked questions
Common questions about the schema markup generator.
JSON-LD stands for JavaScript Object Notation for Linked Data. It is a way to embed structured data as a single self contained script tag rather than scattering attributes through visible HTML. Google recommends it as the preferred syntax for schema.org markup because it is easier to generate, easier to validate and does not risk breaking when the surrounding page markup changes.
No. Valid, complete markup is necessary but Google also applies content policies and ranking decisions on top, so a technically correct schema block does not guarantee the corresponding rich result appears, only that it becomes eligible. Coverage also varies by result type, region and how much Google trusts the site overall.
Article is the correct type for most blog posts, news pieces and editorial content. It requires a headline, an image and a date published at minimum for eligibility, and benefits from an author and a date modified where those are available on the page.
Yes, and it is common, for example a product page often combines Product and BreadcrumbList, or an article combines Article and FAQPage if it ends with a genuine question and answer section. Each type should be its own separate JSON-LD script tag, or multiple objects inside a single array, rather than merged into one object.
Yes. Every string value is escaped, dates and numbers are written with the correct type rather than as quoted strings where a number is expected, and any field left blank is omitted from the output entirely instead of being written as an empty value that could fail validation.
The tool still lets you generate and copy the output, but it flags which required fields are missing so you know before you publish that the block is unlikely to qualify for the rich result you are targeting. Fixing the flagged fields and regenerating produces a complete block.