Free tool · Runs in your browser

Valid JSON-LD, with the fields Google requires

Pick a type, fill in the form, and copy JSON-LD, a script tag or a Next.js component. Required fields, URLs, dates and prices are checked as you type.

Pick a type

Organization

Who you are: name, logo, links and contact details. Helps Google show the right logo and details for your brand.

The most specific type that fits. OnlineStore is a subtype for shops that sell online.

Add at least a name and website so the markup says something.

At least 112 × 112 px, and it must look right on a white background.

One URL per line: social profiles, Wikipedia, app stores.

Contact

Include the country code.

Address

Two-letter ISO 3166-1 code, like US or DE.

Details

Your markup

Valid JSON. Required fields complete, 1 suggestion.
{
  "@context": "https://schema.org",
  "@type": "Organization"
}

Paste inside a <script type="application/ld+json"> tag, or use the HTML tab.

Share this form

Which type to use

TypeUse it forGoogle requires
OrganizationWho you are: name, logo, links and contact details. Helps Google show the right logo and details for your brand.Nothing strictly; add what you have
WebSiteYour site's name, so Google can show it above your results. Add it to the home page only.Site name, Home page URL
Article / BlogPostingNews, blog posts and articles: headline, images, dates and authors. Helps Google show the right title, image and date.Nothing strictly; add what you have
Product with offerA product you sell: name, images, price and availability. The basics for merchant listings and product snippets.Product name, Image URLs, Offers
SoftwareApplicationAn app or web app with its price and rating. Google can show the rating and price next to your result.App name, Price, Average rating, Number of ratings
BreadcrumbListWhere the page sits in your site. Helps Google understand your hierarchy.Breadcrumb trail
LocalBusinessA physical business: address, hours, phone and location. Supports the business details Google shows for your place.Business name, Street address, City, Country
EventA concert, talk, class or other event people can attend in person, with date, venue and tickets.Event name, Starts, Street address, City, Country
VideoObjectA video on the page: title, thumbnail, upload date and where to fetch it. Helps Google find and show your video.Title, Thumbnail URLs, Upload date
FAQPageNo rich resultQuestions and answers on the page. No longer produces a Google rich result.Questions

Required means Google needs it for the rich result; without it the markup is still valid schema.org but not eligible. Software apps need a rating or a review; this form asks for a rating. Only mark up what people can see on the page.

Keep going

More free tools

Questions

What is JSON-LD schema markup?

JSON-LD is a block of JSON in a <script type="application/ld+json"> tag that describes what a page is about using the schema.org vocabulary: a product and its price, an event and its date, an article and its author. Google recommends JSON-LD over the other formats because it's separate from your HTML and easy to keep up to date.

Does structured data improve rankings?

Google has said there's no general ranking boost for using structured data. It helps Google understand the page and can make it eligible for rich results, such as prices, ratings and event dates in search. Eligible doesn't mean guaranteed: Google decides when to show them.

Should I still add FAQ schema?

It's optional. Google stopped showing FAQ rich results for all sites on May 7, 2026. Google says it can still use the markup to understand a page and other services may read it, so it does no harm if the questions and answers are visible on the page. Don't expect it to change how your result looks.

What happened to the sitelinks search box?

Google retired it on November 21, 2024, so SearchAction markup no longer has a visible effect. WebSite markup is still useful for your site name. You can leave old SearchAction markup in place; it won't cause errors.

How do I add JSON-LD in Next.js?

Render a <script type="application/ld+json"> tag in the route's page.tsx, with the object serialized by JSON.stringify and every < replaced by \u003c, as the Next.js docs recommend. That keeps it in the server HTML and stops page text from closing the tag. The generator's Next.js tab gives you the component.

How do I test my structured data?

Use Google's Rich Results Test to see which rich results the page is eligible for and which required properties are missing, and the Schema Markup Validator to check it against schema.org in general. After you deploy, Search Console's enhancement reports show issues across your site.