Skip to main content
Free tool

Schema markup generator

JSON-LD for 8 schema.org types, the fields Google requires and recommends

  • Free
  • No account required
Data type

Article

Google requires no field for Article but recommends a headline, image, published and modified dates, and an author. Use BlogPosting for blog posts and NewsArticle for news.

JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "How to benchmark a website against competitors",
  "mainEntityOfPage": "https://example.com/blog/website-benchmark",
  "image": [
    "https://example.com/og/benchmark.png"
  ],
  "datePublished": "2026-09-23T09:00-04:00",
  "dateModified": "2026-09-23T09:00-04:00",
  "author": {
    "@type": "Person",
    "name": "Jane Doe",
    "url": "https://example.com/about/jane"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Example",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  }
}
</script>

Checks

No errors

Test after publishing: Rich Results Test, Schema Markup Validator, Google documentation for this type

The code is built in your browser. Nothing you type is sent anywhere.

This schema markup generator creates JSON-LD for Article, Product, LocalBusiness, Organization, BreadcrumbList, Event, WebSite and FAQPage. Pick a type, fill in the fields (the ones Google requires or recommends are marked) and copy the ready <script> tag into your page. It checks full URLs, ISO 8601 dates, currency codes and opening hours as you type. Structured data does not guarantee a rich result, and since May 2026 FAQ earns none at all.

About the tool

What schema markup gets you

Structured data describes a page in a way a machine can read without guessing. Google recommends JSON-LD: a separate <script type="application/ld+json"> tag that does not mix with your HTML content.

Code does not guarantee a rich result. Google says plainly that valid structured data makes a page eligible for a feature but does not guarantee it will appear. The data must also match what is visible on the page.

The list of supported features changes. How-to disappeared from results in September 2023, the sitelinks search box in November 2024 and FAQ in May 2026. That is why each type links to Google's current documentation.

After publishing, test the page in the Rich Results Test (Google features) and the Schema Markup Validator (general schema.org validity), and watch the Search Console reports for changes.

In practice

Describe what the page shows

Structured data has to match the page: the same price, the same hours, the same author. Fill the fields with what a visitor will see, and if the page shows something else, fix the page first.

Google Search Central, Structured data gallery
Step by step

How to add JSON-LD structured data to a page

JSON-LD structured data is a <code>&lt;script type="application/ld+json"&gt;</code> block that describes a page with the schema.org vocabulary. Five steps take you from choosing a type to checking Search Console.

  1. Choose a type that matches the visible content

    A product page gets Product, an article gets Article, a business listing gets LocalBusiness. The type describes what users see on the page.

  2. Fill in the required and recommended fields

    The generator marks the fields Google requires or recommends for each type. Copy the values from the page content: the same price, the same date, the same name.

  3. Use full URLs and ISO 8601 dates

    Enter images, logos and pages as full https URLs, and dates as 2026-10-26 or with a time and time zone. The tool checks both formats as you type.

  4. Paste the script into the page

    Copy the <script> tag into the <head> or <body> of that specific page. In a CMS, use a custom code field or a plugin that adds JSON-LD to a chosen page.

  5. Test it and watch the reports

    The Rich Results Test shows whether a page is eligible for Google features, and the Schema Markup Validator checks it against schema.org. After publishing, Search Console reports show errors across every page of that type.

Examples

Example JSON-LD before and after a fix

The data are examples on example.com.

Article with a local date format and a relative image
Before
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to cut store load time",
  "datePublished": "10/26/2026",
  "image": "/img/cover.png"
}
After
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to cut store load time",
  "datePublished": "2026-10-26T09:00:00+01:00",
  "image": "https://example.com/img/cover.png"
}

An ISO 8601 date with a time zone and a full image URL are the two fixes the generator points out most often.

Organization for the home page
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example",
  "url": "https://example.com/",
  "logo": "https://example.com/logo.png",
  "sameAs": ["https://www.linkedin.com/company/example"]
}
</script>

List only profiles in sameAs that exist and belong to this organization.

Product with a price and currency
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Ceramic mug 350 ml",
  "image": "https://example.com/img/mug.jpg",
  "offers": {
    "@type": "Offer",
    "price": "12.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}

The price uses a decimal point, and the currency a three letter ISO 4217 code. The value must match the price shown on the page.

Common mistakes

Common structured data mistakes

  • Data that is not visible on the page

    Google guidelines forbid marking up content that readers cannot see. Data like that can lead to a manual action, a penalty applied by a Google reviewer.

  • Adding FAQPage and HowTo for a rich result

    Google stopped showing How-to in 2023 and FAQ on 7 May 2026. These types still describe content, and the result looks the same with or without them.

  • Different values in schema and in the content

    A price, rating or date in JSON-LD that differs from the page is a common source of errors. Google requires structured data to be a true representation of the page content.

  • Relative URLs and local date formats

    A path like /logo.png and a date like 10/26/2026 look fine to a person, but the parser expects a full URL and the ISO 8601 format.

  • Checking only the syntax

    Valid JSON can still miss what Google requires for a type. Test the page in both the Schema Markup Validator and the Rich Results Test, because each checks something different.

Numbers and sources

Structured data according to Google and schema.org

ValueWhat it meansSource
JSON-LDThe format Google recommends when your site setup allows it. Microdata and RDFa are also supported.Google Search Central, structured data
826 typesThe size of the schema.org vocabulary in version 30.1 from September 2026, plus 1,540 properties.schema.org, version 30.1
7 May 2026From this date the FAQ rich result no longer appears in Google Search. The documentation was removed on 15 June 2026.Google Search Central, changelog
September 2023Google removed the How-to documentation because that rich result was no longer shown in results.Google Search Central, changelog
No guaranteeGoogle does not guarantee that structured data will show up in results, even when it passes the test.Google, structured data guidelines
Manual actionHow Google may respond to structured data that misleads users or marks up hidden content.Google, structured data guidelines

Sources checked:

Glossary

Four rules

{}JSON-LD
The format Google recommends: one <script> tag, separate from the content.
=Match
The data must match what users see on the page.
URLFull URLs
Give images, logos and pages as full https URLs.
≠No guarantee
Valid code gives eligibility, not a certain rich result.
SEO module in Insight

File or code ready? Check the result on the live page

Indexability, metadata and structure, with priorities and a client report.