JSON-LD Schema GeneratorProduct, Article, Event, FAQ

Pick a schema type, fill in the form, and copy the finished JSON-LD. Fields Google needs are flagged as you type, and the code is ready to paste as a script tag.

FAQ details

Google no longer shows FAQ rich results (as of May 7, 2026). FAQPage is still a valid schema.org type, so the markup is safe to keep or add.

Q1
Q2

Required fields are missing

  • At least one question with an answer
<script> tag
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": []
}
</script>
Test the code in Google's Rich Results Test

What JSON-LD Schema Markup Does for Your Pages

JSON-LD is a block of code that describes a page in the schema.org vocabulary. It tells search engines that a page is a product with a price, an event with a date and venue, or an article with an author, without changing anything visitors see.

This generator builds that block from a form. Choose a type, fill in the fields, and the code updates as you type. The tool warns you when a field Google needs is empty, so you can fix gaps before you publish.

It covers Product, Article, Event, Local Business, FAQ, Breadcrumb, and Organization. Markup makes a page eligible for rich results, but Google decides whether to show them, so test the page after you publish.

When to Add Structured Data to a Page

Mark up a product page with price and availability

Enter the name, price, currency, and stock status to build the Product and Offer blocks. Add a rating only if the page shows reviews.

Describe a store, cafe, or office

Add the business name, address, phone number, and opening hours as LocalBusiness markup, and choose a more specific type such as Restaurant or Dentist.

Publish a workshop, class, or webinar

Event markup takes a name, start time, and either a venue or an online URL. Switch between in-person and online without rewriting the code.

Add article details to a blog post

Set the headline, image, publish and update dates, and author for an Article, BlogPosting, or NewsArticle.

Generate and Add the Code in 4 Steps

  1. Choose a type from the tabs at the top: FAQ, Article, Product, Local Business, Event, Breadcrumb, or Organization.
  2. Fill in the form. Fields marked * are the ones Google asks for. Click “Load sample data” to see a filled-in example.
  3. Check the warning box above the code. When it turns green, the fields Google needs for that type are filled in.
  4. Click “Copy code” and paste the <script> block into the <head> or <body> of the page. Then test the page in the Rich Results Test.

Note: You can also download the code as an .html or .json file, or switch off the script tag to get plain JSON.

Before You Publish

  • Markup must match what visitors can see on the page. Don't add prices, ratings, or events that the page doesn't show.
  • Valid markup makes a page eligible for rich results. It does not guarantee that Google will show them.
  • Google no longer shows FAQ rich results as of May 7, 2026. The FAQ tab still produces valid FAQPage markup.
  • The sample data uses example.com addresses and a fictional business. Replace every value with your own.
  • Product prices and ratings are written as numbers, not text. Enter 24.99, not $24.99, and pick the currency separately.
  • Event times are written without a time zone unless you enter a UTC offset, such as -05:00 for U.S. Eastern Standard Time.
  • Everything runs in your browser. The tool makes no requests to send your input anywhere.

Supported Types and Google's Requirements

What Google asks for in each type it documents, and what the markup is used for. Check the linked Google documentation for the current rules.

TypeWhat Google requiresUsed for
Productname, plus at least one of offers, review, or aggregateRatingProduct snippets with price, availability, and ratings
ArticleNothing required. Recommended: headline, image, datePublished, dateModified, authorTitle, image, and date in results
Local Businessname and addressBusiness details such as hours in knowledge panels
Eventname, startDate, and locationEvent listings in Search and Maps
BreadcrumbAt least two list items, each with position and name. item is optional on the last oneBreadcrumb trail in the result
OrganizationNothing requiredOrganization name, logo, and profile links
FAQRich results discontinued May 7, 2026Valid markup, but no Google rich result

Structured Data Formats, Eligibility, and Testing

How the three formats differ, how Google treats errors, and how to check your work.

Why JSON-LD is the usual choice

Google supports three formats: JSON-LD, Microdata, and RDFa, and recommends JSON-LD. Microdata and RDFa add attributes to the visible HTML. JSON-LD sits in its own <script> block, so you can add or edit it without touching the page layout.

