Schema.org JSON-LD Wizard
Build valid Schema.org JSON-LD for Product, Article, FAQPage, HowTo, Recipe, JobPosting and more, then copy the script tag and run the Rich Results Test.
This Schema.org JSON-LD wizard writes valid structured data for you, right in your browser, so one stray comma never gets your markup silently dropped again. Pick from the 11 rich-result types that move the SERP in 2026: Product with offer and rating, Article, FAQPage, HowTo, Recipe, Course, JobPosting, LocalBusiness, Event, Review and BreadcrumbList. Each type loads its own form with only the fields Google marks Required or Recommended, so the output stays lean. Hit generate and it builds the object tree, drops empty fields, normalises dates to ISO 8601, prefixes prices with the currency code, then wraps it in the standard envelope. Best-practice checks flag missing fields, you copy the script tag, and a one-click link opens the Google Rich Results Test. Nothing you type ever leaves the page.
100% in your browser. Nothing you type ever leaves this page.
JSON-LD structured-data wizard
Hand-writing JSON-LD is miserable. One stray comma and Google quietly ignores the whole block. So this builds it for you, for the rich-result types that actually move the SERP in 2026: Product with offer and aggregate rating, Article, FAQPage, HowTo, Recipe, Course, JobPosting, LocalBusiness, Event, Review, BreadcrumbList. Pick a type, fill the form, copy the script tag. Output tracks the Google Search Central docs and passes the Rich Results Test plus the Schema.org validator. Optional fields start switched off, on purpose, so what you get out stays lean instead of bloated.
What comes out is plain Schema.org markup, nothing exotic. Drop the <script> tag into your page <head> or just before </body>. Then re-run the Google Rich Results Test once it's live, not before.
What Schema.org JSON-LD does for SEO in 2026
Schema.org JSON-LD is the structured-data vocabulary that Google, Bing, Yandex, DuckDuckGo, Apple and a handful of AI search products all read to figure out what a page actually is. Declare a Product and Google can light up a star rating, a price, an availability chip right there in the result. Declare a Recipe and cooking time and a thumbnail show up. Declare JobPosting and the listing can land in the Google Jobs experience. Here is the catch most people miss: none of this is inferred. Search engines will not guess your structured data. You publish it, explicitly, as JSON-LD on the page, or you get nothing. Clean markup on the right page types pulls noticeably more click-through than an empty page, or worse, broken markup that gets silently dropped.
How the wizard generates valid markup
- Pick the schema type from the 11 rich-result types supported today. Each one loads its own form template with the field set that fits it.
- Fill the form. Required fields get flagged. Recommended ones show up too, but skip them if you want. The gnarly nested bits like Product Offer, Recipe Instructions and JobPosting hiringOrganization sit in their own labelled sub-sections so they do not sprawl.
- Generate the JSON-LD by hitting the button. Behind the scenes it builds the object tree, tosses empty fields, normalises dates to ISO 8601, prefixes prices with the currency code, then wraps the lot in the standard envelope.
- Validate through the Open Google Rich Results Test link with your markup pasted in. A green check means you are eligible. Warnings just list optional fields you could add for a richer display.
- Publish by dropping the full
<script type="application/ld+json">tag into<head>or right before</body>. Where you put it does not touch ranking. Being consistent about it does.
Common use cases
- E-commerce product pages. Build Product with the offer (price, availability, currency), plus aggregateRating, brand and SKU, to earn price chips in the SERP and qualify for the Shopping experience.
- Editorial article. Build Article with headline, author, datePublished, image and publisher. This is the price of entry for Google News and Discover, and for any shot at the Top Stories carousel.
- FAQ block. Build FAQPage from 4 to 8 question and answer pairs. The payoff is biggest when the page already sits in the top 5, less so otherwise.
- Job posting. Build JobPosting with title, description, datePosted, validThrough, hiringOrganization, jobLocation and baseSalary. Skip any required field and Google Jobs will not show you.
- Local business, event, course, recipe or breadcrumbs. Each loads a tailored form so the output stays lean and matches what the 2026 Google docs mark Required or Recommended.
Limitations and privacy
Valid markup buys you eligibility, not the rich result itself. Google still decides per page whether to show it, weighing the markup against query intent and quality signals. Put Product on a page that is not a product and you are asking for a manual action. This tool sticks to the Required and Recommended properties, so when your content carries more structured data worth declaring, extend the output yourself. The whole thing runs in your browser. Your field values get processed locally and never touch PeopleAreGeek or Google during generation. The Open Google Rich Results Test button just opens Google's official validator in a fresh tab, and that is the one moment your JSON-LD reaches Google, no different from pasting it into the public web tool by hand.
Frequently asked questions
Where in the page should the JSON-LD script go?
Either the head or anywhere in the body. Google parses both, so it honestly does not matter much. A lot of people park it just before the closing body tag because that will not block first paint. Placement will not move your ranking. Doing it the same way across the whole site, that is what helps.
Can I publish multiple JSON-LD blocks on the same page?
Yep. One page can declare BreadcrumbList, Article and FAQPage all at once. Either give each type its own script tag or wrap the whole set in @graph, your call. This tool emits one type at a time, so if you need several, just stitch the outputs together yourself.
Why does my markup pass the validator but no rich result appears?
Because eligible and displayed are not the same thing. Google calls it per query, weighing quality signals, intent and site authority before it shows the enhanced result. Valid markup is the floor, not the ceiling. To check you are actually eligible, watch the Search Console enhancements report for that type.
Are the generated values stored anywhere?
No. It all runs in your browser. Your form values, the generated JSON, the file you download, none of it reaches PeopleAreGeek or any other server. The Open Rich Results Test button is the one and only outbound link, and clicking it ships the markup to Google, which is rather the whole point of validating.