FAQ Markup for Questions and Answers
Google ended FAQ rich results on May 7, 2026, and removed their documentation in June. Google’s Search documentation updates explain the change. FAQPage markup still describes the questions and answers published on your website.
What this tool creates. The generator pairs each question with its answer in
FAQPage structured data. Use it to describe FAQs that visitors can read on the page.
Search and retrieval systems can parse this structure, though support varies by service. A published schema block alone does not establish whether a particular assistant has read or used it.
Keep the content consistent: publish useful answers for your visitors and keep the matching markup up to date when those answers change.
Your questions and answers
Two rows to start. Add as many as you need — the JSON-LD below updates as you type.
Paste a list of Q&As instead
It understands Q: / A:, Question: / Answer:, any line ending in a question mark followed by its answer, and blocks separated by blank lines. Nothing is imported until you say so.
Page address (optional)
Adds @id and mainEntityOfPage so the block is anchored to a real page. Leave it blank and those keys are simply left out — no placeholder is invented.
Your JSON-LD
Wrapper on: paste straight into your HTML. Wrapper off: raw JSON for a CMS schema field.
Things worth checking
Every warning here is advice, not a gate — it is your content and your call. Nothing you type is sent anywhere: there is no API behind this page, no request is made, and nothing is stored in your browser either. Reload the page and it is a blank slate.
Paste It, Match It,
Check It
1. Where the block goes. Copy the output
with the script wrapper on and paste it into your page's <head>.
That is the convention, not a requirement — a JSON-LD block inside
<body> is equally valid and gets read the same way. One
FAQPage block per page; don't stack several.
2. The page must actually say it. Write the FAQ on the page first. Use those same questions and answers in the markup, so visitors and parsers receive consistent information.
3. Answer HTML, kept short. A limited set
of tags is understood inside an answer — h1–h6,
br, ol, ul, li,
a, p, div, b,
strong, i, em. Anything outside that list
gets flagged above rather than silently deleted, because stripping a user's
content without telling them is how generators quietly corrupt work.
4. Check the markup, not the rich result.
Google's Rich Results Test is the wrong instrument here — the feature it reported
on no longer exists, so a silent result from it tells you nothing about whether
your JSON is well-formed. Validate the markup itself at
validator.schema.org,
which still checks FAQPage properly. Then view-source on the live
page and confirm the block actually rendered — plenty of CMSs mangle a pasted
script tag on the way in.
5. Safe script-tag escaping.
If an answer of yours contains the characters </script> — say
you are answering a question about code — a naive generator emits them raw, the
browser closes the JSON-LD block early, and the rest of your schema lands on the
page as visible text. This tool escapes it, and tells you it did. Same for the
quotes, backslashes, line breaks and emoji that break string-concatenated
output: everything here is serialised with a real JSON encoder, not glued
together from fragments.
Schema Is One Signal.
Being Readable Is a System
Perfect FAQ markup does nothing if AI crawlers are blocked before they reach the page — and over half the live business sites we've tested were quietly turning them away. Access, entity schema, content, measurement: we do the whole job, and we test everything instead of assuming it works.