Skip to the tool
OnPageKit

FAQ Schema Generator

Turn question and answer pairs into FAQPage JSON-LD.

a b br em i li p strong ul
a b br em i li p strong ul
a b br em i li p strong ul
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage"
}
</script>

Every question and answer here must also be visible on the page itself, in the same wording. Markup that describes content a visitor cannot see is a spam violation, not a shortcut.

Everything runs in your browser. Nothing you type is sent to a server.

Found a bug in this tool? Report it.

Share this tool

Pairs in, FAQPage out

This faq schema generator takes a list of question and answer pairs and writes the FAQPage JSON-LD block for them, cleaning each answer down to a short list of safe HTML and reporting what it had to remove. Nothing you type leaves the browser, and the block is ready to paste straight into the page. Read the next section before you do: Google no longer shows FAQ rich results, and this markup will not change how your page looks in its results.

Google no longer shows FAQ rich results

For several years, FAQ markup was one of the highest-leverage things a site could add: the questions appeared under the listing as expandable rows, taking up vertical space that competitors could not. In August 2023 Google narrowed the feature to well-known government and health websites, and the rows disappeared from ordinary results overnight. On 7 May 2026 it stopped showing them for anyone, and on 15 June 2026 the FAQ page left the structured data documentation in Search Central.

Plenty of advice written before those dates is still circulating, which is why so many people add this markup expecting a change in the results page that will not arrive. Be clear about what you are buying now: a machine-readable description of the questions on the page, and nothing in Google's results.

Why it is still worth marking up

Google's rich result was one consumer of this data, and it was never the only one. FAQPage states, in a form no parser has to guess at, that this page contains a specific question and this specific answer to it. Other search engines, assistants and the systems that summarise and cite pages rather than list them can read that statement without guessing, and none of them depended on Google's decision.

There is also a cheaper argument. Writing the markup forces you to state the questions the page answers, in the words a visitor would use. Pages that survive that exercise tend to be better pages. If you cannot fill in three genuine pairs, the FAQ section probably should not exist.

The visibility rule is not negotiable

Every question and every answer in the block has to be present on the page, visible to a person who loads it, in the same wording. Content hidden behind an accordion counts as visible; content that exists only inside the JSON-LD does not.

This matters more than it sounds, and it did not go away with the rich result. Hidden structured data breaks Google's general structured data guidelines whatever the type, it is one of the few markup problems that attracts a manual action rather than being quietly ignored, and a manual action on one template tends to cost the whole site its eligibility for the rich results that still exist.

What the cleaner takes out, and why

Google's documentation, while it existed, permitted a small set of tags inside an answer: paragraphs, unordered lists and list items, links, bold and italic in both their spellings, and line breaks. That is deliberately close to the minimum needed to write a readable answer, and it remains the safest common denominator for anything else that reads the block.

Everything else is removed here before it reaches the output. Headings, tables, div and span wrappers, and images are stripped of their tags while their text survives; script and style blocks are removed with their contents, because nothing in them belongs in an answer. Attributes go too, except an href on a link — and an href using a javascript: scheme is dropped while the link text stays. The tool lists what it removed, so a paste from a word processor that arrives wrapped in twelve span elements is visible rather than silent.

Checking the block

The block this tool produces is valid JSON-LD and conformant with schema.org. Since the feature was withdrawn, Google's Rich Results Test has nothing to say about FAQPage, so an empty report there is the expected outcome rather than a fault in the markup. Check the syntax, the type and the required fields with the structured data validator instead, or with the Schema Markup Validator that schema.org runs.

For the other blocks that belong on a content page, the article schema generator covers authorship and dates, and the breadcrumb schema generator covers the navigation path above the page. If the page is really a procedure rather than a set of questions, the HowTo schema generator is the closer fit — with the same caveat about Google.

Written and maintained by , CEO at Revin.

Frequently asked questions

Does Google still show FAQ rich results?

No. Google stopped showing FAQ rich results for every site on 7 May 2026 and removed the FAQ structured data documentation from Search Central on 15 June 2026. Since August 2023 only well-known government and health websites had qualified. No change to the markup brings the expandable questions back, so do not add FAQPage expecting a different-looking result in Google.

Then why generate FAQPage markup at all?

Because Google's rich result was one reader of it, not the only one. FAQPage states, in a form no parser has to guess at, which questions a page answers and what the answers are. Other search engines, assistants and content pipelines that read schema.org can use that statement, and writing it forces the page to name its questions in the words a visitor would use. Add it where the page genuinely is a list of questions, not as a ranking tactic.

Which HTML tags are allowed inside an answer?

Google's documentation, before it was withdrawn, listed p, ul, li, a, b, strong, i, em and br for acceptedAnswer.text. That list is still the sensible ceiling, because anything reading the answer expects lightly formatted text: headings, tables, divs, spans and images inside an answer are best removed before publishing. This generator keeps to that list, strips the rest and names what it took out.

Do the questions have to be visible on the page?

They do. The entire content of every question and answer must appear on the page for a visitor to read, in the same wording. Markup describing content that only exists in the JSON-LD is hidden content, which Google's general structured data guidelines treat as spam whatever the type.

Can I put FAQPage on every page of my site?

No. One FAQPage per page, and only where a genuine list of questions and answers is the point of the page. Adding a token FAQ block to a product page or a category listing to farm markup is the pattern that got the rich result restricted in 2023 and then withdrawn.

How do I check whether my FAQ markup parses?

Not with Google's Rich Results Test any more: with the feature withdrawn, it has nothing to report for FAQPage, and its silence is not an error. Use a schema.org validator instead — the Schema Markup Validator at validator.schema.org, or the structured data validator on this site, which checks syntax, types and required fields in your browser.

Related tools

Updated