Schema Markup (JSON-LD) Generator
Generate valid JSON-LD structured data for Article, FAQ, Product, Local Business and Breadcrumb to earn rich results in Google.
What the generator fills in for each type
Pick one of four types and fill in two boxes. The generator wraps the result in a <script type="application/ld+json"> tag, ready to paste. The two boxes map to different properties depending on the type:
| Type | First box becomes | Second box becomes | Also included |
|---|---|---|---|
| Article | headline | description | url, author |
| FAQPage | the question | the answer | nothing else |
| Product | name | description | an Offer with price and currency |
| LocalBusiness | name | description | url |
With the headline "How to Repot a Monstera" and a one-line description, the Article output is:
Quotation marks in your text are escaped automatically, so a question such as Do you ship "large" pots? doesn't break the JSON.
Placeholders to replace before you publish
Some values in the output are fixed stand-ins. There are no boxes for them, so edit them in the copied code:
- url is always
https://example.com. Replace it with the page's real address. - author on an Article is always a Person named "Author". Put the writer's real name there.
- price on a Product is always
"0.00"in"USD". Left as is, the markup describes your product as free. Enter the real price, and change the currency code if you don't sell in US dollars. - An empty description box still writes
"description": "". Fill it in or delete the line.
The FAQPage output holds one question. For more, copy the whole { "@type": "Question", … } block inside mainEntity, paste it after the first one with a comma between them, and change the text.
Properties worth adding by hand
The generator writes a minimal skeleton. Google's documentation for each rich result lists the properties it uses, and several of them are not in the output:
- Article:
datePublished,dateModifiedandimage. - Product:
image,brand, andavailabilityinside the offer. - LocalBusiness:
address, which Google requires for its local business result, plustelephoneand opening hours.
Each new property goes on its own line inside the braces, as "name": "value", with a comma after every line except the last. One missing or extra comma is enough to make the whole block unreadable, so validate after every change.
Keep the markup in step with the page
Structured data has to describe what visitors can see on the page. A price in the markup that differs from the price on the page, or an FAQ answer that appears only in the code, can cost the page its rich result.
That makes the copy-and-paste approach risky for content that changes. If prices, opening hours or answers are edited often, have your CMS or template generate the JSON-LD from the same data that fills the page, and use this tool to prototype the shape.
Google limits which sites get FAQ rich results, so add FAQPage markup because the questions are genuinely on the page, not in the expectation of an expandable result.
Frequently asked questions
Can I generate Breadcrumb or Event markup here?+
No. The generator offers Article, FAQPage, Product and LocalBusiness only. For other types, start from the examples in Google's structured data documentation.
Where on the page should the script go?+
JSON-LD can go in the head or the body. The head is easiest to manage, next to your other meta tags. Each block can sit separately, so an Article block and a separate FAQPage block on the same page is fine.
Why does the Rich Results Test show an error after I edited the code?+
Check the punctuation first. Curly quotes pasted from a word processor, a trailing comma before a closing brace, or a property name without quotes will all break the block. Edit JSON in a plain-text or code editor, which keeps straight quotes.
Guides & deep dives
Schema Markup for Beginners: Types That Win Rich Results
Learn how to add schema markup to your site with real JSON-LD examples for FAQ, Article, Product, and LocalBusiness — and avoid the errors that kill rich results.
Meta Tags That Matter in 2026: Title, Description and Beyond
Learn which meta tags still drive SEO in 2026 — title and description limits, OG tags, robots directives, and which tags to stop wasting time on.
robots.txt: What to Block, What Never to Block
Learn robots.txt syntax, the right patterns to block crawlers, what you must never disallow, and how to avoid the noindex vs robots.txt mistake.
UTM Parameters: Naming Conventions That Keep Analytics Clean
Stop fragmenting your campaign data. Learn the UTM naming conventions that keep Google Analytics consistent, reportable, and free of duplicate sources.
Embed this tool on your website
Free to use on blogs, school sites and intranets. Paste this code into your page's HTML; please keep the credit line.
<iframe src="https://utilityapp.lat/embed/seo/schema-markup-generator" title="Schema Markup (JSON-LD) Generator" width="100%" height="600" style="border:0;max-width:760px" loading="lazy"></iframe> <p style="font-size:13px"><a href="https://utilityapp.lat/seo/schema-markup-generator">Schema Markup (JSON-LD) Generator</a> by UtilityApp</p>