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.
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.
Saved targets, named lists, and recent check summaries remain only in this browser.
@graph.@id inside a
single @graph, so you don't repeat yourself.<script> tag, or a
ready-to-paste Astro, Next.js, Google Tag Manager, or WordPress snippet.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.
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).
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.
@graph compose mode with @id links.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.
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.
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.
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.
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.
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.
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.
You won't be emailed about that request anymore.
Loading…
New requests are reviewed before they appear here.
Where this tool helps
Start from a focused form or a deterministic example, fill the required properties, and resolve validation issues while the page is still in review.
Paste an existing JSON-LD block, load its supported fields into the editor, and turn Person or Organization nodes into reusable @id-linked entities.
Compose Article, Organization, WebSite, and BreadcrumbList nodes into one @graph instead of duplicating disconnected markup across a page.
Switch among raw JSON-LD, HTML, Astro, Next.js, Google Tag Manager, and WordPress formats, then copy or export the version the implementation needs.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.