JSON-LD Schema Markup Generator

Build valid schema.org JSON-LD for Articles, Products, FAQs, Organizations and more from plain field inputs. Runs entirely in your browser — no server, no sign-up.

JSON-LD

What this tool does

Generate valid schema.org JSON-LD structured data — the markup Google reads to power rich results — from plain name = value field inputs. Pick a type, list your fields, and copy the JSON-LD straight into your page's <head>. Everything runs locally in your browser: nothing is uploaded, it works offline, and there's no sign-up.

How to use it

  1. Choose a Schema type (Article, Product, FAQPage, Organization, …).
  2. In Fields, put one name = value pair per line.
  3. For FAQPage, fill in the FAQ pairs box instead (Question? | Answer).
  4. Tick Wrap in script tag to get a ready-to-paste <script> block.

Field syntax

You writeYou get
headline = My Title"headline": "My Title"
author.name = Jane Doe"author": { "@type": "Person", "name": "Jane Doe" }
address.streetAddress = 1 Main Stnested PostalAddress
offers.price = 19.99"offers": { "@type": "Offer", "price": 19.99 } (a number)
keywords = seo, json-ld, rust"keywords": ["seo", "json-ld", "rust"]

Supported types

Article, Product, FAQPage, Organization, LocalBusiness, Person, Event, Recipe, WebSite, BreadcrumbList, Review, VideoObject, HowTo, JobPosting, Course, SoftwareApplication. The type name is case-insensitive, and a blank type defaults to Article.

Note: Google deprecated FAQ rich-result snippets in May 2026, but the FAQPage markup itself is still valid and helps search engines and AI assistants understand your page — so it's kept here.

Example — a Product with an offer and rating

Fields:

name = Acme Wireless Headphones
brand.name = Acme
offers.price = 89.99
offers.priceCurrency = USD
aggregateRating.ratingValue = 4.6
aggregateRating.reviewCount = 214

Output:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Acme Wireless Headphones",
  "brand": { "@type": "Organization", "name": "Acme" },
  "offers": { "@type": "Offer", "price": 89.99, "priceCurrency": "USD" },
  "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.6, "reviewCount": 214 }
}

FAQ

Where do I paste the output?

Inside a <script type="application/ld+json"> tag in your page's <head> (tick Wrap in script tag to get the whole block).

Will this pass Google's Rich Results Test?

The output is valid schema.org JSON-LD for the chosen type. You still need to supply the properties Google requires for that type (e.g. a Product usually needs name plus offers or aggregateRating) — this tool builds the markup, it doesn't invent your data.

Is it free and private?

Yes — your input never leaves your device, and it keeps working offline once the page has loaded.

How do I add a nested object?

Use a dotted field name, e.g. author.name = Jane Doe produces a nested Person. Add more dotted lines with the same prefix to add more properties to that object.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool json-ld-generator 'schema_type=Article'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/json-ld-generator/?schema_type=Article&fields=headline%20%3D%20How%20to%20ship%20structured%20data%0Aauthor.name%20%3D%20Jane%20Doe%0AdatePublished%20%3D%202026-06-23%0Akeywords%20%3D%20seo%2C%20json-ld%2C%20schema&faq=Is%20it%20free%3F%20%7C%20Yes%2C%20completely.%0AIs%20it%20private%3F%20%7C%20It%20runs%20in%20your%20browser.&wrap_script=true

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.