Bulk QR codes

A spreadsheet in, a folder of styled codes out. Download the template for your type, fill it in, upload it back — all in your browser.

1 · What are you making?

CSV
url-template.csv url, filename
Drop the filled template back here Up to 50 rows · CSV from Excel, Google Sheets or Numbers
or paste rows from a spreadsheet

2 · Style — the same controls as the single generator

Preview — first 6 rows

Advertisement
Advertisement

Your spreadsheet is read and rendered on this device. Nothing in it is uploaded.

How it works

Upload a CSV or paste rows straight from a spreadsheet. The file is parsed in your browser, every row is validated before anything is generated — with errors reported by row and column — and the valid rows are rendered one by one into styled QR codes using exactly the same engine as the single generator, so a bulk code and a single code with the same settings are identical.

Generation runs as a queue that yields between files, which keeps the page responsive even on a modest laptop. The finished codes are packed into a ZIP in memory and handed to you as one download. SVG is the default because a styled vector code is a few kilobytes where the equivalent PNG can be half a megabyte.

The 50-row cap is a browser-memory limit, not a licence tier: everything happens on your machine, so the ceiling is what a single tab can comfortably hold.

Bulk QR questions

How many QR codes can I generate at once?

Up to 50 rows per file. Everything is rendered in your browser, so the limit exists to keep phones responsive rather than to sell a larger plan.

What should the CSV look like?

Download the template for the content type you need. It has the exact headers, an example row and the rules written in as comments, so the columns are right before you upload.

Can I make WiFi or contact codes in bulk?

Yes. There are templates for 14 types including WiFi, vCard contacts, calendar events, email, SMS, WhatsApp, location and payments, each with the fields that type needs.

Is my spreadsheet uploaded anywhere?

No. The file is read in your browser and the codes are drawn there too. Nothing in your data reaches a server at any point.

What happens to rows with mistakes?

They are reported by row and column before generating, and listed again in an errors.csv inside the ZIP, so a large job never fails silently.

Can each code have its own logo?

No — one logo applies to the whole batch. Per-row logos would mean fetching images per row, and this page deliberately makes no network requests with your data. If a handful of codes need different logos, generate them individually in the single generator, which accepts the same styling.