JSON-LD Schema Markup Generator

Choose the type of item, fill in the fields that appear for it, and copy the script element that the tool writes. It follows schema.org and tells you which types Google still shows in Search.

Free Runs in your browser Checked Tuesday, November 10, 2026

The schema.org type that describes the page. Each type shows only the fields it uses.

The address of the page or site that this item describes, starting with https://.

One or two sentences that describe the item.

The address of the main image, starting with https://.

Optional. The date of the last change to the article.

The name of the person who wrote it.

The title of the article as the page shows it.

Result

JSON-LD script element — Paste the whole element into the HTML of the page that it describes.
JSON-LD script element

This tool runs in your browser. What you enter is not sent to us.

How to use it

  1. Choose the Type of item that describes your page.
  2. Fill in the fields that appear under it. A list takes one line per item, and the separator is a space, a vertical bar and a space.
  3. Read the notes under the result. They say which types Google no longer shows.
  4. Copy the script element or download it, and paste it into the HTML of the page that it describes.

How the script is built

The tool builds one object with the schema.org type that you chose, and writes it as JSON with two-space indentation inside a script element of type application/ld+json. Empty optional fields are left out, so the output holds only what you entered.

Dates are written in the ISO 8601 date form, YYYY-MM-DD. A list with a line that breaks its pattern gives the number of that line, so you can find the mistake.

Which types Google shows today

The table lists each type with its status in Google's search gallery and on its own type page, checked on 10 November 2026, and the properties that Google requires. The fields of the tool also include the recommended properties.

  • The Google blog of 12 June 2025 removed seven other types (Book actions, Course info, Claim review, Estimated salary, Learning video, Special announcement and Vehicle listing). None of the 14 types here is among them.
Type Status in Google Search Required by Google
Organization Supported feature in the search gallery None. The page recommends name, url, logo and sameAs.
Local business Supported feature in the search gallery name and address.
Person No rich result on its own Not applicable. Inside a profile page: mainEntity and name.
Article Supported feature in the search gallery None. Recommended: headline, image, datePublished, dateModified and author.
Blog post Accepted under the Article feature The same as Article.
Product Supported feature in the search gallery name, and one of review, aggregateRating or offers. An offer needs a price.
FAQ page No longer shown since May 2026 Not applicable.
Breadcrumb trail Supported feature in the search gallery itemListElement with position, name and item. The last item may leave out item.
Event Supported feature in certain regions and languages name, startDate and location with an address.
Recipe Supported feature in the search gallery name and image.
Website Sitelinks search box removed in November 2024; site name still used name and url.
Software app Supported feature in the search gallery name, offers.price, and one of aggregateRating or review.
Video Supported feature in the search gallery name, thumbnailUrl and uploadDate.
Job posting Supported feature in the search gallery title, description, datePosted, hiringOrganization and jobLocation, or TELECOMMUTE for a remote job.

Why the text is escaped

A script element ends at the first closing script tag, even inside a JSON string. A name that contains that text would end the element early. So the tool writes the less-than sign, the greater-than sign and the ampersand as backslash-u escapes. JSON allows these characters only inside strings, so the escapes change how the text is spelled and not the structure of the data.

A JSON parser reads each escape back as the original character, so the name and the answers that you typed are kept as they are.

What the tool does not check

  • Whether the values match the text that the page shows.
  • Whether a type is shown for your site. Google decides that for each site and each search.
  • Whether a web address works. The tool checks only that it starts with https:// or http://.
  • The recommended properties that you leave empty. Only the properties named in the table above are required.

Worked example: an article

The default inputs describe an article with the headline How to read a loan offer, published on 2 March 2026, last changed on 1 November 2026, and written by Alex Morgan.

The table lists the properties that the script element contains for these inputs. The dates are written in ISO form, as the tool always writes them.

Property Value in the output
@type Article
headline How to read a loan offer
datePublished 2026-03-02
dateModified 2026-11-01
author.name Alex Morgan

Frequently asked questions

Which types does Google still show as rich results?

The search gallery lists article, breadcrumb, event, job posting, local business, organization, product, profile page, recipe, software app and video as supported features. FAQ and the sitelinks search box are no longer shown.

Is the FAQ rich result still shown for government and health sites?

No. From September 2023 Google showed it only for well-known, authoritative government and health websites. On May 8, 2026 it said the feature would stop appearing, and in June 2026 it removed the FAQ documentation.

Is HowTo still a rich result?

No. Google removed the HowTo structured data documentation in September 2023, because the rich result was no longer shown in search results on desktop or mobile. This tool therefore has no HowTo type.

Does a Person block give a rich result?

Not on its own. Google's profile page feature uses a Person inside a ProfilePage for the pages of creators, and this tool writes only the Person object.

Why does the output write \u003c instead of the less-than sign?

A script element ends at a closing script tag even inside a string. The escape keeps every text inside the element, and a JSON parser reads it back as the original character.

Does the tool send my text to a server?

No. The script element is built in your browser, and nothing that you type is sent to us or stored.

Sources

Figures and text last checked on Tuesday, November 10, 2026.

We use necessary cookies to run the site. With your consent, Google also uses advertising cookies to show personalised ads. If you reject them, you still see ads, but they are not personalised.