FAQ Schema Generator (JSON-LD)
Turn questions and answers into valid FAQPage JSON-LD — copy-paste ready, built in your browser.
FAQ Schema Generator
Turn questions and answers into valid FAQPage JSON-LD structured data — copy-paste ready
What is a FAQ schema generator?
A FAQ schema generator — or FAQ page schema generator, after the FAQPage type it writes — turns a list of questions and answers into a valid FAQPage JSON-LD block, the structured data type for a frequently-asked-questions section. You type each question and its answer, the generator builds the <script type="application/ld+json"> block, you copy the code and paste it into the page. The generator tool has no server side; nothing you type leaves your browser. The honest part first: since 7 May 2026 Google no longer shows FAQ rich results for anyone, so the markup will not buy you an expandable Q&A under your snippet. It remains a valid Schema.org type that does no harm and keeps your question-and-answer content machine-readable — this page explains where that still earns its keep.
What changed on 7 May 2026, and why the markup still matters
On 8 May 2026 Google added a deprecation notice to its FAQ structured data documentation. The changelog entry is one line: the FAQ rich result feature “will no longer appear in Google Search starting May 7, 2026”. The notice set out three dates — rich results stopped on 7 May; the FAQ search appearance filter, the FAQ report and Rich Results Test support were dropped in June 2026; Search Console API support for the type goes in August 2026. By mid-June the notice was no longer readable at source: the documentation page had gone, and its URL now redirects to the Search Central changelog, which keeps only the one-line entry. The wording with all three dates survives in the trade record — Search Engine Journal quoted it in full on 10 May, while the page was still up.
This closes a slow retreat. In August 2023 Google had limited FAQ rich results to well-known government and health sites; for everyone else they had been gone for almost three years, and May 2026 ended the exception. Google gave no reason beyond the notice and asked nobody to remove markup — FAQ structured data can stay in place, and unused structured data, Google has long said, does not cause problems in Search.
So why generate FAQ schema at all? Three reasons, none of them the snippet:
- The type is still valid. Schema.org defines the FAQPage schema and the Question and Answer inside it. Any crawler or AI assistant that reads Schema.org can still parse your pairs; whether one rewards that is not something this page will promise.
- Google’s AI guidance asks for the same discipline. The guide to appearing in AI Overviews and AI Mode says no special Schema.org markup is required, then lists “making sure your structured data matches the visible text on the page” among the fundamentals. A FAQ block written for a generator is, by construction, short self-contained answers that match what the visitor sees — the format an AI answer quotes from.
- It costs nothing and breaks nothing. A FAQPage block is a few hundred bytes in a script tag the browser never executes. Leave it in or take it out; rankings do not move either way.
What the generated FAQ schema code contains
Every FAQPage JSON-LD block has the same skeleton; this FAQ structured data generator fills it in the same order every time. Five parts, for the day you debug one by hand:
@context names Schema.org; the @type of the block is FAQPage; mainEntity is an array in which each element is a Question whose name is the question and whose acceptedAnswer is an Answer holding the answer in text. That is the entire vocabulary. The script tag’s type="application/ld+json" tells the browser this is data, not JavaScript to run.
How to Generate FAQ Schema
FAQ schema markup tells search engines and AI systems that a section of your page is a set of questions and answers. The FAQ schema markup generator above gets you from pairs to live code in four moves.
Add the question-and-answer pairs
Enter each question with its answer. Click "Add question" for as many pairs as you need — you need at least one. Use the questions and answers exactly as they appear on the page, because the markup must match the visible content.
Copy the JSON-LD code
As you type, the tool builds a valid FAQPage JSON-LD block in real time and wraps it in a script type="application/ld+json" tag. When it is ready, click "Copy JSON-LD" to put it on your clipboard.
Add the script to your page
Paste the script block into the HTML of the page — in the head or anywhere in the body, through a tag manager, or in WordPress via a custom HTML block or your SEO plugin's schema field. Make sure the same questions and answers are visible on the page.
Then check how the page reads in results with the SERP snippet preview tool — with the FAQ rich result gone, title and description are the whole snippet again.
Validate the markup
Run the page through the Schema Markup Validator at validator.schema.org. It confirms the JSON-LD parses and that every property name exists in the vocabulary. It will not flag a Question missing its acceptedAnswer, because Schema.org marks nothing as required, so count the pairs yourself. Google's Rich Results Test dropped FAQ support in June 2026.
Where to paste the FAQ schema code
FAQ JSON-LD is position-independent — a block in the footer parses the same as one in the head. Pick what you can maintain:
| Placement | How | Watch out for |
|---|---|---|
<head> | Page template or a per-page head field. | Templates are shared — a block in the global head lands on every page, including ones without that FAQ. |
<body> | Next to the visible FAQ section itself. | Nothing. Code beside the content it describes is the easiest to keep in sync. |
| Tag manager | Custom HTML tag with the script block, fired on the page URL. | Injected by JavaScript after load; it only counts if the crawler renders the page. View-source will not show it. |
| WordPress | A Custom HTML block in the post, or the custom-schema field of your SEO plugin. | A FAQ block plugin may already emit its own FAQPage — two blocks for the same pairs is the most common duplicate. |
One FAQPage per page: all of a page’s pairs in a single mainEntity array, and no single block pasted across twenty URLs — the questions describe this page. Bulk work across many pages means one block per page from its own FAQs.
How to validate FAQ schema now that the Rich Results Test ignores it
The Rich Results Test only checks types Google shows as rich results; with FAQ off that list since June 2026, it no longer reports on FAQPage. Use the Schema Markup Validator instead — the Schema.org tool parses any type in the vocabulary and reports two kinds of breakage: JSON that does not parse (a stray quote, a missing comma), and names that are not in the vocabulary at all, such as acceptedAnswers with a stray s or a type nobody has defined. Paste the URL or the code snippet; both work.
What it will not tell you is that something is missing. Schema.org marks no property as required, so a Question that carries a name and no acceptedAnswer at all comes back clean — zero errors and zero warnings when we ran exactly that block through the validator on 19 August 2026. Confirming that every question in the markup has an answer is on you: read the JSON, or parse it and compare the length of mainEntity against the number of pairs on the page.
Two more checks are on you as well. View the page source and search for FAQPage — a block missing from the raw HTML is being injected by a script, a weaker signal than markup in the initial response. Then read the answers in the markup against the FAQ page, word for word; drift passes every validator and still fails the one guideline Google still publishes for structured data.
Do not look for a FAQ line in Search Console either; that filter and report went in June 2026. The nearest thing is the generative AI reports Search Console added in June, and they carry a single number: impressions for the page inside AI features, split by country, device and date. No clicks, no queries, and nothing that says which pair a model quoted. Since 13 August even that number is undercounted by a logging error Google has confirmed and not yet closed.
Common FAQ schema mistakes
- Markup that does not match the page. Extra questions, trimmed answers, a “marketing” version in the JSON. The rule that survived the deprecation: structured data describes visible content.
- Answers the visitor cannot see. Collapsed accordions are fine; the answer is on the page and opens. Text that exists only inside the script tag is not.
- HTML the type does not accept. Links, lists, paragraphs and simple emphasis are fine in an answer; forms, scripts and iframes are not. A validator passes the JSON anyway while the consumer drops the answer.
- Two FAQPage blocks for one set of pairs. A theme or plugin already emits one and the hand-pasted block doubles it. Search the source for
"@type": "FAQPage"before adding yours. - Promotional content dressed as questions. “Why is Acme the best?” is advertising, and Google’s spam policies now cover attempts to game AI answers — a FAQ block written to steer a model is the same offence as one written to steer a snippet.
- Expecting a rich result. Since 7 May 2026 there is none. A tool or agency still selling FAQ schema as “more SERP real estate” is years out of date.
Frequently Asked Questions
What is FAQ schema?
FAQPage type from Schema.org, written in JSON-LD. It marks up a list of questions and their answers so that search engines and AI systems can identify the question-and-answer content on your page in a machine-readable way. The markup describes content that should already be visible to users on the page.Do FAQ rich results still show in Google?
Should I remove my existing FAQ schema?
Does FAQ schema help with AI Overviews or AI assistants?
How do I validate FAQ schema now?
Where do I put the FAQ schema code?
script type="application/ld+json" block anywhere in the page HTML — head or body; next to the visible FAQ section is easiest to maintain. Through a tag manager it is injected by JavaScript and only counts after rendering. In WordPress, use a Custom HTML block or your SEO plugin’s schema field.Can one page have more than one FAQPage block?
mainEntity array. Several blocks on one URL are usually a plugin and a hand-pasted block describing the same pairs. Each page should carry markup for its own visible questions, not a site-wide block repeated on every URL.More free tools: browse the full catalog →