Keep the list. Make the certificates.
A sheet can hold all the details: names, roles, dates, and email addresses. Import recipient rows from a public URL, then place the columns on your design. The API reads the sheet; your browser makes the PDFs.
Keep your sheet private if it contains sensitive information. A downloaded CSV works too.
How do I generate certificates from Google Sheets?
The fastest path is Google Forms → Google Sheets → Certly → Gmail. Each step below maps to a section in our user guide.
- 1
Collect responses in Google Sheets
Create a Google Form or spreadsheet with participant names and emails. Link form responses to a sheet if using Google Forms.
- 2
Make the sheet publicly viewable
In Google Sheets: Share → General access → Anyone with the link → Viewer. Copy the sheet URL.
- 3
Upload your certificate template
In Certly, upload a PNG or JPG design (export from Canva or Figma if needed).
- 4
Import the Google Sheet URL
Paste the public sheet link in the import step. Map columns such as name and email to certificate fields.
- 5
Generate PDFs and send via Gmail
Generate personalized certificates locally, download a ZIP, or connect Gmail OAuth to send bulk email with attachments.
Google Forms → Sheets → Certificates workflow
Most organizers already use Google Forms for registrations. When responses land in a sheet, Certly treats that sheet like a mail-merge data source — similar to printing labels from a spreadsheet, except the output is personalized PDF certificates.
- Form responses sync to a Google Sheet automatically when you enable the responses spreadsheet.
- Public view access lets Certly fetch CSV data without Google OAuth for the sheet itself.
- Local PDF generation keeps names and emails on your device (IndexedDB) instead of a vendor cloud.
- Gmail OAuth sends each certificate from your own inbox when you choose email delivery.
Which data source should you use?
All workflows in Certly generate certificates the same way. Choose based on where your participant data lives:
| Your data source | Recommended workflow | Why |
|---|---|---|
| Google Sheets (public URL) | Google Sheets workflow (this page) | Live data; no re-download needed between runs |
| Excel or CSV file on your computer | CSV/Excel workflow | File upload; no public URL sharing required |
| Google Forms responses | Google Forms workflow | Responses reach Sheets; refresh the Certly import yourself |
| Private or frequently updated data | CSV/Excel workflow | No sharing required; stays on your device |
How Certly compares to alternatives
Honest comparison for event organizers — not an enterprise LMS or verifiable credential platform.
| Approach | Google Sheets import | Privacy / data upload | Cost |
|---|---|---|---|
| Certly | Public sheet URL | Local browser generation; no roster hosting | Free |
| Manual Canva editing | Manual copy/paste | Data stays local but hours of labor | Canva free tier limits |
| Typical SaaS certificate tools | CSV / Sheets / API | Participant data uploaded to vendor cloud | Often freemium or per-certificate pricing |
Is my Google Sheet data stored on your servers?
The API reads the public sheet and returns its rows to your browser. The local session holds the rows and finished PDFs; Certly does not offer a hosted roster database or cloud backup.
Read the full breakdown in our privacy policy.
Questions / Answers
Google Sheets certificate FAQ
Common questions from event organizers
Can Certly read a private Google Sheet?
Can Certly read a private Google Sheet?
No. The URL must allow anyone with the link to view. The API reads the sheet and returns its rows to your browser. For a private roster, export a CSV instead.
Does this work with Google Forms responses?
Does this work with Google Forms responses?
Yes. Link the form responses to a sheet, review the rows you want to recognize, then import that public sheet. Refresh the import yourself when responses change.
What columns does my Google Sheet need?
What columns does my Google Sheet need?
Use a header row and one recipient per row. Keep names, dates, and roles in separate columns. Include email addresses if you plan to send with Gmail.
Does a Sheets import pass through the server?
Does a Sheets import pass through the server?
Yes. The API reads the public sheet and returns the data to your browser, where the batch is saved and PDFs are generated. There is no hosted roster library.
How is this different from Certify’em or Certifier?
How is this different from Certify’em or Certifier?
Certly makes downloadable PDFs from your imported recipient rows. It does not offer submission-triggered certificates, a verification portal, or LMS integration.
Give the rows their place on the page.
Bring your image and a public sheet URL. Review a few names before making the batch.
Start with Google SheetsKeep reading
Related workflows and answers from the rest of the site.
- Google Forms to certificatesTurn form responses into certificates, with the Forms to Sheets link explained.
- Full step-by-step guideThe complete walkthrough: template setup, field mapping, generation and Gmail delivery.
- Bulk Gmail deliveryHow OAuth sending works, what the gmail.send scope covers, and Gmail sending limits.
- Canva certificate alternativeKeep designing in Canva, then automate the per-attendee merge you would otherwise do by hand.
- Certificate generator from Excel/CSVImport participant data directly from Excel, CSV, or any spreadsheet format.
- Workshop certificate generatorBest practices for creating and sending certificates to workshop participants at scale.