Skip to main content

Schema Markup Generator (JSON-LD)

Fill in a form and get JSON-LD for the structured-data types people actually need: FAQ, Article, Product, LocalBusiness, Breadcrumb, Organization, and Event. Required and recommended properties are labelled, values are checked structurally as you type, and empty fields are left out of the output rather than emitted blank.

Schema type

For a page whose purpose is a list of questions and their answers, written by you rather than submitted by users. Not for a support forum, and not for a single question — that is QAPage.

FAQ details

Every question and answer must also be visible on the page itself. Marking up content a visitor cannot see is a policy violation, not a shortcut.

Question 1

JSON-LD

Fill in the required fields — the markup appears here once nothing is structurally wrong.

Design the page the markup describes

Moda builds landing pages, product pages, and event pages worth marking up in the first place.

Try Moda free →

What “valid” means here, and what it does not

This tool checks structure: that required properties are present, that objects are nested the way the vocabulary expects, that dates are ISO 8601, that prices are numbers and currencies are three-letter codes, that a rating has a review count to go with it. Passing means a search engine can parse and understand your markup. It does not mean you will get a rich result. Eligibility also depends on the page’s content, its quality, whether the marked-up content is visible to visitors, and criteria search engines change without notice. Treat a clean result here as a precondition, then confirm with Google’s Rich Results Test.

Required, recommended, and the difference that matters

Every field carries a badge. Required means the markup is not eligible for the corresponding rich result without it, and this tool will not emit JSON-LD while one is missing — shipping markup you already know is incomplete helps nobody. Recommended means the markup is valid without it but you are leaving information on the table; those surface as warnings and never block output. Optional properties are exactly that. Some come in pairs — a price needs a currency, a latitude needs a longitude, an average rating needs a review count — and filling one without the other is an error, because half a pair asserts nothing usable.

JSON-LD, and where to put it

JSON-LD is the format Google recommends and the only one this tool emits: a self-contained block that sits in a script tag and does not entangle itself with your HTML the way microdata and RDFa do. It is valid in either the head or the body. If your markup is injected by JavaScript it still works, provided the rendered page contains it. One caution the script wrapper handles for you: any “<” inside your content is escaped, because an answer containing a literal closing script tag would otherwise end the block early and spill the rest of the JSON into the page as markup.

The rule that gets sites penalized

Structured data must describe content that is actually on the page and visible to visitors. FAQ markup for questions nobody can see, review markup for reviews that do not exist, a Product page marked up as a single product when it is really a category listing — these draw manual actions, and the recovery is slower than whatever the markup gained. The same goes for dates: refreshing dateModified on an article you have not changed is a well-known trick that has not worked for years.

Frequently asked questions

Which type should I use for a blog post?

Article. BlogPosting and NewsArticle are subtypes with the same properties, and Google treats all three the same way for the Article rich result, so Article is the safe default unless you have a specific reason to be more precise.

Can I put several types on one page?

Yes — a product page typically carries Product and BreadcrumbList, and a homepage often carries Organization and WebSite. Generate each separately and paste them as separate script blocks; that is valid and easier to debug than one merged graph.

Why does the tool refuse to output anything?

Because at least one required property is missing or malformed, and the Checks panel says which. It emits markup only once nothing is structurally wrong, so you never paste JSON-LD that you would then have to discover was broken through a crawl report weeks later.

Do I need FAQ markup at all any more?

Google narrowed FAQ rich results in 2023 to well-known government and health sites, so most pages no longer get the expanded snippet. The markup is still valid, still parsed, and still useful to other consumers of structured data — but adding it to a marketing page in the expectation of the old FAQ dropdown is planning around something that no longer happens.

What date format do I use?

ISO 8601. A plain date, 2026-08-30, is enough for an article. Events need a time and should carry an offset — 2026-09-15T09:00:00-07:00 — because an event time without a timezone is ambiguous for anyone reading it from elsewhere. Calendar validity is enforced, so 2026-02-30 is rejected rather than rolled into March.

Related tools

← All tools