# Bulk QR Code Generator: Make Hundreds of QR Codes from Excel or CSV (Free)

```json
{
  "title": "Bulk QR Code Generator: Make Hundreds of QR Codes from Excel or CSV (Free)",
  "description": "Free bulk QR code generator. Paste a list or upload Excel/CSV, get hundreds of QR codes as PNG or SVG in one ZIP. No sign-up, runs in your browser.",
  "site": "Qrdy Frames",
  "page_type": "tool",
  "tool": "bulk-qr-code-generator",
  "client_side": true,
  "max_rows": 2000,
  "qr_library": "Nayuki QR Code generator (MIT), bundled",
  "dynamic_qr": "https://qrdynamic.xyz/",
  "url": "https://qrdyframes.qrdyai.com/tools/bulk-qr-code-generator",
  "markdown_url": "https://qrdyframes.qrdyai.com/md/tools/bulk-qr-code-generator",
  "llms_txt": "https://qrdyframes.qrdyai.com/llms.txt",
  "updated_at": "2026-11-09T00:00:00.000Z"
}
```

## Introduction

Make many QR codes at once: paste a list (one per line) or upload a CSV exported from Excel or Google Sheets, pick the type (URL, text, Wi-Fi, email, SMS, phone or vCard), set size, colours and an optional logo or label, then download every code as PNG or SVG in a single ZIP or print them on an A4 or Letter sheet. Everything runs on your device; the list and the codes never leave the browser.

Free tool by Qrdy Frames: https://qrdyframes.qrdyai.com/tools/bulk-qr-code-generator. No account, no watermark, nothing uploaded. Sample CSV: https://qrdyframes.qrdyai.com/tools/bulk-qr-code-generator/sample.csv. Qrdy Frames is an independent tool and isn't affiliated with Canva.

## See also

