JSON-LD FAQ Schema Builder

Build FAQ structured data to earn rich results in Google Search

Turn up to 20 question and answer pairs into a valid FAQPage JSON-LD block ready to paste into any page. Correctly escapes HTML and outputs a script tag that passes Google's Rich Results Test. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is FAQPage structured data?

FAQPage is a schema.org type that marks up a list of questions and answers on a page. Google can use it to show an expandable FAQ directly under your search result, taking up more space on the results page.

FAQ structured data without the boilerplate

The JSON-LD FAQ Schema Builder converts your question and answer pairs into a valid schema.org/FAQPage block. When Google chooses to display it, your result can expand into a list of questions right in the search results, which both answers users instantly and pushes competitors further down the page.

How it works

The tool builds a single root object with @type set to FAQPage and a mainEntity array. Each non-empty pair becomes a Question object whose name holds the question text and whose acceptedAnswer is an Answer object holding the answer in its text property. Empty rows are skipped. Every value is serialised with JSON.stringify, which escapes quotes, backslashes and newlines so the output is always syntactically valid JSON even when your answers contain punctuation or markup.

Full output shape

A two-question FAQ produces this complete JSON-LD block, which you paste into a script tag with type="application/ld+json" anywhere on the page:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Do you offer refunds?",
      "acceptedAnswer": { "@type": "Answer", "text": "Yes, within 30 days of purchase." }
    },
    {
      "@type": "Question",
      "name": "How long does delivery take?",
      "acceptedAnswer": { "@type": "Answer", "text": "Standard delivery takes 3–5 business days." }
    }
  ]
}

Writing questions that get displayed

Google applies editorial judgment about which FAQs it shows as rich results. A few practices help:

  • Match what users actually search. Phrase questions the way people type them into Google, not the way a marketing writer would phrase them. “How do I cancel?” beats “What is your cancellation policy?”
  • Keep answers factual and self-contained. Each answer should make sense with no other context, because users see it directly in search results before clicking.
  • Put the FAQ on the right page. The markup should live on the page where those questions and answers are visible to users — not injected globally from a template onto every page of the site.
  • Avoid promotional content. Google reserves FAQ rich results for genuine informational questions. “Why should I choose us?” is not eligible.

Answers can contain some HTML

Google accepts a subset of formatting tags in text — specifically <a>, <br>, <ol>, <ul>, <li>, <p>, <div>, <b>, <strong>, <i>, and <em>. This means you can include a link or a short list in an answer. This tool preserves whatever you type in the answer field, so you can include those tags if you need them.

Tips and example

Keep questions phrased the way people actually search, and keep answers self-contained — each answer should make sense on its own. Do not mark up promotional or ad content as an FAQ; Google reserves the feature for genuine questions. A single pair compiles to the shape below.

{
  "@type": "Question",
  "name": "Do you offer refunds?",
  "acceptedAnswer": { "@type": "Answer", "text": "Yes, within 30 days." }
}