Skip to content

🧩 JSON-LD Generator

Build schema.org structured data (JSON-LD) for 9 major types in real time. Fill the form for Organization, WebSite, Article, Product, FAQPage, HowTo, Event, LocalBusiness, or Recipe — copy or download a Google Rich Results-ready snippet.

100% Free No signup Browser-only 5 languages Dark mode

🔒 About Privacy

📋 Generated JSON-LD


    

💡 To include multiple schemas on one page, wrap them in a single @graph array to avoid duplicates. Paste into Rich Results Test to validate.

📖 Where people get stuck

Generates schema.org structured data (JSON-LD) from form input for nine types: Organization, WebSite, Article, Product, FAQPage, HowTo, Event, LocalBusiness and Recipe. Everything runs in the browser. Valid JSON-LD and a rich result appearing are two different things, though — the first is something a validator can confirm; there is no method that guarantees the second. And the most common failure with structured data is not formatting but content: stating something in the markup that the page does not say is not a defect to be corrected, it is a guideline violation.

Case What happens What to do
The markup and the visible page disagree Search engines require that structured data represent content that actually exists on the page. Putting a rating, a price, stock status or a review count into the markup when it appears nowhere on the page is a guideline violation, and grounds for manual action — the structured data on that page being ignored, or the site as a whole being downgraded. It happens without any bad intent: the most common cause is templating. Write the JSON-LD directly into a template shared by every page and values that ought to differ per page become fixed, drifting away from the body text. The history is almost always "someone hand-wrote it for one page, confirmed it worked, and rolled it out everywhere". And the drift proceeds quietlyupdate the body and forget the JSON-LD, and you are inconsistent from that day on. Generate the markup and the body text from the same single source of data. Pass the same template variable, such as a product price, into the JSON-LD as well, and the structured data follows automatically whenever you edit the bodyany process that requires editing both by hand will leave one behind. This site hit exactly that problem across 28 blog posts and fixed it exactly that way. If you do write it by hand, there is one principle: do not state a value the page does not display. If you want ratings and reviews, put the reviews on the page firstdo it in the other order and you are guaranteed to be in violation. To audit existing pages, use the Enhancements reports in Search Consoleand read the warnings, not only the errors.
FAQ and HowTo rich results are largely gone A change in 2023 restricted FAQ rich results to authoritative sites such as government and health institutions, and ended HowTo display on both desktop and mobile. In other words, an ordinary company site or blog adding either markup will see no change in how its search results look. The markup did not become invalid, and it is still interpreted correctlywhat changed is only whether it is displayed. The problem here is a mismatch of expectations: adding an FAQ block to a page in order to occupy more of the results page fails at that goal and leaves questions of marginal relevance sitting in the pagewhich, for a reader, only gets in the way of finding the answer. Shift the goal of adding markup from display to comprehension. FAQPage and HowTo still help search engines and language models understand the structure of a pagebut since that promises neither ranking nor display, judge it on cost and benefit. The types you can realistically aim rich results at are limited: Article, Product, Recipe, Event, LocalBusiness and Breadcrumb are the practical set. And the one that most reliably pays off is Breadcrumbsimple to implement, with the clear visible change of the URL line in the results being replaced by the breadcrumb trail. Writing an FAQ is a good thing in itselfjust write it because users will read it, not for the results page.
It validates, yet fails the rich result requirements schema.org marks almost no property as requiredas long as the types line up, you have valid JSON-LD. Search engines, on the other hand, publish a separate list of required fields per type for rich results. Conflate the two and you get the state where the validator shows zero errors and nothing is displayed. Common omissions are image and datePublished on Article, offers on Product, with its price, currency and availability, location and startDate on Event, and address on LocalBusiness. Another thing that gets overlooked is duplicated entitieswriting the full Organization into every page means dozens of copies of the same organization exist, leaving it ambiguous which one is authoritative. Use the two validators for different questions. The Schema Markup Validator checks syntax and types; the Rich Results Test checks whether the page is eligible to appearonly the latter tells you about a missing required field. Fill in the recommended fields too: they are not required, so their absence is only a warning, but what actually gets displayed is influenced by how completely they are filled. To resolve duplication, use @id: write the Organization out in full in exactly one place on the site, such as the home page, and reference it from every other page with just {"@id": "https://example.com/#organization"}, so that there is one authoritative copy and one place to update.

Structured data is not a ranking factor. Google has stated plainly that it is not onewhere it has an effect is click-through rate, in that a rich result is easier to notice. So adding structured data to a thin page achieves nothing; the order is to make the content substantial first. Two implementation notes. JSON-LD injected later by JavaScript is read, but including it in the server-rendered HTML is the reliable routeanything that waits for rendering is recognized late, or sometimes not at all. And placing several types on one page is fineArticle, Breadcrumb and Organization coexisting is normal, whether you group them under @graph or split them into separate <script> blocks. Finally, changes take time to showSearch Console reports do not move until the page is recrawled, so do not conclude the day after a change that it did not work.

📖 How to Use

  1. 1
    Choose a schema type
    Select from Organization, WebSite, Article, Product, FAQPage, HowTo, Event, LocalBusiness, or Recipe in the dropdown.
  2. 2
    Fill required fields
    Required fields are marked with *. The output panel updates as you type.
  3. 3
    Copy or download
    Tick the wrap checkbox for a ready-to-paste <script> tag. Insert into the <head> of your HTML.
  4. 4
    Validate with Rich Results Test
    Paste into Google Rich Results Test to confirm Google can parse it.

❓ Frequently Asked Questions

What is JSON-LD?
JSON-LD (JSON for Linking Data) is the W3C-recommended way to express schema.org vocabulary as JSON. Google, Bing and Yandex officially support it, and unlike Microdata or RDFa it does not pollute your HTML markup — making it the de-facto SEO standard. Place it inside a