- [Free Online Tools](https://qrdyframes.qrdyai.com/tools): every free tool on one page (7 tools)
- [Christmas Ornament Photo Maker](https://qrdyframes.qrdyai.com/christmas-ornament-photo-maker): free tool: drop a photo and see it inside ornaments, stockings, mittens and more
- [Circle Crop Image](https://qrdyframes.qrdyai.com/circle-crop-image): free tool: crop any photo into a perfect circle in seconds
- [Heart Photo Frame](https://qrdyframes.qrdyai.com/shapes/heart-frame): free tool: place any photo inside a heart shape and download a transparent png
- [Password Generator](https://qrdyframes.qrdyai.com/tools/password-generator): free tool: strong passwords, passphrases, PINs and developer secrets
- [Random Team Generator](https://qrdyframes.qrdyai.com/tools/random-team-generator): free tool: split names into fair random teams, save class lists, avoid repeat pairs, present on a projector
- [Yes or No Wheel](https://qrdyframes.qrdyai.com/tools/yes-or-no-wheel): free tool: spin for a yes or no (or maybe), keep a history of your questions, best of 3, custom decision wheel

## TL;DR

- Input: paste a list (one item per line, fields separated by commas or tabs) or upload a .csv / .tsv exported from Excel, Google Sheets or Numbers; pick the content column and an optional label column; up to 2,000 rows per batch, bad rows are flagged with their row number
- Types: URL, Plain text, Wi-Fi, Email, SMS, Phone, vCard (WIFI:T:WPA;S:…;P:…;;, mailto:, SMSTO:, tel:, vCard 3.0)
- Style: 256–2048 px, quiet zone 0–8 modules, error correction L/M/Q/H (H when a logo is added, logo ≤ 20 % of the code), any two colours with a contrast warning, label printed under each code
- Output: ZIP of PNG and/or SVG named by row number, label or content slug; a print sheet (A4 or Letter, 2×3, 3×4 or 4×5 per page) via the browser's print dialog; preview of the first 24 codes
- Static codes only: they never expire and cannot be edited after printing. For editable links and scan counts use Qrdy Dynamic QR: https://qrdynamic.xyz/?utm_source=qrdyframes&utm_medium=free-tool&utm_campaign=tool-bulk-qr&utm_content=comparison&utm_term=tldr

## How to make bulk QR codes from Excel

1. Export your sheet as CSV (Excel: File › Save As › CSV UTF-8; Google Sheets: File › Download › Comma-separated values) with one row per code, or just paste the list, one item per line.
2. Upload the CSV or paste the list, pick the type (URL by default) and choose which column holds the content and, optionally, which one holds the label or file name. Bad rows are flagged with their row number, never dropped silently.
3. Set size, colours, error correction, logo and label, then click Generate and Download ZIP. Every code is a PNG and/or SVG named by row, label or content. Or open the print sheet and print the batch on A4 or Letter.

## Common uses for a batch of QR codes

- **Restaurant table menus and Wi-Fi:** one code per table that opens the menu or joins the guest network, with the table number printed under it.
- **Event tickets and badges:** a unique check-in link or attendee ID per row, exported from the registration sheet.
- **Product labels and inventory:** a code per SKU, shelf or asset that opens its page or holds the plain-text ID for a scanner.
- **Classroom handouts:** a code per worksheet, video or quiz so students reach the right page without typing.
- **Real-estate signs and flyers:** a code per listing that opens the virtual tour or the contact card of the agent.

## Static vs dynamic QR codes

A static QR code stores the content itself, so it works forever and needs no service, but it cannot be changed once printed; a dynamic QR code stores a short redirect link, so you can change where it points and count scans after printing. Every code this tool makes is static: the URL, text, Wi-Fi password or contact card is encoded directly in the pattern.

Use static codes for things that never change: a Wi-Fi password, a phone number, a product ID, a vCard. Use dynamic codes when the destination may change or when you want to know how many people scanned each one: menus, campaigns, event pages, signs that stay up for months.

| Feature | Static QR code (this tool) | Dynamic QR code (Qrdy Dynamic QR) |
|---|---|---|
| Editable after printing | No. The content is in the pattern. | Yes. Change the destination anytime. |
| Scan analytics | None. | Scans by code, day, city and device. |
| Works forever | Yes, with nothing to renew. | As long as the redirect service runs. |
| Code density | Grows with the content; long URLs make dense codes. | Short link, so the code stays small and easy to scan. |
| Cost | Free. | Affordable plans; see the pricing page. |

Make dynamic QR codes: [Qrdy Dynamic QR](https://qrdynamic.xyz/?utm_source=qrdyframes&utm_medium=free-tool&utm_campaign=tool-bulk-qr&utm_content=comparison&utm_term=comparison)

## Printing tips for QR codes

Print each QR code at least 2 × 2 cm (0.8 × 0.8 in) for a short URL scanned from arm's length, and larger for long content or codes read from a distance: a good rule is scan distance divided by 10.

- Keep the quiet zone: the light margin around the code (4 modules by default here) is part of the symbol. Do not crop it or place text inside it.
- Contrast: dark modules on a light background. Keep the ratio above 4:1 and avoid light-on-dark, which many phone cameras cannot read.
- Error correction: M (15 %) suits most prints; use Q or H when the code gets a logo, is printed small, or may be scratched or dirty. Higher levels make the code denser.
- Test-scan one printed code with two different phones before printing the whole batch, and check that the label under it matches the row it came from.
- For long URLs, consider a dynamic QR code: the short redirect link gives a sparser code that scans faster at the same size.

## Is my list uploaded?

No. The list, the CSV file, the logo and every generated code stay in your browser: the page is static HTML and JavaScript, the QR codes are drawn on a canvas on your device, and the ZIP is assembled in memory and saved by your browser. There is no upload endpoint and the analytics on this site record only the type, the count bucket and the format, never a URL, a name or a file name.

You can verify this in your browser's network tab: generating and downloading make no request. Close the tab and everything is gone.

## Field order per type (paste mode and CSV columns)

- URL: Link
- Plain text: Text
- Wi-Fi: Network name (SSID), Password (optional), Security (optional)
- Email: Email address, Subject (optional), Message (optional)
- SMS: Phone number, Message (optional)
- Phone: Phone number
- vCard: Full name, Phone (optional), Email (optional), Company (optional)

## What is a bulk QR code generator?

A bulk QR code generator makes many QR codes in one go from a list or a spreadsheet instead of one at a time: each row becomes one code, named and labelled from the sheet, and the whole batch is downloaded as a ZIP or printed on a sheet. This one runs in the browser with a bundled encoder, so the list never leaves the device.

## What is the difference between a static and a dynamic QR code?

A static QR code stores the content itself, so it works forever and needs no service, but it cannot be changed once printed; a dynamic QR code stores a short redirect link, so you can change where it points and count scans after printing. Every code this tool makes is static: the URL, text, Wi-Fi password or contact card is encoded directly in the pattern.

## Controls

| Control | Range | Default | Notes |
|---|---|---|---|
| Input | paste · upload CSV/TSV | paste (three sample links) | .xlsx is not parsed: save as CSV first |
| First row is a header | on / off | detected | upload only; header names map columns (content, label, link…) |
| Type | URL · Plain text · Wi-Fi · Email · SMS · Phone · vCard | URL | URL rows are validated; https:// is added to bare domains |
| Column mapping | one select per field + label | by header name, then in order | the preview shows the first 5 rows |
| Size | 256–2048 px | 1024 | step 64 |
| Quiet zone | 0–8 modules | 4 | the light border that is part of the symbol |
| Error correction | L 7 % · M 15 % · Q 25 % · H 30 % | M | forced to H while a logo is set |
| Colours | any foreground / background | black on white | warning under 4:1 or when inverted |
| Logo | PNG, JPG, WEBP, SVG ≤ 2 MB | none | centred, ≤ 20 % of the code, on a background patch |
| Label under each code | on / off | on when a label column exists | text from the label column |
| Format | PNG · SVG · both | PNG | both = png/ and svg/ folders in the ZIP |
| File names | row number · label · content slug | row number (qr-001) | made unique with -2, -3… |
| Print sheet | 2×3 · 3×4 · 4×5 per page, A4 or Letter | 3×4, A4 | window.print(), no PDF library |

## Frequently Asked Questions

### Is this bulk QR code generator free?

Yes. There is no account, no watermark and no premium tier. Generate up to 2,000 codes per batch, as many batches as you like.

### Is there a limit on how many QR codes I can make?

Each batch is capped at 2,000 rows so the browser stays responsive; a 1,000-row list takes well under a minute on a laptop. Split a bigger sheet into several CSV files and run them one after another.

### Do the QR codes expire?

No. Static QR codes never expire because the content is encoded in the pattern itself; nothing is hosted, so there is nothing to renew. The code keeps working as long as what it points to (your website, your Wi-Fi network) exists.

### Can I change the link after printing?

No, not with a static code: the URL is part of the pattern. If you need to edit the destination later or count scans, make the codes with a dynamic QR service such as Qrdy Dynamic QR, which encodes a short redirect link you can change anytime.

### Can I add a logo to the QR codes?

Yes. Upload a PNG, JPG or SVG logo and it is placed in the centre of every code at up to 20 % of its width. The tool switches the error correction to level H (30 %) so the covered modules can be recovered. Test-scan one code before printing the batch.

### Is my data uploaded anywhere?

No. The list, the CSV, the logo and the generated codes never leave your browser. The codes are drawn on your device and the ZIP is built in memory; there is no server and no request when you generate or download.

### How do I make QR codes from Google Sheets?

In Google Sheets choose File › Download › Comma-separated values (.csv), then upload that file here. Put the content (URL, text, phone number…) in one column and an optional label in another; the tool shows the first rows so you can pick the right columns.

### How do I make QR codes from an Excel file?

Save the sheet as CSV (File › Save As › CSV UTF-8) and upload it. The tool reads .csv and .tsv directly; .xlsx files are not parsed in the browser, so the export step is needed. The column order does not matter, you choose the content and label columns after upload.

### PNG or SVG: which should I download?

PNG for anything you place in a document, a label template or a web page (choose 1024 px or more for print). SVG for design tools and print shops: it scales to any size without blur. Pick Both to get both files for every row.

## Conclusion

### Way forward

- Generate a batch now: [Bulk QR Code Generator](https://qrdyframes.qrdyai.com/tools/bulk-qr-code-generator); sample CSV: https://qrdyframes.qrdyai.com/tools/bulk-qr-code-generator/sample.csv
- Need to edit the link after printing or count scans? Qrdy Dynamic QR: https://qrdynamic.xyz/?utm_source=qrdyframes&utm_medium=free-tool&utm_campaign=tool-bulk-qr&utm_content=comparison&utm_term=way-forward
- Other free tools: [Free Online Tools](https://qrdyframes.qrdyai.com/tools), [Christmas Ornament Photo Maker](https://qrdyframes.qrdyai.com/christmas-ornament-photo-maker), [Circle Crop Image](https://qrdyframes.qrdyai.com/circle-crop-image), [Heart Photo Frame](https://qrdyframes.qrdyai.com/shapes/heart-frame), [Password Generator](https://qrdyframes.qrdyai.com/tools/password-generator), [Random Team Generator](https://qrdyframes.qrdyai.com/tools/random-team-generator), [Yes or No Wheel](https://qrdyframes.qrdyai.com/tools/yes-or-no-wheel)
- What this site is about: [Qrdy Frames](https://qrdyframes.qrdyai.com/)

## Related pages

- [Free Online Tools](https://qrdyframes.qrdyai.com/tools): every free tool on one page (7 tools)
- [Christmas Ornament Photo Maker](https://qrdyframes.qrdyai.com/christmas-ornament-photo-maker): free tool: drop a photo and see it inside ornaments, stockings, mittens and more
- [Circle Crop Image](https://qrdyframes.qrdyai.com/circle-crop-image): free tool: crop any photo into a perfect circle in seconds
- [Heart Photo Frame](https://qrdyframes.qrdyai.com/shapes/heart-frame): free tool: place any photo inside a heart shape and download a transparent png
- [Password Generator](https://qrdyframes.qrdyai.com/tools/password-generator): free tool: strong passwords, passphrases, PINs and developer secrets
- [Random Team Generator](https://qrdyframes.qrdyai.com/tools/random-team-generator): free tool: split names into fair random teams, save class lists, avoid repeat pairs, present on a projector
- [Yes or No Wheel](https://qrdyframes.qrdyai.com/tools/yes-or-no-wheel): free tool: spin for a yes or no (or maybe), keep a history of your questions, best of 3, custom decision wheel

## Licence and affiliation

The bulk QR code generator is free to use for any purpose; the codes you make are yours and are never stored by us. QR encoding uses the QR Code generator library by Project Nayuki (MIT License), bundled with this page; the ZIP is written in the browser. https://www.nayuki.io/page/qr-code-generator-library Qrdy Frames is an independent tool and isn't affiliated with Canva.

---
[All pages (llms.txt)](https://qrdyframes.qrdyai.com/llms.txt) · [Full content](https://qrdyframes.qrdyai.com/llms-full.txt) · [Qrdy docs](https://docs.qrdyai.com) · [Qrdy](https://www.qrdyai.com) · Updated 2026-11-09
