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.