# 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](https://html-pdf.com/templates/certificate) or the [report template](https://html-pdf.com/templates/report). 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](https://html-pdf.com/login). 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.

1. Open the response Sheet and choose **Extensions → Apps Script**.
2. Paste the code below. Change the question titles to match your form exactly.
3. Open **Project Settings → Script properties** and add `HTML_PDF_KEY` with your API key.
4. 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.
5. Submit a test response and check your inbox.

```js
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](https://html-pdf.com/google-apps-script-html-to-pdf).

## Option 2 with Zapier (no code)

1. Create a Zap with **Google Forms** and the event **New Form Response**. Pick your form.
2. Add **Webhooks by Zapier → Custom Request**. Method `POST`, URL `https://html-pdf.com/v1/pdf`, headers `Authorization: Bearer hp_live_...` and `Content-Type: application/json`.
3. In **Data**, paste the JSON below and replace the sample name with the answer field from step 1.
4. Add **Gmail → Send Email** and map the `url` from step 2 into **Attachments**.

```json
{
  "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](https://html-pdf.com/guides/zapier). Make and n8n work the same way, see the [Make guide](https://html-pdf.com/guides/make) and [n8n guide](https://html-pdf.com/guides/n8n).

## Ask your AI agent

If you use Claude or ChatGPT with the [html-pdf.com MCP server](https://html-pdf.com/pdf-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](https://html-pdf.com/certificate-generator-api).

## 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](https://html-pdf.com/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.
