Free tool

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 questions

Filled in with an example. Replace it with your own.

A blank line in an answer starts a new paragraph. For links, lists and bold text you can use HTML.

  1. Question 1

  2. Question 2

  3. Question 3

HTML for the page

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

All tools →

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.

Join the waitlist