Modern Niche World MNW

Schema Markup Generator

Choose what your page is about, fill in the form, and copy a JSON-LD block for its HTML. What Google requires for each type is marked.

Article or blog post

Google lists no required properties for articles. It recommends the headline, images, dates and author.

For the times above: such as +01:00 or -05:00, or Z for UTC.

Author
Publisher

Fill in the form, or press Fill in an example.

Before you publish, test the page with Google’s Rich Results Test, which shows whether it can get a rich result, and the Schema Markup Validator, which checks it against schema.org. Both are separate sites: this page sends nothing to them.

The markup is written on this page from what you enter. No address is visited or checked online, and nothing is sent or saved.

Structured data, written for you

Structured data tells search engines in a fixed vocabulary what a page is about: that it’s a bakery with opening hours, an event on a date, or an article by a named author. It’s written in JSON-LD, using types and properties from schema.org, inside a script element in the page’s HTML. Search engines use it to understand the page, and some can show it as a rich result, such as a breadcrumb trail or event dates.

How to use it

  1. Choose what the page is about, from an article to a person.
  2. Fill in what applies. Fields marked Required are the ones Google’s documentation asks for; the rest make the data more complete.
  3. Fix anything listed in red, then copy the block.
  4. Paste it into that page’s HTML and test the page with Google’s Rich Results Test.

The types

  • Article: a blog post, news story or guide, with dates and author.
  • FAQ page: questions and answers shown on the page.
  • Organization and Person: who runs a site or wrote it, with profile links.
  • Local business: a shop or service with an address, phone number, map position and opening hours.
  • Product: name, brand, codes and images, without prices.
  • Breadcrumb trail: where the page sits in your site.
  • Event: in person, online or both, with times and organizer. Google’s event results cover only events held at a physical place.

Reading the result

The block starts with @context, which names schema.org as the vocabulary, and @type, the kind of thing it describes. Each property follows on its own line. Empty fields are left out rather than written as blank values, dates and times are written in ISO 8601, such as 2026-06-13T10:00:00+01:00, and the less-than sign is written as \u003c, which JSON reads as the same character.

Good to know

  • Several types on one page are fine: paste one block for each, such as a local business and its breadcrumb trail.
  • Describe only what the page shows. Markup about content visitors can’t see breaks search engines’ guidelines.
  • Times need an offset, such as -05:00 for New York in winter, or they can be read in the wrong time zone.
  • Addresses must be full, starting with https://.
  • Want to check or tidy JSON you already have? The JSON Formatter validates and lays out any JSON. This page writes structured data for you from a form.

Frequently asked questions

Where do I put the code?
In the HTML of the page it describes, in the head or anywhere in the body. Many site builders and content systems have a box for code in the head. Use one block per page and type, and make sure it matches what the page shows.
Will this get my page a rich result?
Not on its own. Structured data makes a page eligible, but search engines decide what to show. Google also has its own rules for each type, and the markup must describe content that’s visible on the page.
Why is there no price for products?
Offers, which hold a price and whether a product is in stock, aren’t required by schema.org, and this page describes the product itself. If you sell it online, add offers from your shop’s own data: Google shows product rich results only with offers, a review or a rating.
Why is the less-than sign written as \u003c?
So that no value, even one with a closing script tag in it, can end the script element early and break the page. JSON reads \u003c as the same less-than sign, so the data doesn’t change.