FAQ Schema Generator — JSON-LD for Google Rich Results
Add your questions and answers — get valid JSON-LD schema markup, a visible HTML accordion, and a WordPress snippet instantly. Live preview updates as you type. Import Q&A from text, reorder by drag, detect duplicates. Free, no account.
Add Q&A pairs — get JSON-LD schema, HTML accordion & WordPress snippet
Google requires FAQ content to be both in schema markup AND visible on your page. This tool generates both simultaneously.
Rate this tool
How to generate FAQ schema markup
The most complete free FAQ schema generator
LazyTools vs other FAQ schema generators
| Feature | LazyTools | CommonNinja | RankWithLinks | Jasper |
|---|---|---|---|---|
| Live preview (no button) | ✅ As you type | ❌ Button click | ❌ Button click | ❌ Button click |
| HTML accordion output | ✅ Yes (required by Google) | ❌ JSON-LD only | ❌ JSON-LD only | ❌ JSON-LD only |
| WordPress PHP snippet | ✅ Yes | ❌ No | ❌ No | ❌ No |
| Import Q&A from text | ✅ Yes | ❌ No | ❌ No | ⚠ AI only |
| Character count warnings | ✅ Per answer | ❌ No | ❌ No | ❌ No |
| Duplicate detection | ✅ Yes | ❌ No | ❌ No | ❌ No |
| Download as .json | ✅ Yes | ❌ No | ⚠ Partial | ❌ No |
| No account required | ✅ None | ✅ None | ✅ None | ❌ Trial account |
| Autosave to localStorage | ✅ Yes | ❌ No | ❌ No | ❌ No |
FAQ Schema — Complete Guide to JSON-LD Structured Data for Google Rich Results
FAQ schema (FAQPage structured data) is one of the highest-value structured data types you can implement. When Google detects valid FAQ schema on a page and decides to show rich results, your search listing expands to display multiple expandable questions and answers directly in the SERP. This can double or triple the vertical space your listing occupies, pushing competitor results further down and significantly increasing click-through rates — studies consistently report 20–50% CTR improvements for pages with FAQ rich results.
What is JSON-LD FAQ schema?
JSON-LD (JavaScript Object Notation for Linked Data) is the format Google recommends for structured data. For FAQ pages, the schema uses the FAQPage type from schema.org with a mainEntity array containing Question objects, each with a name (the question) and an acceptedAnswer containing a text property. The generator above produces exactly this structure.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Your question goes here?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Your complete answer goes here."
}
}
]
}
Why you need BOTH JSON-LD schema AND visible HTML
This is the most common FAQ schema mistake. Google’s guidelines explicitly require that all content in your FAQ schema is also visible to users on the page. You cannot add a JSON-LD FAQ schema for questions that are hidden, only in your code, or require JavaScript to reveal. The LazyTools FAQ Schema Generator solves this by generating both simultaneously: the JSON-LD for your page head, and a working HTML accordion with CSS and JavaScript for your page body. Both are required for a compliant, eligible implementation.
FAQ schema best practices
| Practice | Recommended | Why |
|---|---|---|
| Number of questions | 2–8 per page | More than 8 reduces the display impact of each question in rich results |
| Answer length | 50–300 words | Too short lacks substance; too long reduces scannability and may not render fully |
| Content visibility | Must be visible | Google requires all schema content to be visible to users — not hidden or JS-only |
| Promotional content | Prohibited | Google penalises FAQ schema used for advertising. Answers must be informational |
| Duplicate questions | Avoid | Repeated questions confuse search engines and dilute schema effectiveness |
| Same schema per page | Don’t reuse | Each page should have unique FAQ schema relevant to its specific topic |
| HTML encoding | Required | Special characters (& < > " ') in answers must be HTML-encoded in JSON-LD text values |
| Self-referencing canonical | Recommended | Pair with canonical tag to consolidate signals to the preferred URL |
Where to place FAQ schema on different platforms
Standard HTML: Paste the <script type="application/ld+json"> block inside your <head> tag or just before </body>. Both locations are valid. Also add the HTML accordion from the HTML tab to your page body where you want the visible FAQ section to appear.
WordPress (manual): Use the WordPress PHP tab in the generator. Copy the add_action('wp_head', ...) code into your theme’s functions.php file. This outputs the schema in every page head. For page-specific FAQ schema, wrap the code in a conditional: if (is_page('your-page-slug')) { ... }.
WordPress (Yoast SEO): Use the Yoast FAQ block in the WordPress editor. Yoast automatically generates FAQ schema from the block content and handles the HTML output simultaneously — no manual code needed. The generated schema matches the same format as this tool.
Shopify: Add the JSON-LD to your theme’s theme.liquid file inside <head>, or use a Shopify Schema markup app. The HTML accordion can be added to product page or collection page templates as a Liquid section.
How FAQ schema affects Google SGE and AI Overviews
With Google’s AI Overviews (formerly Search Generative Experience), structured data signals are increasingly important for content to be cited in AI-generated summaries. FAQ schema explicitly marks your content as structured Q&A, making it easier for Google’s AI to extract specific answers to user queries. Pages with valid FAQ schema are better positioned to appear in the “People Also Ask” boxes and AI Overview citations for questions that match your FAQ content. The combination of valid schema, visible content, and E-E-A-T signals gives your FAQ content the strongest possible signal for both traditional rich results and AI-powered search features.
FAQ schema generator FAQ
FAQ schema (FAQPage) is JSON-LD structured data that tells Google your page contains questions and answers. When detected, Google may display expandable Q&A rich results in search, increasing your listing size and click-through rate by 20-50%.
No. FAQ schema significantly increases your chances but does not guarantee rich results. Google decides whether to show them based on content quality, page authority, query relevance, and whether FAQ content is visible on the page. Valid schema + high-quality answers + visible HTML gives you the best chance.
Yes. All content in your FAQ schema must be visible to users on the page. You cannot use hidden content, JavaScript-only reveals (that fail before JS loads), or content only in the JSON-LD. This is why the generator produces both JSON-LD and a visible HTML accordion.
JSON-LD: inside your page <head> or before </body> — both are valid. WordPress: use the PHP snippet in functions.php or use Yoast/Rank Math FAQ blocks. Always also add the visible HTML accordion from the HTML tab to your page body.
2-8 high-quality questions per page. More than 8 reduces the display impact per question. Focus on quality over quantity — choose questions that match search queries your target audience actually asks.
Yes. Use a @graph array in your JSON-LD to include multiple schema types. This is common on product pages where you want both Product rich results and FAQ rich results. The @graph format allows any combination of schema types.
Use Google's Rich Results Test at search.google.com/test/rich-results. Enter your page URL (after publishing) or paste the JSON-LD directly. The tool shows whether schema is valid and eligible for rich results. Fix any errors before expecting results.
The LazyTools FAQ Schema Generator is 100% free with no signup. Add unlimited Q&A pairs, get live JSON-LD schema, HTML accordion, and WordPress PHP snippets. Copy or download. No account, no limits, autosaves locally.
FAQ schema (FAQPage) is for question-answer content where users have questions about a topic. HowTo schema is for step-by-step instructions to complete a task. Use FAQ for information pages, HowTo for tutorials. Both can earn rich results but in different SERP formats.
You can, but Google recommends that each page has unique FAQ content relevant to that specific page's topic. Reusing the same FAQ schema across multiple pages dilutes its effectiveness and can confuse search engines. Create unique, page-specific FAQ sets.