Bulk QR code generator
Upload a CSV and get every QR code back in one ZIP — up to 500 at a time, with your colors and logo on every one. Your list is read in the browser and never uploaded.
- No account
- No expiry
- No watermark
- Nothing uploaded
This decides which columns your CSV needs.
Your CSV needs these columns
url, filename
Only the required ones need values. Add an optional filename column to name each file; otherwise they are numbered. Column names are matched loosely, so “Network Name” and ssid both work.
Drop your CSV here, or
Colors, shapes, logo and frame
1024 px is plenty for most printing. Changes the PNG and JPEG only — the SVG works at any size.
Advancedshapes, borders, frames and error correction
How much scuffing, smudging or fading the QR code can take and still work. Higher is tougher, but packs the dots in tighter.
Phones need clear space around a QR code to spot it. Four is the safe minimum — printers sometimes call this the quiet zone.
Your image is processed on this device and never uploaded. Adding a logo also turns error correction up to maximum, so the QR code can survive having its middle covered.
How it works
- Choose what you are encoding. That determines which columns your file needs — a batch of links needs one column, a batch of Wi-Fi QR codes needs the network name and password.
- Download the template to see the exact header row, then fill it in from a spreadsheet and export as CSV.
- Upload it. You get a count of how many QR codes are ready and a list of any rows that couldn’t be built, with the reason for each.
- Set the colors, shapes and logo if you want them. Whatever you choose applies to every QR code in the batch.
- Download the ZIP.
Header names are matched loosely — case, spaces, hyphens and underscores are ignored, so Network Name, network_name and ssid all resolve to the same field. Add a filename column to control what each file is called; without it they are numbered in order.
Apply one design to the whole batch
Set colors, dot and corner shapes, error correction, border, size and a logo once. The same settings are applied to every QR code in the batch — all 500 of them.
The preview checks the densest QR code in the batch, because longer content leaves less margin for aggressive styling than a short one. If that code cannot be decoded with the selected settings, the ZIP button stays disabled until the design is adjusted.
Where a batch beats doing it one at a time
- Event badges. A contact card per attendee, generated from the registration export.
- Hotel and rental rooms. A Wi-Fi QR code per room, or one per property.
- Asset and inventory tags. A QR code per serial number, named after the asset so it drops straight into a label template.
- Table and seat markers. A distinct link per table for ordering or feedback.
- Print runs with variable data. Named files feed directly into most variable-data printing workflows.
Your list stays on your computer
This is the part worth being explicit about, because a bulk upload is usually the most sensitive thing anyone puts into a QR tool. A customer list, a staff directory, a set of room passwords — that is exactly the data you should hesitate to paste into a free website.
Your CSV is read by your browser using the File API, parsed on your device, and turned into images on your device. No request is made and nothing is transmitted. You can verify that: open your browser’s developer tools, switch to the Network tab, and run a batch. You will see no upload, because there is nowhere for it to go — this site has no server that accepts data.
Practical notes
- 500 rows per batch. The work happens on your machine, and this keeps the tab responsive. Larger jobs split cleanly into several files.
- Choose SVG for print. Vector files stay sharp at any size and are far smaller in a ZIP. PNG suits screens and systems that need a raster.
- Duplicate filenames are made unique. Two rows named the same would otherwise silently overwrite each other inside the ZIP, so the second gets its row number appended.
- Bad rows are skipped, not fatal. One malformed address doesn’t stop the batch — you get everything that worked, plus a list of what didn’t and why.
- Spot-check the output. Scan a few from the ZIP before committing to a print run, and check the printed size for the labels they are going on.
Related tools and guides
- URL QR code generatorTurn any link into a QR code. Static by design, so the code keeps working without a subscription, a redirect service or an account.
- vCard QR code generatorCreate a contact-card QR code that saves your name, phone, email and company straight into someone's phone. No app, no account.
- Wi-Fi QR code generatorMake a QR code that joins your Wi-Fi in one scan. Handles hidden networks and awkward password characters, and the password never leaves your browser.
- How big should a QR code be?Work out the right printed size for any scanning distance, plus quiet zone, contrast and print resolution rules that decide whether a code scans.