Generate Certificates From CSV: Bulk Issue With QR

A practical guide to generating certificates from a CSV file in bulk, with the exact columns to use, QR verification on every certificate, and GST invoicing in India.
To generate certificates from a CSV file in bulk, build one branded template with placeholder fields, export a CSV where each row is one recipient and each column matches a placeholder, upload it, preview the first few rows, then issue the whole batch in one run. Every certificate should carry a unique QR code that opens a live public verification page, and you should be able to revoke any certificate after it has been delivered. If you issue from India, the tool should also give you a GST invoice your finance team can file.
A CSV is the most reliable input for bulk issuance because almost every source you already use can produce one. Google Forms, Microsoft Forms, an LMS export, an attendance report and a plain Excel sheet all export to CSV. That makes it the natural handoff between where your data lives and where certificates get made.
Why generate certificates from a CSV instead of one at a time?
The problem is not the design work, which happens once. The cost sits in everything that repeats per person.
- Personalisation. Editing a name, exporting a PDF and attaching it to an email takes minutes per recipient. At three hundred recipients that is most of a working week.
- Human error. Copy and paste across hundreds of records produces swapped names, wrong dates and duplicate files.
- No record. A folder of PDFs is not a register. Months later you cannot answer who received what and when.
- No proof. A PDF can be edited by anyone with a free tool, so nobody downstream can confirm it came from you.
What should your CSV actually contain?
Keep it boring. One header row, one row per recipient, one column per field that changes. Header names should match the placeholder fields in your template exactly, since that mapping fills each certificate.
| Column | Example value | Why it matters |
|---|---|---|
| full_name | Priya Nair | Printed on the certificate. Fix casing and stray spaces. |
| [email protected] | Delivery address. One per row. | |
| course_name | Fire Safety Level 1 | Lets one template serve several programmes. |
| issue_date | 2026-09-02 | Use one date format throughout. |
| reference_id | FS1-2026-0142 | Your roll number or employee ID. |
Two rules save most reruns. Save as UTF-8 so Indian names with regional characters survive the upload, and delete the blank rows spreadsheets silently append.
How do you issue the batch, step by step?
- Design the template once. Add your logo, colours, signatory block and the placeholder fields named in the CSV header.
- Clean the export. Deduplicate emails, standardise dates, trim trailing spaces in names.
- Upload and map. Point each column at its placeholder. This is where a mismatched header gets caught before it becomes three hundred wrong certificates.
- Preview. Check the first few generated certificates. Long names and long course titles are where layouts break.
- Issue and deliver. Generate the batch, then email the certificates or share links. Each gets its own QR code and verification URL.
- Keep the register. You now have a searchable list to filter, resend from and revoke against.
If your data starts in a spreadsheet, our certificate generator from Google Sheets guide covers the export step, and emailing certificates in bulk covers delivery.
Which approach handles a CSV of 500 rows best?
Teams pick one of three routes. They look similar on day one and diverge the moment something needs correcting.
| Approach | Bulk from a CSV | Live QR verification page | Revoke after delivery | GST invoice in India |
|---|---|---|---|---|
| Word or Canva, exported by hand | Manual, one at a time | No | No | Depends on the tool |
| Spreadsheet plus a mail merge script | Yes, if maintained | No, unless you build it | No | Not applicable |
| QRCertificates | Yes, upload the CSV and issue | Yes, on every certificate | Yes, reflected instantly | Yes, GST invoice provided |
The mail merge route works until whoever wrote the script changes teams, or a permission changes and it stops running the night before your deadline. See the feature list for what is handled for you instead.
Why does the QR code matter more than the PDF?
A certificate is only worth what someone downstream can confirm. Industry reports on credential fraud suggest tampering is common and that most certificates are never checked, largely because checking is inconvenient. A QR code removes the inconvenience. An employer, an admissions desk or an auditor scans it and lands on a page hosted by you showing the recipient, the programme, the issue date and current status.
Status is the part issuers underestimate. If a certificate was issued in error or an accreditation lapsed, you revoke it and the public page reflects that immediately. The PDF in an inbox no longer decides the truth, as our explainer on certificate revocation covers.
What is different for issuers in India?
Two things. Billing first. A tool that invoices from abroad without a GSTIN leaves your finance team unable to claim input credit, turning a small expense into a procurement argument. A GST invoice against your GSTIN removes that friction. Second, verification expectations. Indian employers, institutes and government-linked programmes want a check they can run themselves, in seconds, without emailing your office. See pricing for plans and GST invoicing.
Can I use an Excel file instead of a CSV?
Yes. Excel exports to CSV in one step: File, Save As, CSV UTF-8. Exporting first flattens formulas, merged cells and hidden formatting into plain values, which is what a bulk run needs.
What happens if a name in my CSV is wrong?
Correct the row, revoke the affected certificate and reissue it. The revoked certificate's verification page shows it is no longer valid, so the wrong version cannot be passed off as genuine.
How do employers verify a certificate I issued?
They scan the QR code, or open the verification link. It resolves to a public page backed by your issuing record showing recipient name, programme, issue date and live status. No login, no app install, no request to your team.
How large can a single CSV batch be?
Runs range from a few dozen for a workshop to several thousand for a convocation. For very large files, split by cohort or programme so one template mistake affects a single batch.
Do I need a designer to build the template?
No. Start from a template, add your logo and colours, and place the fields that come from your CSV. Every batch after the first reuses it. If you are moving off a design tool, compare this with bulk certificates in Canva.
If a CSV is sitting in a folder right now, that file is the whole input. Upload it, preview a few rows and issue the batch with QR verification on every certificate. Try QRCertificates free, or see pricing for GST-invoiced plans built for Indian issuers.