Skip to content
Instant · runs in your browser

FAQ Schema Generator for Valid FAQPage JSON-LD

Paste question | answer lines, get FAQPage JSON-LD.

FAQ schema generator results are easy to produce and easy to misread, because the markup you get back is valid, well-formed FAQPage JSON-LD that will almost certainly not put anything extra in your Google listing. That is not a flaw in the output. It is what FAQ markup has meant since August 2023. This page gives you the block and the context, in that order.

Use the questions and answers exactly as they appear on the page. Google ignores schema that promises answers the visitor cannot see.

Who still gets FAQ rich results

In August 2023 Google restricted FAQ rich results to what it described as well-known, authoritative government and health websites. Everyone else lost the expandable question accordions that used to appear under their listing. There was no penalty and no warning in Search Console - the enhancement simply stopped rendering.

That restriction is still in force. If you run a SaaS blog, an ecommerce category page, a law firm site, or an agency site, FAQPage markup will not give you SERP real estate. Any tool that implies otherwise is selling you a screenshot from 2022.

Why the markup is still worth shipping

3 reasons, none of which involve a rich result:

  • Answer engines still parse it. FAQPage is one of the cleanest question-and-answer structures on the web, and it gets consumed by systems well beyond Google Search - AI assistants, site search, aggregators, and Google's own non-Search surfaces.
  • It costs nothing. It's a few hundred bytes of JSON-LD in the head. There's no crawl budget argument and no performance argument against it.
  • Policy changes both ways. Google restricted this enhancement rather than deprecating the type. Sites that already have correct markup are in position if it loosens.

What you should not do is restructure a page around FAQ markup, or bolt a fake FAQ section onto a page to earn a rich result that isn't coming.

3 fields, and what the FAQ schema accepts

This page is deliberately narrow. 3 fields, and one of them is fixed:

  • Schema type - locked to FAQPage. Nothing to choose.
  • Page URL - optional. It never appears in FAQPage output; it prefills the Rich Results Test link so you can check the live page in one click.
  • Items - the entire payload. One question | answer pair per line.

The items parser is more forgiving than the placeholder suggests. It accepts:

  • question | answer - the documented format.
  • Tab-separated lines, so a 2-column spreadsheet paste works as-is.
  • Q: and A: prefixed lines on alternating rows. An answer line attaches to the question above it.
  • Leading list markers (1., 2), -, *, •) are stripped, so an outline pastes cleanly.

A line with no separator becomes a question with no answer, and you get a notice naming the item number. That's the single most common input error: an answer containing a pipe character, which splits in the wrong place. Rewrite the answer without the pipe.

A worked FAQ output example

2 pairs typed into the items box:

How long does a sourdough starter take to build? | About seven days at room temperature, feeding once a day.
Why is my starter not rising? | Almost always temperature. Below 68°F fermentation slows to a crawl.

Produces:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does a sourdough starter take to build?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "About seven days at room temperature, feeding once a day."
      }
    },
    {
      "@type": "Question",
      "name": "Why is my starter not rising?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Almost always temperature. Below 68°F fermentation slows to a crawl."
      }
    }
  ]
}

That's the complete valid shape. FAQPage has exactly one required property, mainEntity, and each Question needs a name and one acceptedAnswer with text. Nothing else is required, and nothing else is emitted.

The output escapes <, >, and & as \u003c, \u003e, and \u0026. Still valid JSON, decoded back by every parser. The reason is that an HTML parser ends a <script> element at the first literal </script> sequence it encounters, even inside a JSON string - so an answer that quotes some HTML would otherwise cut your block in half and spill the remainder onto the page as visible text.

FAQPage or QAPage: not interchangeable

They look similar and they are not. FAQPage is for questions you wrote and you answered. QAPage models a single question that visitors can answer competitively - a forum thread, a support community, a Stack Overflow-style page. Its structure reflects that: one mainEntity Question, one acceptedAnswer, and an array of suggestedAnswer entries for the rest.

Using QAPage for your own FAQ section because FAQPage no longer earns a rich result is a structured data violation, not a loophole. Google's Q&A guidelines are explicit that the page has to actually allow user-submitted answers. A manual action for spammy structured data is a considerably worse outcome than no enhancement.

Rules that get FAQ markup ignored

  • Every question and answer must be visible on the rendered page. Markup-only Q&As are the fastest route to a manual action. If it's behind an accordion that works without JavaScript, that's fine - hidden until clicked is fine, absent from the DOM is not.
  • Answers belong to the site, not to users. If visitors submit the answers, it's a QAPage.
  • No promotional content in answers. Answers that are sales copy with a question mark on top get filtered.
  • One FAQPage block per page. Don't emit a block per accordion item. All questions go in one mainEntity array.
  • Don't duplicate the same FAQ set across many pages. Google treats site-wide boilerplate FAQ markup as low value.
  • Keep answers substantive. A one-word answer is technically valid and practically useless to every consumer of the markup.

If you're producing FAQ sections at scale across a content program, BlazeHive automates SEO content end to end, structured data included.

Frequently Asked Questions

Will FAQ schema still show rich results on my site?

Almost certainly not. Since August 2023 Google limits FAQ rich results to well-known government and health sites. The markup remains valid and parseable; it just won't change your listing.

Is there any downside to keeping FAQ markup?

No. It's small, valid, and still read by non-Google consumers. There's no penalty for having correct FAQPage markup that doesn't currently trigger an enhancement.

How many questions should I include?

Every question genuinely on the page. There's no documented cap and no threshold that unlocks anything. Marking up 3 real questions beats padding to 10 with filler.

What if my answer contains a pipe character?

The parser splits on the first pipe, so a pipe inside an answer breaks the pair. Rewrite the answer without it, or use a tab-separated paste instead.

Can I mark up questions that are hidden in an accordion?

Yes, as long as the text exists in the page's HTML. Collapsed-by-default content that a user can expand is fine. Content that only exists in the JSON-LD is not.

Does HTML in my answers survive?

Google strips most markup from answer text and supports only a small set of tags. Write answers as plain prose. The generator escapes angle brackets so any HTML you do include can't break out of the script tag.

Related free tools

All tools →