Turn each Google Forms response into a PDF
Google Forms to PDF, automatically. Turn every response into a certificate, summary or confirmation PDF with Apps Script or Zapier and email it.
Quick answer. When someone submits your Google Form, a small script or a Zapier step takes their answers and puts them into a template. html-pdf.com turns the template into a PDF, and the PDF is emailed to the person or saved in Google Drive.
What you'll build
Picture a training course. A student fills in the final quiz form, and a minute later they get an email with a certificate PDF showing their name, the course title and today's date.
The same idea works for event registrations (a confirmation PDF), job applications (a one page summary for the hiring team) or inspections (a signed report). Google Forms gives you the answers, and this setup gives you a nice document for each one.
What you need
- A Google Form linked to a Google Sheet. In the form, open Responses and click Link to Sheets.
- A design. Try the certificate template or the report template. The template is a web page design that we turn into a PDF, so you only edit names and colors.
- An API key from html-pdf.com. New accounts get 100 free pages once, with no card.
- Optional. A Zapier account if you prefer clicking to copying a script.
Option 1 with Apps Script (free, inside Google)
Apps Script is Google's built in automation tool. You paste the code once and it runs on every submission.
- Open the response Sheet and choose Extensions → Apps Script.
- Paste the code below. Change the question titles to match your form exactly.
- Open Project Settings → Script properties and add
HTML_PDF_KEYwith your API key. - Click Triggers (the clock icon), then Add Trigger. Choose the function
onFormSubmit, event source From spreadsheet and event type On form submit. Approve the permissions. - Submit a test response and check your inbox.
function onFormSubmit(e) {
const a = e.namedValues; // answers keyed by question title
const name = a["Full name"][0];
const email = a["Email"][0];
const html = `
<div style="text-align:center;padding:80px;font-family:Georgia">
<h1>Certificate of Completion</h1>
<p>This certifies that</p>
<h2>${name}</h2>
<p>completed the course on ${new Date().toDateString()}</p>
</div>`;
const key = PropertiesService.getScriptProperties().getProperty("HTML_PDF_KEY");
const res = UrlFetchApp.fetch("https://html-pdf.com/v1/pdf", {
method: "post",
contentType: "application/json",
headers: { Authorization: "Bearer " + key },
payload: JSON.stringify({ html: html, landscape: true, filename: "certificate.pdf" }),
});
const pdf = res.getBlob().setName("certificate.pdf");
GmailApp.sendEmail(email, "Your certificate", "Congratulations! Your certificate is attached.", {
attachments: [pdf],
});
}
Want a copy in Drive too? Add DriveApp.createFile(pdf) before sending. More examples live on the Apps Script guide.
Option 2 with Zapier (no code)
- Create a Zap with Google Forms and the event New Form Response. Pick your form.
- Add Webhooks by Zapier → Custom Request. Method
POST, URLhttps://html-pdf.com/v1/pdf, headersAuthorization: Bearer hp_live_...andContent-Type: application/json. - In Data, paste the JSON below and replace the sample name with the answer field from step 1.
- Add Gmail → Send Email and map the
urlfrom step 2 into Attachments.
{
"html": "<h1>Certificate of Completion</h1><h2>Maria Lopez</h2>",
"landscape": true,
"filename": "certificate.pdf",
"response": "url"
}
The download link lasts 24 hours, long enough for Zapier to attach it. Details are in the Zapier guide. Make and n8n work the same way, see the Make guide and n8n guide.
Ask your AI agent
If you use Claude or ChatGPT with the html-pdf.com MCP server, it can design the PDF for you.
Use html-pdf to make a landscape certificate PDF for "Maria Lopez" who completed "Food Safety Level 2" on 10 Oct 2026. Elegant serif font, thin gold border, signature line for "Course Director".
Then ask for the HTML and paste it into the script or Zapier step. For more certificate ideas, see the certificate generator page.
Exporting all responses at once
Google Forms can already print the summary of all responses. This guide is for the other case, where each person needs their own document. If you need a monthly summary PDF instead, see PDF report automation.
FAQ
Can I convert Google Forms responses to PDF for free?
Yes for most small forms. Apps Script is free, and html-pdf.com gives 100 free pages once with no card. After that, packs start at $10 for 1,000 pages.
Why does my script say the answer is undefined?
The keys in e.namedValues must match your question titles exactly, including capital letters and punctuation. Check the column headers in the response Sheet.
Can I send the PDF to someone other than the person who filled in the form?
Yes. Change the email address in GmailApp.sendEmail or the Zapier To field to your team's address, or add both.
Does html-pdf.com keep the answers?
No. The HTML is not stored, and download links expire after 24 hours.
