How it works
CertSheet is a web page that builds PDF certificates on your own device. Here is each step, with a worked example: a food safety course with 32 attendees.
1. Prepare the spreadsheet
Put one person per row and the column names in the first row. Any column names work; CertSheet guesses which columns hold the name, course and date and you can change its choices.
| Name | Course | Date | Instructor |
|---|---|---|---|
| Shanice Campbell | Food Handling and Safety | 2026-10-03 | Marcus Reid |
| Andre Williams | Food Handling and Safety | 2026-10-03 | Marcus Reid |
| …30 more rows |
Save it as CSV or Excel (.xlsx). Google Sheets: File → Download → Comma-separated values. Dates stored as real spreadsheet dates, or written as 2026-10-03, can be reformatted (for example to “3 October 2026”). Other date text is printed exactly as typed. You can download a sample CSV to start from.
2. Choose a background
Pick one of eight templates in A4 or US Letter landscape, or upload your own design:
- PNG or JPG: scaled to fill the page. Use at least 2480 × 1754 pixels for sharp A4 printing.
- PDF: the first page is used at its own size. A PDF exported from Canva, Word or Illustrator, with the name area left blank, works well.
3. Place the fields
Drag any text on the preview to move it; a guide line appears when it's centred. You can also select a field and move it with the arrow keys (hold Shift for bigger steps). Each field has:
- Content: a spreadsheet column, or fixed text. Fixed text can include column names in braces. For our example, the course line is
has successfully completed {Course}. - Font: serif (Crimson Text), sans (Lato), script (Great Vibes) or mono (IBM Plex Mono). All are open-licence fonts embedded in the PDF.
- Size, colour and alignment, plus a maximum width. A long name such as “Ana-María Ñúñez O’Brien” shrinks to fit instead of running off the page.
The built-in fields are the heading, an intro line, the recipient's name, the course or title, the date and up to three custom columns (instructor, hours, grade, licence number and so on). Step through rows with the arrows under the preview to check long names.
4. Add a QR code
Each certificate gets a unique ID such as CS-7K3M-9QX2-H4TB, printed under an optional QR code. On the Free plan the code contains the ID as text. On Pro or an Event Pass you can publish the batch for online verification; each code then opens certsheet.com/v/CS-…, a page confirming the recipient, title, issuer and date. Read more in how to add a QR verification code.
5. Generate and download
Press Generate. In our example, 32 certificates take a second or two, and the ZIP contains Shanice Campbell.pdf, Andre Williams.pdf and so on. If two people share a name, the second file is named Name (2).pdf. Tick “combined PDF” to also get one file with every certificate for printing.
The Free plan makes up to 20 certificates per batch. With a 32-row sheet it makes the first 20 and tells you, so you can upgrade or split the list.
What happens to your data
The spreadsheet is read by your browser and certificates are built there. Nothing in it is sent to us. The only exception is a batch you choose to publish for online verification: then just the certificate ID, recipient name, title, issuer and date are stored so the verification page can show them. See the privacy policy.