Schema markup generator

Build valid JSON-LD structured data for any page. Choose a type, fill in the fields, and copy the generated code — everything runs in your browser.

JSON-LD output


      

Your markup must describe content that is actually visible on the page. Verify the result with Google’s Rich Results Test or the Schema.org validator before relying on it.

What structured data does

A web page tells a human reader what it is about through layout and context: a price looks like a price because of where it sits and the currency symbol in front of it. A machine has none of that. Structured data closes the gap by restating the same facts in a fixed vocabulary — this string is the product name, this number is the price, this date is when the event starts — so a search engine does not have to infer them from the HTML.

Two consequences follow. The visible one is rich results: the star ratings, recipe cards, event listings and breadcrumb trails that occupy more space in the search results than a plain blue link. The less visible one matters more over time. Structured data states which entities a page is about unambiguously, which is how search engines and AI answer systems connect a page to a company, a person or a product rather than guessing from text. That identification work continues even for schema types that no longer earn a visual enhancement.

What structured data does not do is improve rankings on its own. Google has been explicit on this point for years, and it is worth holding onto: marking up a thin page does not make it competitive. Schema makes a good page eligible for better presentation.

The history of schema.org and JSON-LD

Structured data on the web went through three awkward formats before settling. Microformats arrived around 2004, embedding meaning in ordinary HTML class attributes. RDFa followed in 2008 with far more expressive power and far more complexity, and HTML5 introduced microdata as a simpler middle ground. All three shared one flaw: the data was tangled into the markup, so changing a page's layout risked breaking its meaning.

The vocabulary itself was unified on 2 June 2011, when Google, Bing and Yahoo jointly launched schema.org, with Yandex joining soon after. For the first time the major search engines agreed on one set of type and property names instead of each publishing its own. JSON-LD — a way of expressing the same vocabulary as a self-contained block of JSON rather than attributes sprinkled through the HTML — became a W3C Recommendation on 16 January 2014, and version 1.1 followed in July 2020. Google came to recommend JSON-LD over the alternatives precisely because it is detachable: the structured data sits in one script block, independent of the markup around it, which makes it far easier to generate, review and keep correct. That is the format this generator produces.

Schema types and what they are still good for

Google's rich result support has narrowed over time, most notably in August 2023 when FAQ rich results were restricted to authoritative government and health sites and HowTo rich results were retired altogether. The markup for those types remains valid schema.org and still helps machines read a page, but the SERP enhancement is gone. The table below reflects what each type realistically earns today.

TypeUse it onRich result today
Article / BlogPostingNews, blog posts, guidesYes — headline and image treatments
ProductProduct and shop pagesYes — price, availability, ratings
LocalBusinessPremises customers visitYes — hours, address, map prominence
EventGigs, classes, conferencesYes — date and venue listings
RecipeRecipe pagesYes — cards, times, ratings
VideoObjectPages hosting a videoYes — video thumbnails and key moments
BreadcrumbListAny page inside a hierarchyYes — breadcrumb trail in place of the URL
JobPostingVacancy pagesYes — Google Jobs eligibility
Organization / PersonHome, about and profile pagesIndirect — feeds knowledge panels
WebSiteHomepage onlyIndirect — sitelinks search box
FAQPageGenuine Q&A sectionsRestricted to authoritative health and government sites
HowToStep-by-step instructionsRetired in 2023

Where the code goes and how to check it

The generated block is self-contained, so it can be pasted anywhere in the page's HTML. Google reads JSON-LD from both the head and the body; the head is the usual convention, and a header-injection field in your CMS or SEO plugin is the normal place to put it. Multiple types on one page are expected rather than a problem — an article inside a category commonly carries Article, BreadcrumbList and Organization markup together, either as separate script blocks or combined into a single top-level array.

Two checks are worth doing every time. Run the page through Google's Rich Results Test, which reports whether the markup is both valid and eligible for an enhancement, and read the Enhancements section of Search Console after the page is recrawled, which shows what Google actually recognised on the live URL rather than what the code claims. The second catches the mismatch the first cannot: markup that is technically perfect but describes prices, ratings or dates that no longer match the page.

Because JSON-LD is plain JSON, the neighbouring tools apply directly. The JSON formatter and validator will pretty-print or check a block you have inherited from elsewhere, the SERP preview tool shows how the title and description around your markup will read in the results, and text to slug helps build the clean URLs that breadcrumb markup describes.

Frequently asked questions

What is schema markup and does it affect rankings?

Schema markup is structured data added to a page in a vocabulary search engines agree on, describing what the page is about in machine-readable terms. It is not a ranking factor in itself — adding it will not move a page up the results, and Google has said so consistently. What it does is make the page eligible for rich results such as star ratings, recipe cards and event listings, and it lets search engines and AI systems identify the entities on the page with confidence instead of inferring them from the text. The practical framing is that schema improves how a page is presented and understood, not where it sits.

Where do I put the JSON-LD code on my page?

Paste the whole script block into the HTML of the page it describes. Google reads JSON-LD from either the head or the body, so either works, and the head is the usual convention. In WordPress, most SEO plugins offer a field for custom JSON-LD, or a header-script plugin will do it; in a hand-built site it goes straight into the template for that page type. The one hard rule is that the markup must describe content a visitor can actually see on that page — structured data about prices, ratings or dates that are not present on the page is a guidelines violation, regardless of whether it validates.

Do FAQ and HowTo schema still produce rich results?

Largely no, following Google's August 2023 change. FAQ rich results are now shown only for well-known authoritative government and health sites, and HowTo rich results were retired entirely. Both types are still valid schema.org and still describe page structure usefully to machines, so there is no harm in using them, but you should not add them expecting the SERP enhancement that older guides promise. The types where visible rich results are still routinely granted are Article, Product, Recipe, Event, BreadcrumbList, LocalBusiness, VideoObject and JobPosting.

Can I use more than one schema type on the same page?

Yes, and most pages should. A blog post sitting inside a category typically carries Article markup for the post, BreadcrumbList for its position in the hierarchy, and Organization for the publisher — three types describing three different things about one page. You can add them as separate script blocks one after another, or combine them into a single block using a JSON array at the top level. Google treats both arrangements identically, so generate each type here and paste the blocks together. What you should not do is declare the same type twice with conflicting values, which forces a search engine to pick one.

Why does the Rich Results Test pass but no rich result appears?

Validity makes a page eligible for a rich result; it does not entitle it to one. Google decides case by case, weighing content quality, whether the markup matches the visible page, the trust it extends to the site overall, and the query being searched — and for some types, FAQ and HowTo among them, no enhancement is offered any more regardless of validity. Timing accounts for many apparent failures too, since nothing can appear until the page has been recrawled, which takes days to weeks. The Enhancements reports in Search Console are the authoritative check: they show what Google recognised on the live URL rather than what your code claims.

Is it safe to add review ratings to my schema?

Only when the ratings are genuine, gathered from real customers, and visible on the page itself. Inventing an aggregateRating, or marking up ratings that appear nowhere a visitor can see, breaches Google's structured data guidelines and is one of the more common causes of a manual action — and that penalty typically strips rich results from the whole domain, not just the offending page. Self-serving reviews of your own business on your own site are disallowed as well. If you have no reviews yet, leave the rating fields empty; the remaining markup is perfectly valid without them, and you can add ratings later once there is something real to report.