Skip to content
ToolBoxGenie

Schema Markup Generator

Developer Tools · Added 18 August 2026

Fill in a form and get a JSON-LD block ready to paste into your page. Nine types are covered — the ones Google actually documents — and each says plainly what the markup can and cannot do for a page, because structured data makes a result eligible for a rich treatment rather than guaranteeing one.

Makes the article eligible for the headline, date and image treatment in search and in Google News. It does not by itself create a rich result.

Google truncates past about 110 characters.

Use the largest version you have; 1200px wide or more.

JSON-LD

Still needed for a valid block: Headline, Author name, Published. The output below updates as you fill them in.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article"
}
</script>

Before you ship it

  • Paste the block into the page's <head>, or anywhere in the body — both are valid, and position makes no difference.
  • Every value must correspond to something a visitor can see on the page. Marking up a price, a rating or an event that is not shown is what Google's structured data policies call spammy markup, and it is actioned manually.
  • Validate it with Google's Rich Results Test and with the Schema.org validator — they check different things, and both are free.
  • Structured data makes a page eligible for a rich result. It does not guarantee one, and Google withdraws types over time — FAQ rich results were restricted to a small set of sites in 2023.

Empty fields are dropped rather than emitted blank, so a partly filled form still produces a valid block. Everything is generated in your browser; nothing you type here is sent anywhere.

How to use the schema markup generator

  1. 1Choose the type that describes what the page is actually about.
  2. 2Read the note about what that type can produce in search results.
  3. 3Fill in the fields. Required ones are marked, and missing ones are listed above the output.
  4. 4Copy the generated script tag into the page's head or body — either is valid.
  5. 5Validate it with Google's Rich Results Test and the Schema.org validator before shipping.

Examples

A blog post

Input
Headline, author, publish date and image for an Article
Result
An Article block with a nested Person author and an ImageObject publisher logo

A local business

Input
Name, address, phone and opening hours
Result
A LocalBusiness block with a PostalAddress and openingHours in day-code format

The subtype field lets you emit Restaurant, Dentist or Plumber instead of the generic LocalBusiness.

Breadcrumbs

Input
Home, Category, This page — with URLs
Result
A BreadcrumbList with positioned ListItems, which replaces the raw URL in search results

About the schema markup generator

What structured data does

Search engines read a page as text and infer what it is about. Structured data removes the inference: it states, in a format designed for machines, that this string is a price, that one is a publication date, and this block of text answers that question.

The visible payoff is the rich result — stars, prices, breadcrumbs, event dates. The less visible one matters more over time: it helps a search engine connect a page to an entity it already knows about, which is what a knowledge panel is built from and what makes a brand recognisable across queries.

Choosing a type honestly

The temptation is to mark up as much as possible. Resist it. A type that does not describe the page adds no benefit and creates a mismatch a reviewer can see — and once one type on a site is inaccurate, the rest is trusted less.

The types worth the effort on most sites are few: BreadcrumbList, because it reliably changes what a result looks like; Organization, because it anchors the brand; Article on editorial pages; and LocalBusiness or Product where the page genuinely is one. Everything else is situational.

Validating and maintaining it

Two validators, and they check different things. Google's Rich Results Test tells you whether a page qualifies for a specific rich result and which required fields are missing. The Schema.org validator checks the markup against the vocabulary itself, including properties Google ignores. Passing both is the bar.

After that, the maintenance question is whether the markup stays true. Structured data written by hand goes stale — a price changes, an author leaves, an event passes — and stale markup is inaccurate markup. Generating it from the same data that renders the page is the only approach that stays correct without anyone remembering to check.

Frequently asked questions

Will this get me rich snippets?
It makes the page eligible; it does not guarantee anything. Google decides whether to show a rich result based on the page's quality, the query, and whether the markup is accurate — and it withdraws types over time. FAQ rich results were restricted to a small set of government and health sites in 2023, and How-to results were dropped from desktop entirely. Each type here states its realistic outcome rather than promising a snippet.
Do the values have to appear on the page?
Yes, and this is a policy requirement rather than a suggestion. Google's structured data guidelines are explicit that markup must describe content visible to the user. Marking up a price, a rating, an event or a review that a visitor cannot see is what the guidelines call spammy structured markup, and it draws a manual action against the site rather than a warning.
Where in the page should the script tag go?
Either the head or the body — Google reads both and position makes no difference. The head is conventional and keeps it out of the way of content edits. What does matter is that it renders in the served HTML: markup injected by JavaScript after load is read less reliably.
Should I use JSON-LD, microdata or RDFa?
JSON-LD, which is what this tool generates. Google recommends it explicitly, and it is the only one of the three that keeps the markup separate from the HTML — so changing the page layout cannot accidentally break the structured data, and the block can be generated by a template rather than threaded through the markup.
Can one page have several blocks?
Yes, and it is often the right answer: an article page might carry Article, BreadcrumbList and Organization. Generate them one at a time here and paste each as its own script tag. What you should not do is describe the same entity twice with conflicting values.
Why are some fields left out of the output?
Empty fields are dropped rather than emitted blank, because an empty property is worse than an absent one — validators flag it and it tells search engines nothing. The tool only includes properties Google marks required or recommended for the type, for the same reason: emitting everything schema.org defines makes a larger block that changes nothing.