How to use the JSON-LD generator
- Choose the Schema type: Article, Product, FAQPage, LocalBusiness, Organization or BreadcrumbList. Only the fields for that type are shown.
- Fill in the fields. For FAQPage and BreadcrumbList, use the Rows box: one
Question | AnswerorName | URLper line. - For a local business, pick a Business type such as Restaurant, Dentist or Hotel, and add Opening hours (one per line).
- Copy the
scriptblock and paste it into your page. - Test the page with Google’s Rich Results Test or the Schema Markup Validator.
What it does and when to use it
JSON-LD is a block of structured data that tells search engines what a page is about in a machine-readable way: this page is an article by this author, this is a product with this price, these are the questions and answers. Writing it by hand means remembering property names, nesting the right @type objects and keeping the JSON valid. The generator does that for the six types most sites need.
What each type adds:
| Type | Main properties |
|---|---|
| Article | headline, description, image, dates, author, publisher with logo |
| Product | name, image, SKU, brand, offer with price, currency and availability |
| FAQPage | a Question with an acceptedAnswer for each row |
| LocalBusiness | business sub-type, address, telephone, price range, opening hours |
| Organization | name, URL, logo, profile links (sameAs), contact point |
| BreadcrumbList | ListItem entries with position, name and URL |
Pair it with the Meta Tag Generator for titles and descriptions and the Open Graph Tag Generator for social cards.
How it works
The fields are assembled into a JSON object with "@context": "https://schema.org". Empty fields, empty lists and nested objects that would hold nothing but their @type are removed, so you never publish "brand": {} placeholders. The JSON is indented with two spaces, every < is escaped as \u003c, and the result is wrapped in <script type="application/ld+json">. It is built in your browser.
Worked examples
The default Article. The output includes "headline": "How to compress a PDF without uploading it", a Person author and an Organization publisher with an ImageObject logo. Date modified is empty, so dateModified is left out.
A delivery FAQ with two rows gives a mainEntity list:
"name": "Do you deliver on Sundays?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, between 10:00 and 16:00."
}
A café. Business type CafeOrCoffeeShop, an address in Bengaluru and two hours lines give "@type": "CafeOrCoffeeShop" and "openingHours": ["Mo-Fr 08:00-22:00", "Sa-Su 09:00-23:00"]. The empty description and image are dropped.
Limits and tips
- Only one schema type per run. For several, generate each block and paste them one after another.
- The tool does not check that URLs work or that dates are in ISO format (YYYY-MM-DD); the validators do.
- Keep FAQ answers identical to the text visible on the page. If you build a visible FAQ with the HTML Details Accordion Generator, copy the same questions here.
Frequently asked questions
Where do I put the JSON-LD script?
Will this give my page stars or rich results?
Why can I not add ratings or reviews to a product?
What format do opening hours use?
Why is the less-than sign written as \u003c?
How do we know nothing is uploaded? Test it yourself on the privacy proof page.