FAQ schema generator with matching HTML
Type or paste your questions and answers, then copy two things: FAQPage JSON-LD, and the HTML that shows the same questions on your page. The tool checks for empty fields, duplicate questions and tags that don’t belong.
Your code
3 questions in the code.
No problems found.
FAQPage JSON-LD
Put it in the head or the body of the page. One FAQPage per page.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How long does delivery take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Orders placed before 17:00 on a working day leave the same day. Most arrive one or two working days later."
}
},
{
"@type": "Question",
"name": "Can I return my order?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, within 30 days. Start a return on <a href=\"/returns\">the returns page<\/a> and we’ll email you a label."
}
},
{
"@type": "Question",
"name": "Which payment methods can I use?",
"acceptedAnswer": {
"@type": "Answer",
"text": "<ul><li>Credit or debit card<\/li><li>PayPal<\/li><li>Bank transfer<\/li><\/ul>"
}
}
]
}
</script>HTML for the page
Put it where the questions should appear. The text matches the JSON-LD.
<details>
<summary>How long does delivery take?</summary>
<p>Orders placed before 17:00 on a working day leave the same day. Most arrive one or two working days later.</p>
</details>
<details>
<summary>Can I return my order?</summary>
<p>Yes, within 30 days. Start a return on <a href="/returns">the returns page</a> and we’ll email you a label.</p>
</details>
<details>
<summary>Which payment methods can I use?</summary>
<ul>
<li>Credit or debit card</li>
<li>PayPal</li>
<li>Bank transfer</li>
</ul>
</details>How it works, and what Google does with it
How to use it
Type each question with its answer, or paste a list. The generator reads three formats: lines that start with Q: and A: (or V: and A: in Dutch), Markdown with ## before each question, and plain text where each question ends with a question mark and the answer follows on the next lines. The buttons next to a question move it up or down, or remove it.
Copy both outputs to the same page. The JSON-LD can go in the head or the body; the HTML goes where visitors should read the questions. Use one FAQPage per page, and if the same question appears on several pages, mark it up on one of them.
What Google does with FAQ markup
Since May 7, 2026, Google no longer shows FAQ rich results, the fold-out questions under a search result, for any site. From August 2023 until then, it only showed them for well-known, authoritative government and health websites. In June 2026 Google removed its FAQPage documentation and dropped FAQ from the Rich Results Test.
When it first cut the feature back, Google wrote that structured data it doesn’t use causes no problems for Search, and has no visible effect either. Its guide to AI features says structured data isn’t required for generative AI search.
What the markup still does
FAQPage describes the questions and answers on your page in a standard format from schema.org, so a program that reads the page gets them without guessing from the layout. We couldn’t find a search engine or AI assistant that documents what it does with FAQPage today, so the generator promises nothing more than that.
The visible HTML is the part your visitors use. A details element keeps a long list short, and Google’s guidelines counted an answer behind a fold-out as visible.
What the generator checks
Questions without an answer and answers without a question are left out, and so is a question that repeats an earlier one. Answers keep only the tags Google’s documentation allowed: h1 to h6, br, ol, ul, li, a, p, div, b, strong, i and em. Other tags go and their text stays. A link keeps its href if it starts with http, https, mailto or tel, or is a path on your own site.
In the JSON-LD, quotes, backslashes and line breaks are escaped, and every </ becomes <\/, so an answer can’t close the script tag early. A one-paragraph answer without tags stays plain text; with paragraphs, links or lists it goes in as HTML.
Where longer answers go
A FAQ suits a handful of short answers on the page where people ask them. Instructions and longer answers work better as articles in a help center, one per question. In Flagbell’s help center every brand gets its own on a subdomain, with articles written in Markdown, and the chat widget shows matching articles before someone starts a chat.
Questions about FAQ markup
Does Google still show FAQ rich results?
No. Google stopped showing them on May 7, 2026, for every site. From August 2023 until then, only well-known, authoritative government and health websites got them.
Should I remove FAQPage markup from my site?
You don’t have to. Google has said that structured data it doesn’t use causes no problems for Search. Keep it if the questions are on the page and the markup matches them, and remove it when that’s no longer true.
Which HTML can an answer contain?
The tags Google’s FAQPage documentation listed: h1 to h6, br, ol, ul, li, a, p, div, b, strong, i and em. The generator removes other tags and keeps their text.
Can the answers sit in a fold-out?
Yes. Google’s guidelines counted an answer behind an expandable section as visible, as long as the visitor can open it on the page. The details and summary output works that way, without JavaScript.
Is FAQPage right for questions from customers?
Only if you wrote the questions and the one answer to each. For pages where visitors post their own answers, like a forum, Google pointed to QAPage instead.
In Flagbell
Help center
A fast, static help center for every brand on its own subdomain, managed centrally in Flagbell. The chat widget shows matching articles before the chat.
About the help center →Live chat
A fast, light chat widget for your site, without trackers or cookies. Outside office hours, Flagbell emails your customer back in the same conversation.
About live chat →Inbox
All support email from all your brands in one calm inbox, with a brand filter, saved replies in two languages, a calendar and GDPR deadlines.
About the inbox →Read next
Guide
Writing saved replies
How to write saved replies that don’t sound canned: which questions first, structure, placeholders, tone, two languages and four templates to copy.
Read the guide →Free tool
Reply templates
39 free customer service reply templates for refunds, late orders, bugs, billing and logins. Fill in your brand and names once, then copy them.
Open the tool →Free tool
Cost per ticket calculator
Free cost per ticket calculator: what one support ticket costs, your monthly support cost and what each point answered by your help center saves.
Open the tool →Long answers belong in a help center.
Flagbell is a helpdesk with live chat, a shared inbox and a help center for every brand. It’s in development: join the waitlist to hear when you can use it.