Schema markup generator

Pick a type, fill the fields Google documents, and copy the JSON-LD into the head of the page. Required fields are marked, URLs and dates are checked as you type, and nothing leaves your browser.

By , founder of Porteur · Updated 14 September 2026 · Markdown

Who stands behind the site. Google reads it for the knowledge panel and the logo in results; assistants read it for the name, the site and the profiles.

  • Name is required.
  • Website is required.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization"
}
</script>

What it makes

One block of JSON-LD for one of the eight types a product site uses: Organization, WebSite (with the search box), SoftwareApplication, Product, Article, FAQPage, HowTo and BreadcrumbList. Each form holds the fields Google lists in its structured data documentation for that type, with the required ones marked and the recommended ones left optional.

As you type, the block on the right rewrites itself and a line under the form says whether every required field is filled and every value has the right shape: an absolute URL where a URL is asked for, an ISO 8601 date, a numeric price with a three-letter currency, a duration written as PT10M. When the line is green the block is ready to paste.

  • Organization: name, website, logo, description, contact email, founding date, profiles on other sites (sameAs).
  • WebSite: the site name, the home page, a short name, and a search URL with {search_term_string} for the sitelinks search box.
  • SoftwareApplication: name, category, platform, the lowest price with its currency, and a rating from real reviews.
  • Product: name, images, description, SKU, brand, price, currency, availability, the buy page, a rating.
  • Article: headline, images, published and updated dates, author, publisher, description.
  • FAQPage: as many questions and answers as the page shows.
  • HowTo: what the steps achieve, a description, the total time, and the steps in order.
  • BreadcrumbList: the path from the home page to the page, positions numbered for you.

Why it matters

Structured data is how a page says what it is in a form a machine reads without guessing. Google uses it to draw richer results (a breadcrumb instead of a raw URL, a product's price and availability, an article's date and author, a site's search box) and to understand who stands behind a site. AI assistants that retrieve a page read the same block to name the product, its maker and its price without parsing the prose.

Two rich results have gone the other way, and the form says so where it applies. Since August 2023 Google shows the FAQ rich result only for authoritative government and health sites, and the HowTo rich result was retired the same year. The markup is still worth adding on a page that holds questions or steps: it tells an assistant, plainly, which questions the page answers and in what order the steps go. It just no longer changes how the result looks in Google.

How to use it

  1. Pick the type

    One type per block. A pricing page usually carries SoftwareApplication or Product and a BreadcrumbList; a guide carries Article and, if it has questions, FAQPage; the home page carries Organization and WebSite.

  2. Fill the required fields first

    They are marked. The line under the form stays red until each one has a value of the right shape. Recommended fields are worth filling when you have the fact: an empty field is better than a guessed one.

  3. Read the block

    It rewrites as you type. Check the names match the page exactly: the product name here and the h1 on the page should be the same string, because assistants match on names.

  4. Copy it, wrapped or bare

    Wrapped adds the script tag so the block can go straight into the head of the page. Bare is for a framework that adds the tag for you, such as a JSON-LD component.

  5. Check it on the live page

    Once deployed, paste the page URL into the structured data checker on this site, or into Google's Rich Results Test, to see what a crawler reads.

A worked example. yourproduct.com sells an invoicing app with a free plan. On the home page: an Organization block (name, site, logo, the X and GitHub profiles) and a WebSite block. On /pricing: a SoftwareApplication block with the name, BusinessApplication as the category, Web as the platform, price 0 and EUR as the currency, and no rating, because the site has no reviews yet. On /guides/first-invoice: an Article block with the headline, the two dates and the founder as author, and a BreadcrumbList with Home, Guides, and the guide. Four blocks, twenty minutes.

How to read the result

The line saysIt meansWhat to do
Name is requiredA field Google lists as required is empty.Fill it; the block is not valid for the type without it.
Must be an absolute URLA URL field holds a path or a bare domain.Write the whole address, starting with https://.
Must be an ISO 8601 dateA date is written as 14/09/2026 or September 14.Write 2026-09-14, or a full timestamp with the time zone.
Currency must be three capital lettersThe currency is written as € or euros.Use the ISO 4217 code: EUR, USD, GBP.
At least 2 neededA list type (steps, breadcrumb) has fewer rows than it needs.Add the rows; a breadcrumb with one item says nothing.
Every required field is filledThe block has the right shape for the type.Paste it on the page and check the live page with a crawler.

The check is about shape, not truth. It cannot know whether the price is the one on the page or whether the author exists. That part is yours, and it is the part Google's spam policies read.

Limits

  • One type per block. A page that needs several types gets several blocks, one after the other, each in its own script tag.
  • Eight types, the ones a product site uses. Recipes, events, jobs, local businesses and videos have their own types with their own required fields; Google's documentation lists them.
  • Shape, not eligibility. A valid block does not guarantee a rich result: Google decides per page, per query, and some rich results are gone for most sites.
  • Nothing is fetched. The generator does not read your page; the structured data checker does that once the block is live.

Questions

Check my site, free

The block is the easy part. The free check reads the whole site and says which pages Google shows and nobody clicks, which rivals take your searches, and where the markup is missing or wrong.

  • Free check, no card
  • Read-only, your own accounts
  • Readable by your agent

Read next