Skip to content
Bulk Tool

Bulk Certificate QR Generator

Generate one certificate QR code per recipient from CSV rows — each code carries a per-recipient verification code so anyone can check the certificate is genuine.

1. Paste your rows

Columns: recipient, course, issue date, verification code, verify URL. Recipient and course are required; a verification code is generated from the recipient and course when the column is left blank. Example: Ayesha Khan,Food Safety Level 2,2026-10-01,CERT-1001,https://example.com/verify

Result

Generate to see a preview grid and download a ZIP.

Certificates Anyone Can Verify

A certificate QR code carries a verification code unique to the recipient. Anyone checking the certificate scans the code and lands on the verification page with that code filled in, so a photocopied or edited certificate still has to pass the lookup. The code is the check; the paper is only the carrier.

Verification codes

Enter your own codes when you have them, or leave the column blank and the tool derives a deterministic code from the recipient, course, and issue date — the same input always produces the same code, so re-running the batch reproduces the same codes. Keep the list of issued codes in your own records; the verification page must check against that list to be meaningful.

Before you issue the batch

  • Scan a sample certificate code and confirm the verification lookup finds the record.
  • Check every code is unique — a shared code lets one certificate vouch for another.
  • Print the recipient name, course, and code in plain text next to the code.
  • Keep the source list private: it is the record the verification page checks against.

Frequently Asked Questions

What format do the rows need?

One row per line, comma-separated, or with the | separator. The first row is treated as a header and skipped when it looks like a header row. Rows that are missing a required field are reported and skipped without blocking the valid rows.

Can I use a spreadsheet?

Yes. Export the sheet as CSV, then paste the CSV text here. Keep one record per row and keep the column order shown above the input.

How many rows can I generate at once?

Up to 500 rows per batch. Split larger lists into multiple batches and label each ZIP.

Does my data leave my browser?

No. Every QR code is generated locally in your browser. Nothing is uploaded.