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.
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
- Choose a Schema type (Article, Product, FAQPage, Organization, …).
- In Fields, put one
name = valuepair per line. - For FAQPage, fill in the FAQ pairs box instead (
Question? | Answer). - Tick Wrap in script tag to get a ready-to-paste
<script>block.
Field syntax
| You write | You get |
|---|---|
headline = My Title | "headline": "My Title" |
author.name = Jane Doe | "author": { "@type": "Person", "name": "Jane Doe" } |
address.streetAddress = 1 Main St | nested PostalAddress |
offers.price = 19.99 | "offers": { "@type": "Offer", "price": 19.99 } (a number) |
keywords = seo, json-ld, rust | "keywords": ["seo", "json-ld", "rust"] |
- Dotted names build nested objects, and the inner
@typeis inferred:author/creator→Person;publisher/brand/manufacturer→Organization;address→PostalAddress;offers→Offer;aggregateRating→AggregateRating;geo→GeoCoordinates. - List fields (
keywords,sameAs,ingredients) split on commas into a JSON array. - Numeric fields (
price,ratingValue,reviewCount,latitude,longitude,calories, …) are emitted as JSON numbers, not strings. - Blank lines and lines starting with
#are ignored.
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
FAQPagemarkup 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=trueMachine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
