# Schema markup generator (JSON-LD)

> Generate JSON-LD schema markup for articles, FAQs, products, local businesses, events, recipes, videos and breadcrumbs, with Google's rich result checks.

Canonical: https://cromagnon.app/tools/schema-generator
Last updated: 2026-10-27

- Category: SEO
- Formats: JSON-LD · SCHEMA.ORG
- Use it: https://cromagnon.app/tools/schema-generator (free, runs in the browser)

## What it does

Structured data is a small block of code that tells search engines exactly what a page is about: this is a recipe that takes 45 minutes, this is a bakery open from 7:30, this product costs $34 and is in stock. Google uses it for rich results, such as star ratings, prices, event dates and breadcrumbs in the search listing, and AI assistants use it to understand and quote pages. This generator writes the code in JSON-LD, the format Google recommends, from a simple form. Pick one of thirteen types, fill in what you know, and copy the script; Google's required and recommended properties are checked as you type.

## How to use it

1. Choose the type that matches the page: Article, FAQ, Product, Local business, Organization, Person, Breadcrumbs, Event, Recipe, Video, Software app, How-to or Website.
2. Fill in the form. Fields marked * are required by Google; the others are recommended. Try an example to see a complete one.
3. Add rows for repeated items such as questions, opening hours, breadcrumb levels or steps.
4. Read the checks and fill in anything listed as missing.
5. To describe several things on one page (an article with breadcrumbs, say), click Add another item to this page and fill in the next type; they are combined into one @graph.
6. Copy the script into the page's HTML, publish, and test the live address in Google's Rich Results Test.

Tip: Only mark up what visitors can actually see on the page. Google treats hidden or invented content in structured data (reviews that aren't shown, a price that isn't on the page) as spam and may remove your rich results.

## Which type to use

- **Article**: News stories, blog posts and guides. Helps Google show the right headline, image, date and author. Use BlogPosting or NewsArticle where they fit.
- **Product**: A page selling one product. With a price, availability and ratings it can show those in results and in Google Shopping's free listings.
- **Local business**: Your shop, restaurant, clinic or office: address, phone, opening hours and map position. Pick the most specific kind, such as Bakery or Dentist.
- **Organization**: On the home or about page: your official name, logo, contact details and social profiles, which feed Google's knowledge panel.
- **Breadcrumbs**: The path to the page (Home › Guides › Plants). Google shows it instead of the raw address.
- **Event**: Concerts, classes, webinars and sales with a date. Can appear in Google's event listings with date, place and tickets.
- **Recipe**: Cooking time, ingredients, calories and ratings, shown in recipe results and carousels.
- **Video**: A page whose main content is a video: title, thumbnail, upload date and length.
- **FAQ and How-to**: Still valid schema.org, but Google has limited FAQ results to government and health sites and dropped how-to results. Use them for other search engines and AI tools, not for Google's rich results.
- **Website**: Your site's name (and a short alternative name) on the home page, so Google shows the right site name above your results.

## Why JSON-LD

There are three ways to add structured data: JSON-LD, Microdata and RDFa. JSON-LD is a separate script block, so it doesn't change your visible HTML, can be added by a plugin or a tag manager, and is easy to read and update. Google recommends it, and every major search engine reads it. The script can go in the <head> or the <body>; where it sits doesn't matter.

Each block starts with "@context": "https://schema.org" and an "@type". When a page has several items, one script with an "@graph" list (or several separate scripts) both work. The generator builds the @graph for you when you add more than one item.

## Values that trip people up

- **Dates**: Use ISO 8601: 2026-10-27, or with a time 2026-10-27T09:30:00+05:00. The generator adds your time zone to times you pick.
- **Durations**: Cooking and video times are ISO durations such as PT45M or PT1H10M. Type "1h 10m", "70" or "4:35" and the generator converts them.
- **Prices**: A plain number (49.99) with a separate three-letter currency (USD). Symbols such as $ or € in the price make it invalid.
- **Addresses**: Every URL, image and logo must be a full address starting with https://. Relative paths such as /logo.png are ignored.
- **Availability and conditions**: These are schema.org addresses such as https://schema.org/InStock; the generator writes them from the drop-down.
- **Ratings**: Only add ratings and reviews that appear on the page and come from real customers. Self-written reviews of your own business aren't eligible for stars.

## Adding it to your site

In plain HTML, paste the script into the page. In WordPress, use a plugin that accepts custom JSON-LD or a block that allows HTML; SEO plugins add Article, Organization and Breadcrumb markup themselves, so check the page for duplicates first. In Shopify, many themes already output Product markup; add only what is missing. With Google Tag Manager, a Custom HTML tag works, but Google may take longer to see markup that is added by script.

After publishing, test the live page in Google's Rich Results Test or our schema validator, then watch the Enhancements reports in Google Search Console, which list errors across the whole site. Rich results aren't guaranteed even with perfect markup: Google decides when to show them.

## Tips

- **Most specific type**: Bakery beats LocalBusiness and BlogPosting beats Article; Google and other engines understand both.
- **Match the page**: Names, prices, dates and hours in the markup must match what the page shows.
- **One logo, square-ish**: Organization logos should be at least 112×112 px on a plain background.
- **Images at three shapes**: For articles and recipes, give 16:9, 4:3 and 1:1 versions, one address per line.
- **Keep it updated**: Change the price, availability or event status in the markup when they change on the page.
- **sameAs profiles**: Link your official social, Wikipedia and Google Business profiles so search engines connect them to you.

## Questions

### Does schema markup improve rankings?

Not directly. It makes pages eligible for rich results, which stand out and usually get more clicks, and it helps search engines and AI tools understand the page correctly.

### Where do I put the JSON-LD script?

Anywhere in the page's HTML; the <head> is the usual place. It must be on the page it describes, not only on the home page.

### Why don't my rich results show?

Google shows them only when it trusts the site and the markup matches the visible content, and some types are limited (FAQ, How-to). Check for errors in the Rich Results Test and Search Console, then give it a few weeks after Google recrawls.

### Can I have several schema types on one page?

Yes. An article page often has Article and BreadcrumbList, a product page Product and BreadcrumbList. Use Add another item to this page to combine them.

### Microdata or JSON-LD?

JSON-LD. It is Google's recommended format and easier to maintain; Microdata is still read but mixes into your HTML.

### Is what I type sent anywhere?

No. The checks and previews run in your browser, on your device. Nothing you type or paste is uploaded, stored or logged.

## Related

- [Schema Validator](https://cromagnon.app/tools/schema-validator)
- [SERP Preview](https://cromagnon.app/tools/serp-preview)
- [Open Graph Generator](https://cromagnon.app/tools/open-graph-generator)
- [JSON Formatter](https://cromagnon.app/tools/json-formatter)
- [All tools](https://cromagnon.app/tools)
