FAQ Schema Generator

This generator turns the questions and answers on your page into FAQPage JSON-LD, ready to paste. Read the first section below before you add any: Google stopped showing FAQ rich results in May 2026, and this page promises nothing from any other reader either. FAQPage is still a valid schema.org type, and if you keep markup in step with the page, this tool keeps it tidy. Nothing you type leaves your browser.

Questions and answers

Write each question and answer as it reads on your page, in the same order. Empty rows are left out.

  1. Question 1
  2. Question 2

The second choice keeps p, br, a, ul, ol, li, strong and em, a short list this page chose for itself; no search engine's list is applied.

0 B of 1 MB

Each question on one line, its answer on the lines below, and an empty line before the next question. The button replaces the list above.

Limits: Up to 50 questions and 1 MB of text in each box. Larger input is refused with a message.

Google stopped showing FAQ rich results on 7 May 2026 and removed its FAQ documentation, as its documentation updates page records, so these checks follow schema.org alone, as read on 22 October 2026. Check the published page with the Schema Markup Validator, and keep every question and answer visible on the page.

Results

Questions
-
Questions with an answer
-
Findings
-

How to use the FAQ Schema Generator

  1. Decide whether your page needs the markup at all; the first section below helps.
  2. Choose an answer format, then write each question and its answer in a row, or paste a list into the import box and press its button.
  3. Use Up, Down and Remove to put the questions in the order your page shows them.
  4. Fix what the findings point out, copy the script element into the page, and check the published page with the Schema Markup Validator.

Worked example

A gardening page answers four questions. Press Load the example to import them with the HTML answer format: the strong tag stays, the link keeps its address but loses its onclick handler, a span is removed with its text kept, and the last question has no answer yet.

How often should a fern be repotted?
Every one or two years, in <strong>spring</strong>, when roots fill the pot.

Which pot size is best?
One size up from the old pot. See <a href="https://www.example.com/pots/" onclick="track()">the pot guide</a>.

Can a fern live in a bathroom?
Yes, <span class="tip">most ferns like damp air</span> if the room gets daylight.

Do ferns need fertilizer?
Answer format
Text with a few simple HTML tags
Questions
4
Questions with an answer
3
Findings
4

How to read the results

Questions and Questions with an answer
How many rows went into the markup, leaving out empty ones, and how many of those have an answer. A question without one is written without acceptedAnswer and gets a warning.
Findings
The count the line above the results breaks down by level. A warning is a schema.org structure problem, or something the filter removed because it could run code or point to an unsafe address. A note says what else the filter removed, or that a question repeats another.
Where
The row a finding is about, by its number on the form: Question 3 for the question itself, Question 3, answer for its answer. FAQPage means the markup as a whole.
JSON-LD and Script element for the page
The FAQPage markup with two space indents, and the same markup inside a script element of type application/ld+json for the page. Copy takes the whole text.

How this tool works and its limitations

Each row's question is trimmed and read as plain text; its answer goes through the filter of the chosen format, a scan that reads a tag the way an HTML parser starts one and either keeps it, written again in lower case, or removes it and keeps the text. The scan then runs again on its own result until a pass changes nothing (at most 10 passes; a text still changing is left out with a warning), so a tag hidden behind a second < sign cannot come back. In plain text a space is then written after any < that a browser would read as the start of a tag, that is a < followed by a letter, /, ! or ?, while a < before a space or a digit stays as typed. The page never parses the text as HTML or shows it as HTML: it only goes into a JSON string. Rows that end up empty are left out, and the rest become one Question each, with its answer as an Answer in acceptedAnswer, in row order. The import box reads a question line, answer lines and an empty line per pair, and its button replaces the rows.

The markup is then checked by the same rules as the JSON-LD Generator for FAQPage, which follow schema.org's FAQPage, Question and Answer pages, and each finding is moved to the row it is about. The JSON-LD is written by JSON.stringify with <, >, &, U+2028 and U+2029 as escapes, so it reads back as exactly the same text.

  • The checks follow the FAQPage, Question and Answer pages of schema.org only, because Google has withdrawn its FAQ documentation; no other reader's rules are applied.
  • The answer tag list is this page's own cautious choice, not a list published by any search engine, and the filter is a careful scan of the text rather than a full HTML parser, so it removes what it does not know instead of guessing.
  • Nothing here can see your page, so it cannot tell whether each question and answer in the markup also appears there in the same words, as it should.
  • Each question gets one accepted answer. Suggested answers, authors, dates and vote counts are not part of the form and have to be added by hand.
  • The list takes up to 50 questions and each box up to 1 MB of text; more is refused with a message.

Features

  • Question rows you add, remove and reorder with buttons a keyboard and a screen reader can use.
  • An answer filter: plain text by default, or a short list of simple tags, with scripts, event handlers and unsafe links removed either way.
  • Checks against the FAQPage, Question and Answer types of schema.org, each finding naming the row it is about.
  • Output with <, > and & as \u escapes, so </script> in an answer cannot end the script element.

Should you add FAQ markup in 2026?

Google's documentation updates page says the FAQ rich result no longer appears in Google Search starting 7 May 2026, and that Google removed its FAQ structured data documentation on 15 June 2026. What stays true is that FAQPage is a schema.org type, so a program that reads schema.org can understand it. Whether a particular search engine or assistant uses it is for that program's own documentation to say, and this page found no current statement it could cite. If your pages already carry FAQ markup, keeping it accurate is cheap; if they do not, adding it for Google alone has no visible effect.

The markup must match the page

Structured data describes what a page says, so every question and answer in the JSON-LD should also appear on the page, in the same words. Google's general guidelines ask that markup not describe content hidden from readers. Enter the questions here in the order the page lists them, and when an answer changes on the page, change it in the markup as well. A question that exists only in the markup is one no reader can check.

Which HTML an answer may hold

schema.org types the text of an Answer as Text and says nothing about HTML in it. No current Google page lists tags for it, so this tool makes a cautious choice of its own. Plain text, the default, keeps no tags at all. The second format keeps p, br, a, ul, ol, li, strong and em, closes any of them left open, keeps a link only when its address starts with http:// or https://, and drops every other attribute. Scripts, styles and event handlers such as onclick go in both formats, and each removal is listed as a finding.

Frequently asked questions

Will FAQ markup give my page a rich result?

Not in Google Search. Google stopped showing the FAQ rich result on 7 May 2026; since August 2023 it had shown it only for well known government and health sites. This page does not claim that the markup brings any search feature.

Is FAQPage still valid markup?

Yes. On schema.org, FAQPage is a kind of WebPage whose mainEntity holds Question items, and each Question has its answer in acceptedAnswer. Markup that follows those types is valid schema.org, whatever a search engine does with it.

Why are my HTML tags gone from an answer?

Plain text is the default format and it removes every tag. Choose the other format to keep p, br, a, ul, ol, li, strong and em; any other tag is removed with its text kept, and the findings name each one.

Can I reorder the questions by keyboard?

Yes. Each row has Up, Down and Remove buttons named for that row, such as Move question 2 up. Focus follows the question you moved, and a short message says where it went.

What does the import box expect?

One question per line, its answer on the lines below, and an empty line between pairs, as in the JSON-LD Generator. Its button replaces the whole list with what the box holds.

Should I remove FAQ markup I already have?

Google's updates page records the end of the feature and says nothing about removing markup. Markup that still matches the page is accurate; markup that has drifted from the visible questions should be fixed or taken out.

Last updated .