Bulk QR code generator
A bulk QR code generator turns a list into many QR codes in one go: paste or upload a CSV of up to 500 rows, style one design, and download every code in a single ZIP.
Use it for name badges, product labels, table numbers, seat cards or asset tags. Every code uses the same design, and nothing you paste or upload leaves your browser.
Everything happens in your browser. Your Wi-Fi password, contact details and logo never leave it.
This code is static: once printed, where it points can't change. An editable DexURL QR can. Read does a QR code expire.
How it works
Prepare your list
Put one value per row in the first column. Add a second column if you want to name each file.
Paste it or upload the CSV
Paste the rows into the box or upload a .csv file. One file holds up to 500 rows.
Style one design
Choose shapes, colours, a logo and a frame once. Every code in the batch uses the same design.
Download the ZIP
Download one ZIP with a file for every row. Scan a few codes from the preview before you print the set.
The CSV format
| Column | What it holds | Required |
|---|---|---|
| First | The link or text that goes into the code, one per row. | Yes |
| Second | The file name for that code inside the ZIP, such as table-12. | No |
- Use one row per code. A first row of column names, such as link,name, is left out automatically.
- Wrap a value in double quotes if it contains a comma.
- Rows without a file name are numbered in order.
- A file holds up to 500 rows. For a longer list, split it into several files and use the same design for each.
- Save the file as plain CSV from Excel, Numbers or Google Sheets.
What a bulk batch is good for
- Table numbers and seat cards, each pointing at its own page.
- Product or asset labels where every item has its own link.
- Name badges and tickets, one code per person.
- Event signs with one code per room or station.
Sizing a batch
Every code has the same design but not the same density. A longer value makes a denser code, so print the whole set at the size the densest code needs. The shortest values are the safest guide for how sparse a code can be, and the longest are the test of whether the size is big enough.
Bulk codes are static
Each code holds its value directly, so none of them can be changed after printing, and none of them counts scans. If the destinations might change, or you want a scan count, use an editable DexURL QR for each, which forwards through a short link you can edit.
What you can do
- More than a dozen dot shapes, with separate eye frame and centre shapes, and the eyes coloured separately
- Linear and radial gradients on the dots, eyes or background, and any background colour or a transparent background
- Logo upload with size, padding, background knockout and a square, rounded or circle badge
- Fourteen built-in icons (link, Wi-Fi, mail, phone, chat, map pin, calendar, contact, globe, menu, star, heart, shop, play) or up to three letters of initials
- Seven frames with your own call to action, such as "Scan me", in your frame and text colours
- Ready-made design templates
- Error correction levels L, M, Q and H, and a quiet zone from 0 to 10 modules
- Export as PNG, SVG, PDF (vector), EPS, JPEG or WebP, up to 8192 px, or set the print size in millimetres at 150, 300 or 600 DPI
- Ten content types: link, Wi-Fi, contact card (vCard), email, SMS, phone, text, calendar event, location and WhatsApp
- Bulk mode: paste or upload a CSV of up to 500 rows and download one ZIP of codes in the same design
- Save your design as a small file or a share link, with no account
- A live scan check in your browser that decodes the preview and warns about low contrast, a logo too large for the error-correction level, a thin quiet zone and light-on-dark codes
- Free, with no account, no watermark, no scan limit and no ads. Nothing leaves your browser, Wi-Fi passwords and logos included
| Aspect | Static | Dynamic |
|---|---|---|
| What is encoded | The destination itself — the URL, text, or contact details are inside the pattern. | A short link that forwards to the destination. |
| Can change after printing | No. The pattern is fixed the moment it is printed. | Yes. Repoint the short link and every printed copy follows. |
| Works without any service | Yes — nothing has to keep running for the code to keep working. | No — it depends on the link service continuing to resolve. |
| Needs an account | No. | Yes, to create and manage the short link. |
| Scan counts | Not measurable — nothing passes through a service that could count it. | Measurable, since scans pass through the short link. |
| Best for | Fixed content that will never need to change, such as a contact card or a product manual link. | Anything printed where the destination, schedule, or password might change later. |
When an editable code is the better tool
| Situation | Static code | Editable code |
|---|---|---|
| A campaign poster or packaging run | A typo or an offer change means every printed copy is wrong until it is thrown out. | Fix the typo or swap the offer, and the same printed code starts working correctly. |
| A menu or price list | A price change means reprinting every table tent or laminated page. | Update the destination page once; the printed code keeps pointing at the current menu. |
| A business card | A new phone number or job title means every card in circulation is out of date. | Repoint the code to updated contact details without reprinting a single card. |
| Wi-Fi in a rented space | A password reset (a new tenant, a router swap) leaves the printed code connecting to nothing. | Update the network details behind the code without touching the sign on the wall. |
| Event signage with a schedule | A room or time change means the printed code sends people to the wrong place. | Update the schedule page; the code on the signage keeps working. |
| Anywhere scan counts matter | A static code cannot tell you whether anyone scanned it at all. | Scans pass through a link you control, so they can be counted. |
FAQ
How many QR codes can I make at once?
Up to 500 per CSV file. For a bigger list, split it into several files and use the same design for each, so the codes still match.
What should the CSV look like?
One value per row in the first column, such as a link or a piece of text, and an optional second column with the file name for that code. A first row of column names, such as link,name, is left out automatically. Wrap a value in double quotes if it contains a comma.
Can every code have a different design?
No. One batch uses one design: the same shapes, colours, logo and frame for every code. Run a second batch for a second design.
Are bulk QR codes static or dynamic?
Static. Each code holds its value directly, so it cannot be changed after printing and no scans are counted. For codes you can redirect later, make editable DexURL QR codes instead.
Related reading
- How big should a QR code be for print?
- Static vs dynamic QR codes: which to print
- Dynamic QR code, free: how editable codes work
- Free QR codes with ads: what your guests actually see