Skip to content

Runs entirely in your browser. Nothing you paste leaves this page.

Free / No sign-up

Schema markup generator: valid JSON-LD.

Fill in a form and get JSON-LD for eight schema.org types, checked against Google's required and recommended properties, with a clear note on which types still earn rich results in 2026.

Rich result eligibleEligible: helps Google show the right headline, images and dates for articles, including in Top stories and Discover.

JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "How we cut our app's cold start time in half",
  "image": [
    "https://acme.example/blog/cold-start-16x9.jpg",
    "https://acme.example/blog/cold-start-1x1.jpg"
  ],
  "datePublished": "2026-09-24T09:00:00",
  "dateModified": "2026-10-06T14:30:00",
  "author": {
    "@type": "Person",
    "name": "Priya Sharma",
    "url": "https://acme.example/team/priya-sharma"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Acme Analytics"
  }
}
</script>

Checks against Google's documentation

Every required and recommended property is filled in.

Valid for the properties checked here. Paste the script into the page it describes, keep it matching visible content, and confirm with Google's Rich Results Test.

How to use it.

  1. 01

    Choose a type. Each starts with a realistic sample and a note on what Google currently does with it.

  2. 02

    Replace the sample with your details. Required fields are marked * and recommended ones (rec.); the checks update as you type.

  3. 03

    Copy the script tag into the page it describes, then confirm with Google's Rich Results Test after you deploy.

What it does.

Everything this tool handles, all of it inside your browser tab.

  • Eight types: Organization, LocalBusiness, Article, Product, FAQPage, BreadcrumbList, Event and SoftwareApplication
  • Subtypes such as BlogPosting, NewsArticle, Restaurant, Store, WebApplication and MobileApplication
  • A status note for each type on what Google does with it in 2026
  • Required and recommended properties marked from Google's documentation
  • Live checks for missing fields, relative URLs, prices, currency codes and dates
  • Opening hours typed as Mo-Fr 09:00-18:00 and converted to OpeningHoursSpecification
  • Repeatable rows for FAQ questions and breadcrumb trails
  • Empty fields are dropped, so the output never contains blank properties
  • Copy as a ready script tag or as bare JSON

