Schema Markup Generator

Free tool

Start with the 19 curated high-value forms — Article, Product, Recipe, Event, LocalBusiness, VideoObject, JobPosting, Dataset, SoftwareApplication, QAPage, and more — or browse all 921 types in the vendored Schema.org vocabulary. The universal editor derives inherited applicable properties and expected ranges; it never treats Schema.org validity as a promise of a search-engine feature.

Everything runs in your browser: live SERP preview for curated types, reusable Person/Organization entities linked by @id inside an @graph, paste-and-audit for existing markup, autosave, export/import, shareable links, generic JSON-LD output for catalog types, and a separate stable OpenAI/ChatGPT flat product-feed panel with CSV and JSONL exports.

Runs in your browser — uploads are not sent to our server, but the current project is autosaved in this browser’s local storage until you replace it or clear this site’s browser data. If you choose live-URL prefill, only that public URL is sent to this site's guarded fetch endpoint. Anonymous run-level outcome counters may be used for aggregate research; URLs, domains, IPs, and identifiers are never included, and no statistic is released below 100 runs.

Local data

Saved targets, named lists, and recent check summaries remain only in this browser.

How to use it

  1. Pick one of 19 curated schema types, browse all Schema.org types, or compose Article, Organization, WebSite, and BreadcrumbList into one @graph.
  2. Fill in the fields. The tool validates as you type against Google's current rich-result requirements and updates the live SERP preview.
  3. Reuse a Person or Organization you've already built — they're linked by @id inside a single @graph, so you don't repeat yourself.
  4. Copy the output in the format you need: raw JSON-LD, an HTML <script> tag, or a ready-to-paste Astro, Next.js, Google Tag Manager, or WordPress snippet.

Sample report

An Article with a linked author comes out as:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How redirect chains affect SEO",
  "author": { "@type": "Person", "name": "Patrick Stox" },
  "datePublished": "2026-07-08",
  "image": "https://example.com/cover.jpg"
}

Paste that into your page's <head> as a <script type="application/ld+json"> block. The generator validates it live — a missing required property (say headline or image) is flagged before you ship, and reusable entities are wired together with @id instead of duplicated.

What the validation tells you

As you type, each field is checked against Google's documented rich-result rules for that type — required properties that block eligibility, recommended ones that improve it, and retired features it warns you off. Meeting every requirement makes a rich result possible, never guaranteed: Google decides at query time, and some result types no longer exist (FAQ rich results were retired in May 2026 — the tool says so rather than letting you chase a gone listing).

How it works

Everything runs in your browser. The generator builds a schema.org @graph; curated forms validate against Google's current requirements, while catalog types validate against the vendored Schema.org vocabulary and show only documented engine badges. It renders curated SERP previews and emits six output formats. Autosave, export/import, and shareable links are all client-side. When you choose live-URL prefill, the URL is fetched through the site's guarded text-fetch endpoint; the tool only fills fields you have left empty.

Features

  • Nineteen focused forms plus all 921 vendored Schema.org types, with inherited properties and expected ranges for generic types.
  • Google rich-result validation and a live SERP preview for curated forms; vocabulary/range validation for catalog types.
  • Reusable Person/Organization entities and a full @graph compose mode with @id links.
  • Six outputs: JSON-LD, HTML script tag, Astro, Next.js, GTM, WordPress.
  • Autosave, export/import, and shareable links — all in-browser.

Limitations

It generates JSON-LD (the format Google recommends), not Microdata or RDFa. The universal browser covers the vendored Schema.org vocabulary, but valid markup is still necessary rather than sufficient for a rich result. Live-URL prefill is intentionally non-destructive: it never replaces a value you have already entered.

Frequently asked questions

Which schema types can this generate?

The generator has 19 curated forms plus a browser for all 921 types in the vendored Schema.org vocabulary. Curated forms use Google-specific checks; catalog types use general vocabulary validation and honest support badges.

Should I use JSON-LD, Microdata, or RDFa?

Google recommends JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal., and it is easier to maintain separately from HTML. This generator outputs JSON-LD plus snippets for HTML, Astro, Next.js, Google Tag Manager, and WordPress.

Does generating schema guarantee a rich result?

No. Valid markup can make a supported result possible, not guaranteed. Search engines decide eligibility and display, and the tool flags retired features rather than promising them.

Where do I put the generated code?

Add the JSON-LD in a script element on the relevant page, or use a provided framework snippet. Reusable Person and Organization entities"Entity & identity schema" is a practitioner label — not an official Google or schema.org category, and not exhaustive of identity-capable schema.org types — for the three main types that declare who or what is behind a site: Organization, LocalBusiness, and Person. can be linked by @id inside an @graph.

Is anything I type uploaded or stored?

Normal generation, validation, preview, autosave, and export/import run in your browser. Live-URL prefill fetches only the URL you request through the guarded endpoint.

Next stepSchema Markup Validator — verify it with a direct check.

Feature requests for Schema Generator

Upvote what you want most. New ideas can be submitted from the floating Feedback menu; requests appear here once approved, and the most-wanted rise to the top.

Loading…

➕ Request a feature

