On this page
- How should the CSV look when you bulk issue certificates?
- How do I issue certificates from a spreadsheet?
- How do I email everyone their certificate?
- Already have the certificates as files?
- Preparing your spreadsheet to bulk issue certificates
- Common CSV import errors and fixes
- After you bulk issue certificates
- Frequently asked questions
Short answer: To bulk issue certificates, export your list to CSV with one row per person, include columns for name, email, award and dates (YYYY-MM-DD), import it under CertiQR → Import, map each column to a field, preview the first rows, then import. Every row becomes a credential with its own ID, QR code and PDF.
When a course ends, you might have 20 people to certify – or 2,000. However, typing each record by hand is slow and error-prone. A CSV import lets you bulk issue certificates from the spreadsheet you already keep, and CertiQR generates and numbers every certificate, ready to verify.

Key takeaways
- One row per person, one column per detail.
- Dates in YYYY-MM-DD format never surprise you.
- Always preview first – CertiQR reports bad rows instead of importing them.
- Group the import into a batch so you can email or rebuild it in one go.
How should the CSV look when you bulk issue certificates?
| Column | Example | Notes |
|---|---|---|
| holder_name | Sarah Mitchell | Required for people; use a document title for items and sites |
| holder_email | sarah@example.com | Needed to email the certificate |
| award | Advanced Data Analytics | What the credential is for |
| issued_on | 2026-10-01 | YYYY-MM-DD is safest |
| expires_on | 2027-10-01 | Leave empty if it never expires |
| batch | Cohort 14 | Optional – groups the rows together |
Also add a column for each custom field your category uses – grade, instructor, licence class – and save the file as UTF-8 CSV so names with accents survive.
How do I issue certificates from a spreadsheet?
- First, open CertiQR → Import and upload the CSV.
- Then choose the category – it decides the ID pattern, validity and template.
- Next, map each column to a field. Save the mapping as a profile so next month’s import is one click.
- After that, run the preview. It lists any rows with problems (a bad date, a duplicate ID) and the reason.
- Finally, import. Each valid row becomes a credential with its own ID, QR code and certificate.
How do I email everyone their certificate?
First, name a batch during the import, then open the batch and choose Email. As a result, each holder receives their own certificate as a PDF. If you change the template afterwards, Rebuild redraws the whole batch in one step – IDs and QR codes stay the same.
Already have the certificates as files?
If you designed your certificates elsewhere, use bulk upload instead: drop up to twenty finished documents onto one screen, place the QR code once and CertiQR issues each file as its own credential. See all features for details.
Preparing your spreadsheet to bulk issue certificates
- First, remove empty rows and merged cells.
- Next, give every column a clear header in the first row.
- Then convert dates to YYYY-MM-DD.
- After that, check email addresses for typos.
- Finally, save the file as UTF-8 CSV.
Excel, Google Sheets and Numbers can all export CSV. However, Excel sometimes saves in a different encoding, so choose “CSV UTF-8” when it offers the option.
Common CSV import errors and fixes
| Problem | Fix |
|---|---|
| Dates appear as numbers | Format the column as text, then re-type the dates |
| Accents look broken | Save as CSV UTF-8 |
| Duplicate credential ID | Remove the duplicate or leave the column empty |
| Missing email | Add it, or issue without emailing |
After you bulk issue certificates
Once the import finishes, open the batch to review it. For example, you can email every certificate, download them all as a zip, or rebuild them if you change the template. In addition, the batch keeps the whole cohort together, so later reports and renewals are simple.
Also, keep a copy of the CSV you imported. Together with the batch, it gives you a clear record of what you issued and when.
In addition, the official WordPress documentation is a useful, independent reference if you want to read further.
Frequently asked questions
QHow many certificates can I bulk issue at once?
There is no fixed limit, because CertiQR processes large files in steps. Hundreds of rows are routine, and thousands work on normal hosting.
QWhat happens to rows with errors?
The preview lists them with the reason, and the import skips them. However, everything else still imports, so one bad date never blocks a whole class.
QCan I import people who already have a certificate number?
Yes. Add a credential_id column and CertiQR keeps your existing numbers, so printed certificates and new QR codes match.
Ready to try it?
Issue your next cohort from a spreadsheet in minutes, with a QR code on every certificate. Try CertiQR free for 7 days.
Can I bulk issue certificates without emailing them?
Yes. Import first, check everything, and send the emails later from the batch screen.
Can one spreadsheet cover several courses?
Yes. Add a batch column, and CertiQR groups the rows into separate batches during the import.


