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.
Required fields are missing
- At least one question with an answer
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": []
}
</script>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
- Choose a type from the tabs at the top: FAQ, Article, Product, Local Business, Event, Breadcrumb, or Organization.
- Fill in the form. Fields marked * are the ones Google asks for. Click “Load sample data” to see a filled-in example.
- Check the warning box above the code. When it turns green, the fields Google needs for that type are filled in.
- 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.
| Type | What Google requires | Used for |
|---|---|---|
| Product | name, plus at least one of offers, review, or aggregateRating | Product snippets with price, availability, and ratings |
| Article | Nothing required. Recommended: headline, image, datePublished, dateModified, author | Title, image, and date in results |
| Local Business | name and address | Business details such as hours in knowledge panels |
| Event | name, startDate, and location | Event listings in Search and Maps |
| Breadcrumb | At least two list items, each with position and name. item is optional on the last one | Breadcrumb trail in the result |
| Organization | Nothing required | Organization name, logo, and profile links |
| FAQ | Rich results discontinued May 7, 2026 | Valid 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▼
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▼
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▼
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▼
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▼
Rich Results and Markup Questions
Q.What is JSON-LD, and do I need it?
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?
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?
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?
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?
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?
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?
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.
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.