Schema Markup Generator (JSON-LD Structured Data)
Fill a short form and get a Google-valid JSON-LD block for the eight rich-result types people actually use — LocalBusiness, Organization, Article, Product, FAQPage, BreadcrumbList, Event and Person. Copy, paste into your <head>, done. Free, no signup, and it never leaves your browser.
How it works
Structured data is a small, machine-readable summary of what a page is about. Search engines read it to understand your content and to decide whether the page qualifies for a rich result — the star ratings, FAQ drop-downs, business panels and breadcrumb trails you see in Google. This generator produces that summary in JSON-LD, the format Google names as its recommended syntax in the Introduction to structured data guide.
It is a serializer, not a numeric calculator. For the type you select it maps each form field to the correct schema.org property and builds a JSON object, then pretty-prints it with JSON.stringify. Because the JSON is assembled from real objects rather than glued together as text, every quote, backslash and newline in your input is escaped correctly — it is not possible to produce a broken block by typing an awkward character. The four rules it follows:
- Envelope. Every block opens with
"@context": "https://schema.org"and the chosen@type, exactly as schema.org requires. - Correct nesting. Compound values become their own typed objects — an address is a
PostalAddress, opening hours areOpeningHoursSpecificationentries, and an author is a nestedPerson. Day names and availability become full schema.org URLs. - Omission. Any field you leave blank is dropped entirely — the output never contains an empty string, a
null, or a half-filled object. This keeps the block minimal and avoids validator warnings. - Auto-numbering. BreadcrumbList positions are assigned 1, 2, 3… from the order of your rows, so you never hand-number them.
The live checklist below the form compares the block it just built against Google's documented required and recommended properties for that type — green when satisfied, amber for a missing recommended field, red for a missing required one. As a final cross-check the tool round-trips the output through JSON.parse and confirms the @context, showing a “Valid JSON verified” badge only when the block parses cleanly. Structural validity is guaranteed here; whether Google then awards a rich result depends on your content and its own policies.
Worked examples
Supported types
Version 1 covers the eight types that map to documented Google rich results. Niche types (Recipe, JobPosting, Course, Video) are planned for a later version.
- LocalBusinessShops, restaurants, clinics — show hours, address and phone in Google.
- OrganizationA company or brand — logo, site and social profiles for the Knowledge panel.
- ArticleBlog posts and news — headline, author and dates for article rich results.
- ProductA product with price, availability and rating for merchant listings.
- FAQPageQuestion-and-answer pairs eligible for the FAQ rich result.
- BreadcrumbListThe trail of links Google shows above your page title in results.
- EventConcerts, workshops, webinars — name, dates and location for event results.
- PersonAn author or public figure — job title, site and social profiles.
Frequently asked questions
Sources & references
- Google Search Central — Intro to structured data (JSON-LD is recommended)
- schema.org — full type and property vocabulary
- Google — LocalBusiness structured data
- Google — Article structured data
- Google — Product (merchant listing) structured data
- Google — FAQ (FAQPage) structured data
- Google — Breadcrumb (BreadcrumbList) structured data
- Google Rich Results Test — validate your output
Property names, casing, nesting and the required/recommended checklists were last cross-checked against these sources on 2026-07-09. Google revises its feature requirements occasionally; this page is reviewed on that date and whenever a change is announced.
Related tools
Comments & feedback
Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.
Found a bug, edge case, or want another schema type supported?
Email me at [email protected] — most fixes ship within 24 hours.