Required properties decide eligibility

Google says an item that is missing a required property isn't eligible for rich results. Missing recommended properties don't block eligibility, but Google says more recommended properties make a result higher quality. This tool's warning box follows that split.

Test before and after you publish

Paste the code into the Rich Results Test to catch errors, then publish and use the URL Inspection tool in Search Console to see how Google reads the live page. Fix errors first, then warnings.

What counts as misleading markup

Google's guidelines say structured data must be a true representation of the page content. A structured data issue can lead to a manual action, which removes the page's eligibility for rich results. Google says a manual action of this kind doesn't affect how the page ranks in web search.

Common Structured Data Errors in Search Console

A required property is missing

A Product with only a name, or an Event without a start date or location, is flagged in Search Console and isn't eligible for a rich result.

💡 See the solution▼
Clear every item in the warning box before you copy the code. For Product, add a price so the offers block is created.

The markup shows details the page doesn't

A price, rating, or event date appears in the code but not on the page, or the page was updated and the code wasn't.

💡 See the solution▼
Update the markup whenever you change the visible price, stock status, hours, or dates, and remove blocks for content you've taken down.

The JSON breaks after a manual edit

A missing comma, an extra bracket, or a curly quote pasted from a word processor makes the whole block unreadable.

💡 See the solution▼
Edit values in the form and copy fresh code instead of editing the output by hand. If you must edit it, paste the result into the Rich Results Test.

Breadcrumb levels are out of order

The list runs from the current page back up to the home page, or a URL points to a page that doesn't exist.

💡 See the solution▼
List levels from the top of the site down to the current page, and open each URL to confirm it loads.

An event is missing a time zone or has already passed

The start time has no UTC offset, or the page still carries markup for a past event.

💡 See the solution▼
Add the UTC offset for the venue's time zone, and update or remove the markup after the event ends.

Rich Results and Markup Questions

Q.What is JSON-LD, and do I need it?

Q.

A. JSON-LD is a block of code that describes a page using the schema.org vocabulary, such as a product with a price or an event with a date and venue. Search engines read it to understand the page. Google says a page needs the right structured data to be eligible for rich results, and it recommends JSON-LD over Microdata and RDFa.

Q.Where do I paste the generated code?

Q.

A. Copy the full <script type="application/ld+json"> block and paste it into the <head> or <body> of the page it describes. Google's guidelines say to put structured data on the page that it describes, so a product block belongs on that product's page, not on every page.

Q.Does Google still show FAQ rich results?

Q.

A. No. Google's documentation says FAQ rich results no longer appear in Google Search as of May 7, 2026. FAQPage is still a valid schema.org type, and Google has said unused structured data doesn't cause problems, so you can keep existing markup. Google removed HowTo rich results in 2023, which is why this tool doesn't include a HowTo type.

Q.Will valid markup guarantee a rich result?

Q.

A. No. Markup only makes a page eligible. Google decides what to show, and a page that is missing required properties isn't eligible at all. Run the code through the Rich Results Test, publish the page, and check the rich result reports in Search Console.

Q.Which fields does Google require for a Product?

Q.

A. For product snippets, Google requires a name plus at least one of offers, review, or aggregateRating. If you include offers, it needs a price and a currency. This tool asks for a price so that it can build the offers block, and it adds ratings only when you enter both a rating and a review count.

Q.Can I put more than one type of markup on a page?

Q.

A. Yes. A product page can carry Product and BreadcrumbList blocks, and a blog post can carry Article and BreadcrumbList. Generate each type separately and paste the blocks into the same page. Keep the main type focused on what the page is mainly about, and make sure shared details such as names and dates match across blocks.

Q.Is anything I enter sent to a server?

Q.

A. No. The code is built in your browser as you type, and the tool makes no requests to send your input anywhere. Closing or reloading the page clears what you entered.

User Feedback & Request

Your feedback
makes this tool better.

Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.

Send feedback