Free FAQ Schema Generator Tool
Turn your questions and answers into clean FAQPage JSON-LD, see every error as you type, and copy code that is ready for WordPress, Shopify or plain HTML. This free FAQ schema generator runs in your browser. No signup.
Questions and answers
Paste many at once
Start each question with Q: and each answer with A:. Or separate pairs with a blank line, question on the first line.
Adds url and @id so other markup can point to this block.
Everything runs in your browser. Nothing you type is uploaded or stored.
Your FAQ schema
Checks
One page done. What about the rest? PilotDeck audits your whole site and tracks whether AI assistants quote your answers.
Start Free TrialTry our other free SEO tools
Move on to the next job on your list without making an account. Every tool has its own page and works straight away.
Technical SEO
- Robots.txt checkerTest any URL against your rules and see which crawlers are blocked
- Robots.txt generatorWrite crawl rules and choose which AI bots get in
- Sitemap checkerLocate a siteโs XML sitemaps and flag broken entries
- Sitemap XML generatorPaste your URLs and get a sitemap.xml ready to upload
- FAQ schema generatorYou are hereBuild FAQPage JSON-LD and check it for errors
SERP and rankings
- Google SERP checkerLook up a pageโs position for any keyword on Google
- Bing SERP checkerSee how a URL ranks for a search term on Bing
- SEO title checkerMeasure title length and pixel width before publishing
- Meta description checkerPreview where a snippet gets trimmed in results
AI search and GEO
- AI crawlability checkerConfirm GPTBot, ClaudeBot and others can fetch your pages
- GEO content checkerJudge whether your copy is easy for AI to quote
- LLMs.txt generatorDraft a plain-text site summary written for language models
- AI visibility checkerFind out whether AI assistants name your brand
Keyword research
- AI keyword toolGet keyword ideas sorted by what searchers want
- LSI keywords generatorSurface related terms and semantic variations
- Keyword density checkerSpot overused phrases and measure repetition
- Semantic validatorTest how completely a page covers its topic
Content and writing
- Meta title generatorGet SEO title options drafted from your topic
- Meta description generatorDraft description options from your page copy
- Content outline generatorBuild a heading outline informed by live results
- Word counterCount words and estimate reading time
Social and YouTube
- YouTube title generatorWrite video titles that match your topic and keyword
- YouTube SEO tags generatorPick tags based on what viewers actually search
- Reddit threads finderSpot threads that rank and get cited in AI answers
- LinkedIn post optimizerTighten a post so it reads well and reaches further
What is FAQ schema?
FAQ schema is structured data that tells software which parts of a page are questions and which are the answers to them. It uses the Schema.org FAQPage type: the page holds a mainEntity list, each entry is a Question with a name, and each question carries one acceptedAnswer of type Answer with a text value.
Most sites write it as JSON-LD, a small script block that sits in the pageโs HTML and stays invisible to visitors. Microdata does the same job with attributes added to your visible FAQ, and this generator can produce either. You will also see it called FAQ structured data, FAQ markup or FAQPage schema; they all mean the same thing.
When to use FAQPage, and when to use QAPage
FAQPage fits a list you wrote yourself: the business asks the question and the business answers it. If visitors post questions and other visitors reply, as on a forum or a product Q&A tab, the matching type is QAPage. Marking user-generated threads as an FAQ misdescribes the page.
Who uses an FAQ schema generator
- SEO specialists and agencies mark up client FAQ sections without hand-writing JSON.
- Content marketers add markup to help-centre articles and landing pages as they publish.
- Store owners label product and shipping questions on Shopify or WooCommerce pages.
- Developers get a correct reference block to template from.
Does FAQ schema still work in 2026?
As code, yes. As a way to change your Google listing, no. Google narrowed FAQ rich results to well-known government and health websites in 2023, then stopped showing the feature altogether on 7 May 2026 and retired its FAQ documentation the following month, according to the Google Search Central documentation changelog.
The markup is still valid Schema.org, so search engines, browsers and other tools that read structured data can parse it. Googleโs own guidance on generative AI search also says structured data is not required to appear in its AI features and that no special markup is needed, while still recommending it as part of normal SEO practice.
What changed, at a glance
| Period | FAQ rich results in Google |
|---|---|
| 2019 to August 2023 | Shown for most sites with valid markup |
| September 2023 to May 2026 | Shown only for well-known government and health sites |
| From 7 May 2026 | No longer shown; documentation removed in June 2026 |
How to generate FAQ schema with this tool
Your first block takes under a minute.
- Add your questions. Type each question and its answer, or open Paste many at once to bring in a list from a document or spreadsheet.
- Choose an output format. Keep JSON-LD in a script tag for most sites. Pick raw JSON-LD for a CMS field that adds its own script tag, or Microdata if you want the markup inside your visible FAQ HTML.
- Read the checks. Each test is marked pass, needs work or fix now, with a note on what to change. Empty answers, duplicate questions and unsupported HTML are caught as you type.
- Copy or download the code. Paste it into the same page that shows those questions and answers.
- Test the live page. Once it is published, run the URL through the Schema.org validator to confirm the markup is being served.
FAQ schema example (JSON-LD)
Below is a complete FAQ page schema example with two questions. Every property shown is needed; anything else is optional.
Valid A correct FAQPage block
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How long does delivery take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most orders arrive in 3 to 5 working days."
}
},
{
"@type": "Question",
"name": "Can I change my order after paying?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, within two hours. Reply to your confirmation email."
}
}
]
}
</script>Reading the example
| Property | What it holds |
|---|---|
@context | The vocabulary in use, always https://schema.org |
@type: FAQPage | Declares the block as a page of questions and answers |
mainEntity | The list of questions, in the order they appear on the page |
Question.name | The full question text, as shown on the page |
acceptedAnswer | Exactly one Answer per question |
Answer.text | The full answer text, as shown on the page |
A broken example and how to fix it
Broken Three common errors
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What sizes do you stock?",
"acceptedAnswer": [
{ "@type": "Answer", "text": "UK 3 to 12." },
{ "@type": "Answer", "text": "Half sizes too." }
]
},
{
"@type": "Question",
"name": "Do you offer a "fit guarantee"?",
}
]
}- Two answers to one question.
acceptedAnswertakes a singleAnswer. Merge the replies into one text. - Unescaped quotation marks. The straight quotes around fit guarantee end the string early and break the whole block. Escape them as
\"or use curly quotes. The generator handles this for you. - A question with no answer, and a trailing comma. Every
Questionneeds anacceptedAnswer, and JSON does not allow a comma before a closing brace.
How to add FAQ schema to your website
Put the code on the same URL as the questions and answers it describes. A script block can go in the <head> or anywhere in the <body>; both are read the same way. Use one FAQPage block per page.
Add FAQ schema in WordPress
- If your SEO plugin offers an FAQ block in the editor, build the FAQ with that block. It writes the markup from the visible content, so the two never drift apart.
- Without such a block, copy the script from this tool and add a Custom HTML block directly under your FAQ section, then paste the code in.
- Prefer to keep code out of the editor? Use a header-and-footer code plugin and limit the snippet to that single page.
- Clear any page cache, then check the published URL in the validator.
Add FAQ schema in Shopify
- For one page, open it in the editor, add a Custom Liquid section below the FAQ and paste the script.
- For product FAQs that change per product, a developer can build the script in the product template from metafields, so each product outputs its own questions.
- Check that your theme or apps do not already output FAQPage markup, so the page ends up with one block, not two.
Add FAQ schema in HubSpot
- Open the page, go to its settings and find the advanced options for head or footer HTML.
- Paste the script there for that page only.
- Update the code whenever you edit the FAQ module, since the two are not linked.
Add FAQ schema in Next.js or React
Build the object from the same data that renders your FAQ, then output it in a script tag so it is part of the server-rendered HTML:
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(faqSchema) }}
/>Generating the markup from the FAQ data keeps questions and code identical after every edit.
Add FAQ schema with Google Tag Manager
A Custom HTML tag fired on the FAQ page can inject the script. It works for crawlers that run JavaScript, but the markup is missing from the raw HTML and can fall out of step with the page. Use it as a stopgap; put the code in the page template when you can.
How to test and validate FAQ schema
Test twice: the code before you publish, and the live page after.
- Before publishing, read the checks panel next to your code. It works as an FAQ schema checker, confirming the JSON parses and every question has a name and one answer.
- For a second opinion, press Open Schema.org validator. The code is copied for you; paste it into the code snippet tab and run the test.
- After publishing, enter the page URL in the same validator to confirm the server actually delivers the markup. Caching, plugins and templates sometimes strip or duplicate it.
- Compare with the page. Read the questions in the validator output against the visible FAQ. They should match word for word.
What the checks look at
| Check | What it tests | Why it matters |
|---|---|---|
| Valid JSON | The output parses without errors | One syntax error hides the whole block from parsers |
| Required properties | @context, @type, mainEntity, name, acceptedAnswer, text | Missing pieces make the markup incomplete |
| Complete pairs | No question without an answer, or answer without a question | Half-filled pairs are dropped or flagged as errors |
| Duplicate questions | The same question listed twice | Repeats suggest a copy-paste slip |
| Question wording | Whether each question reads as a question | Statements labelled as questions look unnatural |
| Answer length | Very short or very long answers | One-word answers say little; essays belong in the page body |
| HTML in answers | Tags beyond simple formatting such as p, a, ul, li, strong | Scripts, styles and layout markup do not belong in answer text |
Combining FAQPage with other schema
A page can carry several types at once, for example WebPage, Article or Product alongside its FAQ. The tidiest way is a single @graph where each item has an @id and refers to the others:
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebPage",
"@id": "https://example.com/returns#webpage",
"url": "https://example.com/returns",
"name": "Returns policy",
"mainEntity": { "@id": "https://example.com/returns#faq" }
},
{
"@type": "FAQPage",
"@id": "https://example.com/returns#faq",
"mainEntity": [ ... your questions ... ]
}
]
}Enter a page URL in the generator and it adds a matching @id (your URL plus #faq), ready to reference from your other markup.
FAQ schema best practices and common mistakes
- Mark up what people can see. Every question and answer in the code should appear on the page in the same words.
- Write the answer once. Give each question a single, complete reply rather than splitting it.
- Keep it current. When you edit the FAQ, regenerate the code, or better, have your CMS build it from the FAQ content.
- Use it for real FAQs. A sales pitch dressed as questions helps no one reading the page.
| Mistake | How to spot it | Fix |
|---|---|---|
| Markup differs from the page | Validator shows questions you cannot find on the page | Regenerate from the live FAQ text |
| Two FAQPage blocks | Validator lists FAQPage twice | Remove the plugin or theme copy, keep one |
| Hidden FAQ content | Answers exist only in the code | Show them on the page, or remove them from the code |
| User-submitted answers marked as FAQ | Forum or community Q&A pages | Use QAPage instead |
| Broken JSON | Validator reports a parsing error | Rebuild the block in the generator, which escapes quotes and commas |
See whether AI answers cite your FAQs
Clear question-and-answer content is easy to quote, which is why many teams keep FAQ sections on key pages. Markup alone does not decide whether an AI assistant uses your answer; the content and the pageโs standing do most of the work.
To find out what actually happens, track it. PilotDeck records the prompts where ChatGPT, Perplexity and other assistants mention or link to your site, so you can see which answers get picked up. If your site is verified in Google Search Console, its generative AI performance report adds Googleโs side of the picture.
Start free trialFrequently Asked Questions About FAQ Schema Generator Tool
How do I generate FAQ schema?
Type each question and answer into the generator above, or paste a whole list with the bulk import. The tool builds FAQPage JSON-LD as you type and checks it for errors. Copy the code and paste it into the page that shows the same questions and answers.
Does FAQ schema still work in 2026?
It still works as valid Schema.org markup, but Google stopped showing FAQ rich results in May 2026, so it no longer changes how your listing looks in Google. Use it where a page has a real FAQ section and you want that content clearly labelled for machines.
What is FAQ schema?
FAQ schema is structured data that labels a list of questions and answers on a page. It uses the Schema.org FAQPage type, with each question as a Question item and each reply as its acceptedAnswer, and is usually written in JSON-LD.
Can you show an example of FAQ schema?
Yes. The example section on this page shows a complete FAQPage block in JSON-LD with two questions, plus a broken version with the fixes. Press Load example in the tool to open the same code in the editor.
How do I test my FAQ schema?
The tool checks your markup as you type. For a second opinion, press Open Schema.org validator: the code is copied for you, so paste it into the validator and run the test. After publishing, test the live URL the same way.
How do I add FAQ schema in WordPress?
If your SEO plugin has an FAQ block, use that block so the markup updates with the content. Otherwise, paste the generated script into a header-and-footer plugin set to load on that one page, or into a Custom HTML block below your FAQ.
Is FAQ schema the same as FAQPage?
Yes. FAQPage is the official Schema.org type name; FAQ schema is the everyday term for markup that uses it. Pages where visitors post their own answers should use QAPage instead.
Can I use FAQ schema on a product page?
Yes, if the page shows a visible FAQ written by you about that product. Keep one FAQPage block on the page and connect it to your Product markup with a shared @graph if you use both.
Is this FAQ schema generator free and private?
Yes. It is free, needs no account and runs entirely in your browser. Nothing you type is uploaded or stored.
Valid markup is one part of getting found
PilotDeck researches what your buyers search, publishes content against it every month, audits your pages continuously, and tracks which AI engines name you.
LLM Trackers
A tidy FAQ is easy to quote. PilotDeck follows what the major AI assistants say about you, so you know where your brand is named, linked or left out.
ChatGPT trackerSee when ChatGPT brings up your brand, which prompts set it off and how it describes you.Explore ChatGPT visibility โ
Perplexity trackerFind out whether Perplexity links to your pages as a source when it answers questions in your market.Explore Perplexity visibility โ- AI citation analysisLearn which websites AI answers rely on for your topics, and whether your pages are among them.Explore AI citation analysis โ