How do I generate schema markup without coding?
Open the free Schema Markup Generator, choose a type from the Select Schema Type menu (Article, Local Business, Product, Event, Recipe, Breadcrumb List and a few others) and fill in the form. The JSON-LD Output panel rewrites itself as you type, already wrapped in a <script type="application/ld+json"> tag. Click Copy, paste the block into the page's HTML, then test the live URL in Google's Rich Results Test. The generator saves you from missing brackets and stray commas. Whether Google shows a rich result is a separate question that depends on the schema type and on Google's own rules.
What a schema markup generator does
Structured data is a block of labelled facts about a page (this is an article, this is its author, this is the price) written in the schema.org vocabulary so that search engines don't have to guess. A schema markup generator turns a form into that block, so you type the facts once and get code with the right property names, nesting and punctuation.
Google supports three formats. Its introduction to structured data says all three "are equally fine for Google" when the markup is valid, and recommends the one that's easiest to maintain, which in most cases is JSON-LD.
| Format | Where it goes | Editing it later |
|---|---|---|
| JSON-LD | A separate script block in the head or body | One self-contained block; the page HTML doesn't change |
| Microdata | Attributes added to the visible HTML, usually in the body | Spread across the page's tags |
| RDFa | Attributes added to the visible HTML, in the head or body | Spread across the page's tags |
Our tool outputs JSON-LD only, which is why it works as a JSON-LD generator you can paste into almost any CMS. Google can also read JSON-LD that JavaScript injects into the page, so tag managers and widgets work too.
Which schema types still earn rich results in 2026
Google has retired several rich result types, so check that yours still produces something in Search. HowTo rich results stopped showing in September 2023. FAQ rich results were limited to government and health sites in August 2023, and Google's documentation changelog records that they stopped appearing for every site on May 7, 2026. The generator still offers both, since the markup is valid schema.org and other systems may read it, and Google says unused structured data causes no problems. Neither will change how your Google listing looks.
| Type in the generator | Google rich result in 2026 | Google's required properties | Fields the tool marks as required |
|---|---|---|---|
| Article | Yes | None (headline, image, author and dates are recommended) | Headline, Author Name |
| Product | Yes (product snippet) | name, plus one of offers, review or aggregateRating | Product Name, Description |
| Local Business | Yes | name, address | Business Name, Street Address |
| Event | Yes | name, startDate, location with an address | Event Name, Start Date |
| Recipe | Yes | name, image | Recipe Name |
| Breadcrumb List | Yes | At least two list items, each with position and name (the URL is optional on the last one) | At least one breadcrumb |
| Organization | Yes | None | Organization Name, Website URL |
| Person | No rich result of its own; Google reads Person inside author and profile page markup | Not applicable | Check the form's starred fields |
| FAQ Page | No, gone since May 7, 2026 | Not applicable | At least one question |
| HowTo | No, gone since September 2023 | Not applicable | HowTo Title |
The last two columns don't always match. The tool's Validate button only checks its starred fields, so a Recipe with no image or a one-item breadcrumb trail gets a green message that Google wouldn't agree with. Treat Validate as a typo check and the Rich Results Test as the real one. For visibility in AI answers rather than rich results, see the posts on optimizing for ChatGPT search and AEO vs SEO.
Walkthrough: Article markup with the schema markup generator
- Choose Article. Headline and Author Name carry a red asterisk; the rest is optional.
- Type the headline exactly as it appears on the page, because Google's guidelines say markup has to describe what readers can see.
- Pick both dates, then add an Image URL and a Publisher Name.
- Click Validate, then Copy, and paste the block into your template or your CMS's custom HTML field.
With every field filled in, the tool produces this:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Spring Planting Guide for Small Gardens",
"author": {
"@type": "Person",
"name": "Jane Doe"
},
"datePublished": "2026-11-02",
"dateModified": "2026-11-05",
"image": "https://example.com/images/planting-16x9.jpg",
"publisher": {
"@type": "Organization",
"name": "Example Media"
}
}
</script>
That is valid as it stands. Google's Article documentation recommends three things the form doesn't ask for: full ISO 8601 date-times with a time zone (otherwise Google uses Googlebot's), an author.url pointing to a bio page, and several high-resolution images (at least 50,000 pixels, width times height) in 16x9, 4x3 and 1x1 ratios. Edited by hand:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Spring Planting Guide for Small Gardens",
"author": {
"@type": "Person",
"name": "Jane Doe",
"url": "https://example.com/authors/jane-doe"
},
"datePublished": "2026-11-02T09:00:00+05:30",
"dateModified": "2026-11-05T14:30:00+05:30",
"image": [
"https://example.com/images/planting-16x9.jpg",
"https://example.com/images/planting-4x3.jpg",
"https://example.com/images/planting-1x1.jpg"
],
"publisher": {
"@type": "Organization",
"name": "Example Media"
}
}
</script>
Fixes for the other types
Local Business needs the most work. The form has one Street Address box, and the whole string lands in streetAddress. Google's local business guide asks for as many address properties as possible and coordinates to at least five decimal places, so split it like this:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Corner Bakery",
"telephone": "+1-217-555-0142",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Springfield",
"addressRegion": "IL",
"postalCode": "62701",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 39.78172,
"longitude": -89.65015
}
}
</script>
Event dates come out as 2026-11-20T19:00 with no UTC offset, so Google assumes the time zone of the venue; add the offset (2026-11-20T19:00:00-06:00) if the address is incomplete. Product availability starts on In Stock, so change it for anything sold out, and enter the price with a full stop as the decimal point and no currency symbol (29.99, not $29,99), with an ISO code such as USD in the Currency box, as schema.org's price guidelines ask.
Schema generator, SEO plugin or hand-written JSON-LD?
There are three common ways to add structured data, and many sites mix them.
| Approach | Good for | Watch out for |
|---|---|---|
| Online schema markup generator | One-off pages, a local business or event page, learning what a type needs | You paste it per page, and must update it by hand when the page changes |
| CMS or SEO plugin | Article and breadcrumb markup on every post, generated from the page data | Duplicate blocks if you also paste your own; settings that fill fields with the wrong values |
| Hand-written or templated JSON-LD | Large sites, product catalogues, anything the form doesn't cover | Typos and missing commas; needs a developer to maintain |
A practical split is to let your CMS handle markup it can build from the page and use a generator for the pages it doesn't cover, such as a contact page with LocalBusiness or a one-off Event. The generated code is also a good starting template for a developer who wants to put the same structure in a theme.
Where to paste it and how to test it
Whatever schema markup generator you use, the output is a script tag, and Google reads JSON-LD from a script tag in the head or the body, so a CMS that only offers a body HTML field is fine. After any hand edit, check the code in this order:
- Paste the JSON, without the script tags, into the JSON Formatter and click Validate to catch a broken quote or comma.
- Publish, then run the URL through the Rich Results Test to see which rich result types Google detects, with errors and warnings.
- Run it through the Schema Markup Validator. I never publish schema without this step; it checks the full schema.org vocabulary, including types Google ignores.
- Once Google has recrawled the page, open URL Inspection in Search Console to confirm it found the markup.
The title, description, canonical and Open Graph tags belong in the head too; the Meta Tag Generator produces those.
Common mistakes
- Marking up content readers can't see. Ratings, prices or answers that exist only inside the JSON go against Google's structured data guidelines.
- Writing your own reviews into aggregateRating. Google names fake reviews as misleading markup, and a structured data manual action removes the page's rich result eligibility.
- Curly quotes and trailing commas. JSON accepts only straight double quotes and no comma after the last item, and word processors curl quotes as you type, so edit in a plain-text editor. Common JSON formatting errors lists the other syntax slips that break a block.
- Two blocks describing the same page. Many themes and SEO plugins already print Article markup, so view the page source first and keep one block if they disagree.
Frequently asked questions
Does schema guarantee a rich snippet?
No. Google states that it does not guarantee structured data will show up in results, even when the markup passes testing. Markup makes a page eligible, and only for types Google still supports.
Is structured data a ranking factor?
Google describes structured data as a way to help it understand a page and to make the page eligible for rich results; it doesn't present it as a ranking boost. The practical gain is a richer listing for supported types, which can make your result stand out.
Is FAQ schema still worth adding?
Not for Google's results. Google's FAQ documentation now records that FAQ rich results stopped appearing in Search on May 7, 2026, and the guide itself was removed in June 2026. FAQPage markup is still valid schema.org and other systems may read it, and Google says unused structured data does no harm, so existing blocks can stay.
Why does the tool say my schema is valid when the Rich Results Test shows errors?
Validate only confirms that the tool's starred fields are filled. Google is stricter for some types, such as the image a Recipe needs, so fix what the Rich Results Test reports.