JSON-LD Schema Builder
Build valid <code>application/ld+json</code> blocks for Article, Product, FAQPage, Recipe, Event, Organization and LocalBusiness — copy and paste into your <code><head></code>.
What is JSON-LD?
JSON-LD (JSON for Linking Data) is the format Google, Bing and most other search engines prefer for structured data. You drop a <script type="application/ld+json"> block in the page <head> with a JSON object describing the page — and the crawler uses that to enable rich results: review stars, FAQ accordions, recipe cards, event listings. The vocabulary comes from Schema.org, a community-maintained ontology of around 800 types and 1,400 properties.
How to use this builder
Pick the schema type that matches your page's primary content. Most pages need exactly one block — an article page is an Article, a product page is a Product, an event page is an Event. Fill in the required fields (marked in the reference table below); optional fields are there if you have the data, but skipping them is fine. The output panel updates live and reformats the JSON. When the structure looks right, click Copy JSON-LD and paste the snippet — including the <script> tags — into your page's <head>. Validate with Google's Rich Results Test before shipping.
JSON-LD vs Microdata vs RDFa
Schema.org markup can be expressed in three syntaxes: Microdata (inline itemscope / itemprop attributes on visible elements), RDFa (similar idea, different attribute names), and JSON-LD (a self-contained JSON block in <head>). Google has officially recommended JSON-LD since 2015 because it decouples the markup from the visible HTML — content teams can edit the page without breaking the schema, and structured data can be added without restructuring templates. Unless you're maintaining a legacy site, JSON-LD is the right default.
When to use each type
| Type | Best for | Key required fields |
|---|---|---|
| Article | News stories, blog posts, long-form essays. | headline, author, datePublished, image |
| Product | E-commerce product pages — physical or digital goods with a price. | name, image, offers |
| FAQPage | Pages whose primary content is a list of questions and answers. | mainEntity[].name, acceptedAnswer.text |
| LocalBusiness | A specific physical business location with address and hours. | name, address, telephone |
| Organization | The home page of a company, charity or institution. | name, url, logo |
| Recipe | Cooking recipes with ingredients, steps and times. | name, image, recipeIngredient, recipeInstructions |
| Event | Concerts, conferences, webinars, classes — anything with a start time and venue. | name, startDate, location |
Frequently asked questions
Will this guarantee a rich result in Google?
Where do I paste the output?
<head> (or just before </body> — both work). Keep the <script type="application/ld+json"> wrapper; the crawler looks for that exact MIME type. One block per type per page is plenty.Can I have multiple JSON-LD blocks on a page?
How do I validate the output?
What date format should I use?
2026-05-04. Datetimes with time zone: 2026-05-04T19:00-03:00. Durations: PT45M for 45 minutes, PT1H30M for 90 minutes. Search engines reject anything that doesn't parse as 8601.
EN
PT
ES