---
title: Free FAQ Schema Generator
slug: faq-schema-generator
last_reviewed: 2026-08-09
author: editorial
source: LemAudit Free Tools
---

## Intro

FAQ schema is a block of JSON-LD that labels the questions and answers already on a page so machines can read them as structured pairs rather than guessing from headings. It uses the schema.org `FAQPage` type, sits in a script tag in your head, and takes about a minute to add.

This generator takes your questions and answers in the format you probably already have them — a question on one line, its answer below — and returns valid markup. Everything happens in your browser, so nothing you paste leaves your machine.

## What changed, and why it is still worth doing

Google narrowed FAQ rich results in 2023. The expandable question list under a search result is now shown mainly for well-known authoritative government and health sites, so most businesses will add this markup and see no visual change in Google's blue links.

That is not an argument against adding it, for three reasons.

Answer engines read it. ChatGPT, Perplexity and Google's AI surfaces parse structured question and answer pairs far more reliably than they parse an accordion built from divs. Clean pairs are the easiest possible format for a model to lift and cite.

Bing still shows FAQ rich results more liberally than Google.

And the markup forces a discipline that helps regardless of any rich result: writing an actual answer, in full sentences, immediately after the question. Pages structured that way perform better in every retrieval system, markup or not.

## The rule that gets sites penalised

Every question and every answer in the markup must be visible to a visitor on the same page. Not behind a login, not on another page, not in an accordion that never renders. Google treats markup describing invisible content as a structured-data violation, and manual actions for it apply to the whole domain, not just the page.

Accordions are fine. Content that is present in the HTML but collapsed by default counts as visible. Content injected only after a click, from a separate request, does not.

## How many questions, and which ones

Three to eight questions is the useful range for one page. One or two rarely reads as an FAQ. Twenty is a sign the questions belong on their own page, or that half of them are filler.

Pick the questions from evidence rather than imagination. Your support inbox and live-chat logs are the best source. Search Console's query report shows the question-shaped terms already reaching the page. The "People also ask" box on the target query shows what the engine believes is adjacent. Anything you invent to fill a slot will read like filler, because it is.

## Writing answers that get quoted

Lead with the answer. A model extracting a snippet takes the first sentence, so "An audit typically takes three to five working days" beats "There are several factors affecting how long an audit takes."

Keep each answer to two to four sentences, forty words minimum. One-line answers get dropped by most extractors as insufficient. Long answers get truncated at an arbitrary point, usually mid-argument.

Include the specific detail a competitor would not: the actual price band, the actual turnaround, the actual limitation. Generic answers are the ones that never get cited, because there is no reason to prefer yours.

Avoid links and formatting inside the answer text. The markup carries plain text; HTML inside it is either stripped or breaks parsing.

## Where the markup goes

One `FAQPage` block per page. Two blocks compete and neither is guaranteed to win.

Put it in the head as a `application/ld+json` script tag. It works in the body too, but head placement is conventional and easier to audit later.

If the page is primarily something else — a product page, a service page — with an FAQ section at the bottom, you can still add `FAQPage` markup for that section, but check it does not conflict with your primary type. Where both matter, nest the FAQ inside the main entity rather than declaring two competing top-level types.

## Validating

Two checks before you consider it done. Google's Rich Results Test confirms the syntax parses and shows what, if anything, is eligible. The schema.org validator is stricter and catches vocabulary errors the Google tool passes over.

Then view the rendered page source, not your template, and confirm the script tag is actually there. Tag managers, caching layers and CMS sanitisers all strip script tags with some regularity, and a block that never reached the HTML validates perfectly in the tool and does nothing in the wild.

## FAQ

### Does FAQ schema still produce rich results?

Rarely in Google, and mostly for authoritative government and health domains. Bing shows it more often, and answer engines use it heavily. Add it for machine readability rather than for the visual result.

### Can I mark up questions that appear on a different page?

No. The markup must describe content visible on the page carrying it. Doing otherwise risks a manual action.

### Should every page have FAQ markup?

No. Only pages with a genuine question and answer section that visitors read. Bolting an FAQ onto every page to add markup produces thin duplicated content and helps nothing.

### What is the difference between FAQPage and QAPage?

`FAQPage` is for questions the site owner wrote and answered. `QAPage` is for a single user-submitted question with community answers, like a forum thread. Using the wrong one is a common validation failure.

### Can answers contain links or lists?

The specification allows limited HTML, but support is inconsistent and links inside answers are usually stripped. Plain text is safer.

### Will this help my page rank higher?

Structured data is not a ranking factor by itself. It affects how your content can be presented and how easily it can be extracted, which affects clicks and citations rather than position.
