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 nameCourseCompletedHours
Rohan ThompsonEmergency First Aid at Work2026-09-2714
Simone McKenzie-BlakeEmergency First Aid at Work2026-09-2714
Dwayne Ó BriainEmergency First Aid at Work2026-09-2714

Step 2: export as CSV or Excel

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:

FieldContentStyle
HeadingFixed text: Certificate of CompletionSerif, bold, 34 pt
Recipient nameColumn: Full nameScript, 50 pt, gold
Course / titleFixed text: has completed {Course} ({Hours} hours)Sans, 17 pt
DateColumn: 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.

The Free plan makes up to 20 certificates per batch. For 46 people, either split the sheet into three files of up to 20 rows, or use an Event Pass (US$19, 7 days) to make them in one batch without the footer line.

Common problems and fixes

ProblemCauseFix
Names show as “Renée”CSV saved in an old encodingRe-save as “CSV UTF-8”, or upload the .xlsx directly
A column is called “Column 3”Blank header cellGive every column a name in row 1
Dates print as 45927A date pasted as a plain numberFormat the column as Date in Excel, or type dates as 2026-09-27
Wrong number of certificatesBlank or totals rows in the sheetDelete rows that aren't people; fully empty rows are skipped automatically
Fuzzy background when printedLow-resolution imageUse 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.

Try it with your spreadsheet