Worked examples.

  • BlogPosting with author and dates

    {
      "@context": "https://schema.org",
      "@type": "BlogPosting",
      "headline": "How we cut our app's cold start time in half",
      "image": ["https://acme.example/blog/cold-start-16x9.jpg"],
      "datePublished": "2026-09-24T09:00:00",
      "dateModified": "2026-10-06T14:30:00",
      "author": { "@type": "Person", "name": "Priya Sharma", "url": "https://acme.example/team/priya-sharma" }
    }

    Article has no strictly required properties in Google's documentation, but headline, image, dates and author are what it uses.

  • Opening hours for a cafe

    Input:
    Mo-Fr 08:00-21:00
    Sa,Su 09:00-22:00
    
    Output:
    "openingHoursSpecification": [
      { "dayOfWeek": ["Monday", …, "Friday"], "opens": "08:00", "closes": "21:00" },
      { "dayOfWeek": ["Saturday", "Sunday"], "opens": "09:00", "closes": "22:00" }
    ]

    Type hours the short way; the tool writes the structured form Google prefers.

  • Product with an offer

    "offers": {
      "@type": "Offer",
      "price": "89.00",
      "priceCurrency": "USD",
      "availability": "https://schema.org/InStock"
    }

    Price is a plain number and the currency an ISO 4217 code. A Product needs an offer, a review or an aggregate rating to be eligible.

  • Breadcrumb trail

    "itemListElement": [
      { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://shop.example/" },
      { "@type": "ListItem", "position": 2, "name": "Bags", "item": "https://shop.example/bags" },
      { "@type": "ListItem", "position": 3, "name": "Trailhead 22L Daypack" }
    ]

    Every item except the last needs a URL. Match the trail visitors see on the page.

  • Hybrid event

    "eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
    "location": [
      { "@type": "Place", "name": "Pier 27 Conference Center", "address": { … } },
      { "@type": "VirtualLocation", "url": "https://acme.example/summit/live" }
    ]

    Mixed events list both a Place and a VirtualLocation. If plans change, update eventStatus rather than deleting the markup.

What schema markup does

Schema markup is structured data that describes a page's content using the shared schema.org vocabulary: this page is an Article by this author, published on this date; this is a Product with this price and availability; this business opens at these hours. Search engines can read that without guessing from the layout, and Google uses it to decide whether a page qualifies for enhanced results.

Google supports three syntaxes and recommends JSON-LD, which this tool produces. JSON-LD sits in a script tag of type application/ld+json, separate from your HTML, so it is easy to generate from a CMS or a template and does not break when the design changes. It is plain JSON, so you can also check it with our JSON formatter.

Which types still get rich results in 2026

Google's search gallery, last updated in June 2026, lists the features it currently supports. Of the types here, Article, Product, BreadcrumbList, Event and SoftwareApplication are eligible for rich results, subject to each feature's requirements. Organization and LocalBusiness feed knowledge panels and local details, such as your logo, address, phone and opening hours, rather than a distinct snippet style.

FAQPage is the big change. Google limited FAQ rich results to authoritative government and health sites in 2023, and on May 7, 2026 stopped showing them in Search altogether; the documentation was removed in June 2026. FAQ markup is still valid schema.org and does no harm, and other consumers of structured data can read it, but do not add it expecting expanded results in Google. HowTo rich results were retired earlier.

Eligibility is not a guarantee. Google decides per query whether to show an enhancement, and pages must meet its general quality guidelines.

Required, recommended and honest

Each type marks Google's required properties with a red asterisk and its recommended ones with (rec.). Missing a required property makes the page ineligible for that feature; missing recommended ones just gives Google less to work with. The checks also catch common format errors: relative URLs, prices with currency symbols, currency codes that are not ISO 4217, events that end before they start, and breadcrumbs without links.

Markup must describe what visitors can see on the page. Ratings and reviews are the area where sites most often get this wrong. Only mark up genuine reviews collected from customers and shown on the page; never invent or copy them. For this reason the samples for Product and SoftwareApplication leave ratings empty, and the SoftwareApplication check reports honestly that Google will not show a software rich result without real ratings or reviews. Misleading structured data can lead to a manual action that removes rich results across your site.

Choosing the right type

Use Organization once, on the home page or about page, to describe your company: name, logo, contact details and sameAs links to official profiles. Use LocalBusiness, or a more specific subtype such as Restaurant or Dentist, for each physical location, with the same name, address and phone number as your Google Business Profile.

Use Article, BlogPosting or NewsArticle on editorial pages, Product on product detail pages (not category pages), Event for things that happen at a specific time, and SoftwareApplication, WebApplication or MobileApplication for app landing pages. BreadcrumbList belongs on any page below the home page and should match the breadcrumb trail people see.

Adding it to your site and testing

Paste the script tag into the HTML of the page it describes, in the head or the body. In frameworks such as Next.js, render it from the page component so it is in the server-rendered HTML; that is how this site emits its own BreadcrumbList, FAQPage and WebApplication data. A page can carry several blocks, for example Article and BreadcrumbList.

After deploying, run the URL through Google's Rich Results Test to see which features it detects, and the Schema Markup Validator at validator.schema.org for general schema.org errors. Search Console then reports valid and invalid items per feature over time. Our SEO services team uses the same workflow on client sites.

Structured data and AI search

AI assistants and answer engines increasingly cite web pages. Google states that no special markup is required to appear in its AI features, and no schema type guarantees inclusion. What structured data does offer is precision: an unambiguous name, author, date, price or address that any system parsing your page can read correctly. That makes it a sensible part of generative engine optimization, alongside clear writing and a crawlable site.

Common structured data mistakes

The most frequent problems are simple. Markup is added to every page through a site-wide template, so an Organization or Product block appears where it does not belong. Values drift out of sync with the page, for example a price or event date that was updated in the content but not in the JSON-LD. Dates are written in a local format such as 05/11/2026 instead of ISO 8601. Image and page URLs are relative instead of absolute.

Others are about scope. Product markup belongs on a page for one product, not a category page listing many. Review markup should describe reviews of the thing on the page, not testimonials about your company placed on every page. LocalBusiness details should match your Google Business Profile exactly, down to the phone number format, so the two sources reinforce each other.

Generate markup from the same data that renders the page, so they cannot disagree, and validate a sample of each template after every release. For e-commerce catalogues, our e-commerce development projects wire Product and BreadcrumbList data directly to the product database for exactly this reason.

Questions, answered

Something else on your mind? Ask a consultant and get a reply within one business day.

What is schema markup?

Structured data, written in the schema.org vocabulary, that describes a page's content in a machine-readable way. Search engines use it to understand pages and to decide whether they qualify for rich results.

Is JSON-LD better than Microdata or RDFa?

Google supports all three and recommends JSON-LD, because it sits in one script tag separate from the HTML and is easier to generate and maintain.

Does FAQ schema still work in 2026?

Not for Google rich results. Google stopped showing FAQ rich results on May 7, 2026. The markup is still valid and harmless, but it will not expand your listing in Google.

Which schema types get rich results?

Of the types in this tool, Article, Product, BreadcrumbList, Event and SoftwareApplication are eligible, each with its own requirements. Organization and LocalBusiness feed knowledge panels and local details instead.

Will schema markup improve my rankings?

It is not a direct ranking factor. It helps search engines understand the page and can make it eligible for richer results, which can improve click-through.

Can I add review stars to my product?

Only for genuine reviews collected from customers and shown on the page. Self-serving or invented ratings break Google's guidelines and can lead to a manual action.

Why does SoftwareApplication show errors on the sample?

Google requires real ratings or reviews for software app rich results. The sample deliberately leaves them empty because we will not invent ratings; add yours if you have them.

Where do I put the JSON-LD?

In the HTML of the page it describes, in the head or body, ideally rendered on the server. One page can have several blocks.

How do I test my markup?

Use Google's Rich Results Test for Google features and the Schema Markup Validator for general schema.org validity, then watch the enhancement reports in Search Console.

Why are my rich results not showing?

Eligibility is not a guarantee. Check for errors in the Rich Results Test, make sure the markup matches visible content, and allow time for recrawling. Google decides per query.

Is my data sent anywhere?

No. The form and JSON-LD are generated in this tab.

More free tools.

All tools

Need tooling like this inside your product?

We build internal tools, developer platforms and APIs. Tell us what your team keeps doing by hand.