Schema.org FAQ Generator
Add your questions and answers below to generate valid JSON-LD FAQ Schema for Google Rich Results.
Copied!
function addFaqItem() {
var wrapper = document.getElementById('faq-items-wrapper');
var newItem = document.createElement('div');
newItem.className = 'faq-item';
newItem.style.cssText = 'background: #fff; padding: 15px; border: 1px solid #e5e5e5; border-radius: 4px; margin-bottom: 15px; position: relative;';
newItem.innerHTML = '';
wrapper.appendChild(newItem);
}
function generateFaqSchema() {
var questions = document.getElementsByClassName('faq-q');
var answers = document.getElementsByClassName('faq-a');
var faqData = [];
for (var i = 0; i < questions.length; i++) {
if (questions[i].value.trim() !== "" && answers[i].value.trim() !== "") {
faqData.push({
"@type": "Question",
"name": questions[i].value.trim(),
"acceptedAnswer": {
"@type": "Answer",
"text": answers[i].value.trim()
}
});
}
}
if (faqData.length === 0) {
alert("Please fill in at least one question and answer.");
return;
}
var schema = {
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": faqData
};
var outputArea = document.getElementById('output-area');
var textarea = document.getElementById('schema-output');
textarea.value = '\n' + JSON.stringify(schema, null, 2) + '\n';
outputArea.style.display = 'block';
}
function copySchemaToClipboard() {
var copyText = document.getElementById("schema-output");
copyText.select();
copyText.setSelectionRange(0, 99999);
document.execCommand("copy");
var msg = document.getElementById("copy-msg");
msg.style.display = "inline";
setTimeout(function() {
msg.style.display = "none";
}, 2000);
}