New requests are reviewed before they appear here.

Feedback
Report a bug

Found something broken in Schema Generator? Let us know what happened — this goes straight to a private triage queue, not a public list.

What will be sent
 No tool inputs, uploads, pasted source, complete results, query parameters, or URL fragments are attached automatically. You can edit or remove the selected passage above. Browser and anti-abuse metadata is processed for spam prevention. 

Where this tool helps

Common use cases

Build valid JSON-LD before a page ships

Start from a focused form or a deterministic example, fill the required properties, and resolve validation issues while the page is still in review.

Repair and reuse existing structured data

Paste an existing JSON-LD block, load its supported fields into the editor, and turn Person or Organization nodes into reusable @id-linked entities.

Create connected entity graphs

Compose Article, Organization, WebSite, and BreadcrumbList nodes into one @graph instead of duplicating disconnected markup across a page.

Hand implementation-ready code to developers

Switch among raw JSON-LD, HTML, Astro, Next.js, Google Tag Manager, and WordPress formats, then copy or export the version the implementation needs.

Explore less-common Schema.org types honestly

Browse the vendored vocabulary with inherited properties, expected ranges, and support badges without treating vocabulary validity as a rich-result guarantee.

Watch the full workflow

Schema Markup Generator walkthrough

Read the transcript

Schema Markup Generator

Hi! This is Schema Markup Generator. It is for anyone who needs to describe a page clearly to search engines without hand-writing code. I will define the basics, build a complete recipe example, explain the validation, repair existing markup, and export code a developer can use.

Step 1

Structured data is information added to a page in a standard format so machines can understand what the page is about. JSON-LD is the code format this tool creates. Instead of writing that code yourself, you choose a page type and fill in a guided form.

Step 2

Use it to create markup before a page launches, repair an existing block, connect an author or organization across several schema nodes, and give a developer ready-to-use code. It is also useful when you need a less-common Schema.org type that does not have a dedicated form.

Step 3

The top row holds project actions such as "Paste & audit," "Share link," "Export," "Import," and "Reset." Below it, choose a schema type such as Article, Product, Recipe, or Organization. You can also prefill from a public URL, but this walkthrough uses built-in fictional data.

Step 4

The validation box updates while you type. "Required" fields are the ones this focused form needs for its supported result. "Recommended" fields make the description more complete. Fix every error before copying the code, but remember that a green result checks the markup, not whether a rich result will appear.

Step 5

I will choose "Recipe" and then "Weeknight recipe." The form fills with a fictional pasta recipe, and the validation changes to "Valid markup." The preset is only a learning shortcut. On a real page, replace every example value with accurate information visitors can actually see.

Step 6

The left panel contains the facts that describe this recipe: its name, image, description, preparation time, yield, ingredients, and instructions. Labels show which fields are required or recommended. If a value is not true or is not supported by the visible page, leave it out or correct the page first.

Step 7

The right panel turns those fields into JSON-LD immediately—there is no submit button. The code names the type as Recipe and includes only the filled values. This is the same information from the form, written in a machine-readable structure that can be placed on the page.

Step 8

Select "Search preview" to review how the important information might be presented. The word "might" matters. The note says this is an approximation, and the real appearance can change by query, device, ranking, eligibility, and the search engine's own choices.

Step 9

The format buttons wrap the same data for different implementations. "JSON-LD" gives the data alone. "HTML <script>" creates a script block. Astro, Next.js, Tag Manager, and WordPress provide platform-friendly versions. Choose the format your developer expects, then use "Copy" after validation is clear.

Step 10

If you already have JSON-LD, open "Paste & audit." I will paste a fictional Article with a headline, image, date, and author, then choose "Parse & load." Supported values move into the form for editing and validation. Invalid input produces an error instead of inventing missing facts.

Step 11

An entity is a specific person, organization, place, or thing. Open "Entities" and add an Organization once, with a stable name and website. Other schema nodes can reference that same organization instead of copying it repeatedly, which helps keep identity information consistent.

Step 12

Turn on "Compose full @graph" when one page needs several connected descriptions, such as an Article, its author, and the publishing Organization. The graph links those nodes in one block. More nodes are not automatically better—include only the things that truly belong on this page.

Step 13

For a type without a guided form, open "All Schema.org" and search the full catalog. The badges separate general vocabulary support from documented search features. A type can be valid Schema.org and still have no special search appearance, so use it to describe the page accurately—not to promise a result.

Step 14

This generator creates JSON-LD, not Microdata or RDFa. The guided forms add documented search guidance, while the full catalog checks the broader Schema.org vocabulary. It cannot prove that your facts match the page, and it cannot guarantee indexing, ranking, traffic, or a rich result.

Step 15

Your next steps are simple. Compare every field with the visible page, clear error-level findings, choose the correct format, and copy the code into a test page. Then open the linked validator and test the rendered URL. After launch, monitor the actual search reports rather than relying on this preview alone.

Build it. Check the facts. Test the real page.

That is the complete workflow: choose the right type, fill the fields with facts that appear on the page, clear the errors, export the right format, and test the implemented URL. Valid markup can make a search feature possible, but only the search engine decides whether to show it.