U.UtilityApp
📈 SEOFree · No signup

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:

TypeFirst box becomesSecond box becomesAlso included
Articleheadlinedescriptionurl, author
FAQPagethe questionthe answernothing else
Productnamedescriptionan Offer with price and currency
LocalBusinessnamedescriptionurl

With the headline "How to Repot a Monstera" and a one-line description, the Article output is:

{ "@context": "https://schema.org", "@type": "Article", "headline": "How to Repot a Monstera", "description": "A step-by-step guide to moving a monstera into a bigger pot.", "url": "https://example.com", "author": { "@type": "Person", "name": "Author" } }

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, dateModified and image.
  • Product: image, brand, and availability inside the offer.
  • LocalBusiness: address, which Google requires for its local business result, plus telephone and 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

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>