Bulk QR code generator

Paste a list, get a ZIP of static PNG codes. Everything is generated in this tab — your list is never uploaded.

How it works

Each line becomes a static 512 × 512 px PNG (error correction M, standard quiet zone, black on white — the safest print combination). Filenames come from your labels, sanitised to be filesystem-safe; unlabeled lines are numbered. The ZIP uses the uncompressed “store” method: PNGs are already compressed, so this keeps the download honest and the code auditable. The cap is 500 codes per batch — a browser-tab memory limit, not a paywall; split bigger jobs into batches.

Frequently asked questions

What format should my list be in?
One entry per line: either a bare URL (https://example.com/product/1) or a label and URL separated by a comma (table-7,https://example.com/menu?t=7). The label becomes the PNG filename. You can also load a .csv or .txt file — it is read into the text box, never uploaded.

Why the 500-code limit?
Honesty, not paywall: everything runs in your browser tab, which has finite memory. 500 × 512 px PNGs in one ZIP is a comfortable ceiling for a phone or laptop. Need more? Run two batches — it costs nothing.

Do bulk codes expire?
No — like every StaticQR code they are static: the URL is inside the pattern. A batch of 500 codes costs a hosted “dynamic” service real money to keep alive, which is exactly why those services expire them. Ours cost nothing to host, because there is nothing to host.

What size and error correction do the PNGs use?
512 × 512 px with EC level M (15%) and the standard 4-module quiet zone — the right default for labels, table tents and packaging. For vector output or a different EC level, generate the important ones individually on the main generator page.