How to make certificates from a spreadsheet
If you have a list of names in Excel or Google Sheets, you don't need to type each certificate by hand or wrestle with Word mail merge. Here's the whole process, using a real example.
The example
A community training centre in Montego Bay has run a two-day first aid course for 46 people. The coordinator has the sign-in list in Google Sheets and needs a PDF certificate for each person to email out, plus a printed set for the closing ceremony.
Step 1: lay out the spreadsheet
Certificate tools, CertSheet included, read the first row as column names and every row below it as one certificate. Tidy the sheet so it looks like this:
| Full name | Course | Completed | Hours |
|---|---|---|---|
| Rohan Thompson | Emergency First Aid at Work | 2026-09-27 | 14 |
| Simone McKenzie-Blake | Emergency First Aid at Work | 2026-09-27 | 14 |
| Dwayne Ó Briain | Emergency First Aid at Work | 2026-09-27 | 14 |
- One person per row. Remove title rows, totals and blank spacer rows above the header.
- No merged cells. Unmerge them and repeat the value in each row instead.
- Write names exactly as they should be printed. If your sign-in sheet has First and Last in separate columns, add a column with
=A2&" "&B2and copy it down. - Check spelling and capitals now. Fixing “rohan thompson” in the sheet is quicker than reprinting. In Excel,
=PROPER(A2)fixes capitals, but check names like McKenzie and O’Brien by hand afterwards. - Dates: real spreadsheet dates or
YYYY-MM-DDtext can be reformatted later, for example to “27 September 2026”. Anything else is printed as typed.
Step 2: export as CSV or Excel
- Google Sheets: File → Download → Comma-separated values (.csv). Only the current tab is exported.
- Excel: keep the .xlsx (CertSheet reads the first sheet), or File → Save As → CSV UTF-8. Choose UTF-8 so accented names survive.
- Numbers (Mac): File → Export To → CSV.
Step 3: upload and choose a design
Open the app and choose the file. CertSheet confirms what it found, for example “46 recipients, columns Full name, Course, Completed, Hours”. Then pick a template, or upload your organisation's own design as a PNG, JPG or PDF with the name area left blank. For printing, A4 and US Letter landscape are both available.
Step 4: map and place the fields
CertSheet guesses the name, course and date columns from their headings. Open each field to confirm or change it. Our example uses:
| Field | Content | Style |
|---|---|---|
| Heading | Fixed text: Certificate of Completion | Serif, bold, 34 pt |
| Recipient name | Column: Full name | Script, 50 pt, gold |
| Course / title | Fixed text: has completed {Course} ({Hours} hours) | Sans, 17 pt |
| Date | Column: Completed, format “27 September 2026” | Sans, 14 pt |
The braces in {Course} and {Hours} are replaced with each row's values, so one line of text adapts to every person. Drag each field on the preview to position it; a pink guide appears when it's exactly centred.
Step 5: check the longest names, then generate
Use the arrows under the preview to step through rows. Look for the longest name (here “Simone McKenzie-Blake”). CertSheet shrinks text that would overflow the field's maximum width, but if it's shrinking a lot, reduce the font size or widen the field. Then press Generate.
The ZIP contains Rohan Thompson.pdf, Simone McKenzie-Blake.pdf and so on, ready to attach to emails. Tick “combined PDF” as well to print all 46 in one go.
Common problems and fixes
| Problem | Cause | Fix |
|---|---|---|
| Names show as “Renée” | CSV saved in an old encoding | Re-save as “CSV UTF-8”, or upload the .xlsx directly |
| A column is called “Column 3” | Blank header cell | Give every column a name in row 1 |
| Dates print as 45927 | A date pasted as a plain number | Format the column as Date in Excel, or type dates as 2026-09-27 |
| Wrong number of certificates | Blank or totals rows in the sheet | Delete rows that aren't people; fully empty rows are skipped automatically |
| Fuzzy background when printed | Low-resolution image | Use at least 2480 × 1754 px for A4, or upload the design as a PDF |
Why not Word mail merge?
Mail merge works, but it produces one long document. Splitting it into one PDF per person, each named after them, is the slow part. Long names also overflow text boxes. A spreadsheet-to-certificate tool does the splitting, naming and fitting for you, and adds a unique ID and QR code to each certificate. If verification matters, see how to add a QR verification code. For what to write on the certificate, see certificate of completion wording.