The fastest way to generate bulk QR codes from an Excel list is to copy one cell value per line from your spreadsheet, paste the values into a browser-based Bulk QR Code Generator, and download each finished PNG individually — no VBA macro, no Excel add-in, and no server upload required. The tool accepts up to 20 unique lines per batch and caps each line at 2,000 JavaScript characters, which covers most short URLs, Wi-Fi strings, contact card snippets, and asset IDs kept in ordinary Excel columns. Encoding runs entirely in the current browser tab using the same qrcode 1.5.4 library the project uses for its single QR Code Generator, so the resulting PNGs match the same symbol format you would get one at a time. Because every step happens locally, your spreadsheet contents never leave the page, and the only output you see is a grid of previews, each with its own download link and a deterministic filename derived from the content. The whole batch operation is designed to replace the tedious "one cell, one macro run, one image" loop without changing how you prepare the source list.

Preparing an Excel List for Bulk QR Code Generation
Excel is convenient as a source of truth because most of your data already lives there — product SKUs in column A, campaign URLs in column B, asset IDs in column C. The Bulk QR Code Generator does not read .xlsx files directly; it expects plain text, one value per line, pasted into a textarea. The only real "Excel" step is reshaping your columns into a clean list.
Identify the column you need, copy its visible values, and remove anything that is not a plain string. If the column contains Excel HYPERLINK formulas, extract the actual URLs first using a method like the one described in How to Extract a Link From an Excel Cell: Practical Methods. Trim surrounding whitespace, drop blank rows, and resolve exact duplicates outside the tool if you want a predictable count.
The parser inside the generator does the same housekeeping automatically — it trims whitespace, removes empty lines, and collapses exact repeated values to the first occurrence — so casual pasting still produces a clean batch. Lines longer than 2,000 JavaScript characters are rejected by the input parser. Plain ASCII URLs and short text fit comfortably; long UTF-8 sentences, emoji blocks, and binary payloads may push against the limit and may not encode reliably on every reader anyway.
Generating the Batch Step by Step
- Open the Bulk QR Code Generator in your browser and locate the paste area.
- Paste one Excel cell value per line — each value becomes one QR symbol.
- Pick a PNG canvas size: 128, 256, or 512 pixels.
- Pick an error-correction level: L, M, Q, or H.
- Click the Generate QR codes action and wait for the preview grid to populate.
- Scan each preview thumbnail with the target device to confirm the decoded payload.
- Download each verified PNG from its individual download link.
The Generate step is synchronous in the sense that you wait for the grid to fill before downloading, but the underlying work runs concurrently under a job identifier. That identifier prevents an older partial result from overwriting newer settings if you tweak an input or option. The page does not trigger 20 automatic downloads; browser policies may require a click per file or may prompt for download permission, which makes the selected outputs explicit and avoids surprising behavior on phones and ordinary laptops.
PNG Size and Error Correction Choices
Two controls change the appearance and resilience of the symbol: pixel size and error-correction level.
Pixel size sets the canvas dimensions of the rendered PNG. Choose 128 pixels for thumbnails, in-app previews, and on-screen labels. Choose 256 pixels for standard printed labels, business cards, and most signage where the symbol sits at roughly 2–4 cm. Choose 512 pixels when the symbol will be enlarged — a poster, a window cling, a back-of-room handout — because more pixels give the printer more resolution to work with. Higher pixel count does not increase data capacity; QR capacity is governed by version and error correction, not by the rendered PNG dimensions.
Error correction controls how much of the symbol can be restored if it is partially obscured, smudged, or damaged. The four available levels come from the QR specification:
| Level | Approximate restoration rate | Typical use |
|---|---|---|
| L | ~7% of codewords | Clean indoor display, short payloads |
| M | ~15% of codewords | Practical default for ordinary display |
| Q | ~25% of codewords | Outdoor labels, packaging, slight wear |
| H | ~30% of codewords | Industrial, harsh environments, logo overlays |
The DENSO WAVE resource on error correction describes these rates as approximate codeword restoration capability. A higher level is not automatically better; it makes the symbol denser, which can make scanning harder at small physical sizes. For ordinary clean display conditions from a pasted Excel URL, level M is the practical default. If you plan to overlay a logo or print on textured material, move up to Q or H and re-scan to confirm the symbol still reads on the target device.
Downloading and Verifying Each PNG
The batch output is intentionally not packaged into a ZIP archive. The page exposes one download link per preview, and each link points to a PNG data URL produced by the qrcode 1.5.4 toDataURL call with a quiet-zone margin of 2 modules.
Filenames follow a deterministic pattern. The position in the batch (01, 02, 03 …) comes first, then a short ASCII stem derived from the content. A line such as https://example.com becomes 01-example-com.png, https://shop.example.com/cart becomes 02-shop-example-com-cart.png, and a line with no ASCII letters or numbers falls back to the generic stem qr-code. Filenames are convenience labels only; they never alter the encoded payload.
After downloading, follow these safeguards:
- Preserve the quiet zone. Do not crop the white margin surrounding the symbol.
- Do not recolor the dark modules to a light color or vice versa, and do not stretch the PNG non-uniformly.
- Scan every final PNG with the target device and the application you intend to ship.
- Compare the decoded payload character for character against the original Excel cell.
A generated image is not proof that every scanner will read the intended content. Print size, contrast, camera focus, display glare, physical damage, reader behavior, partial ECI support for non-ASCII text, and emoji handling all affect success. If a payload exceeds QR capacity, the batch shows an error rather than presenting a partial set as complete.
Why the Browser Workflow Fits an Excel Task
Most "bulk QR in Excel" solutions rely on a VBA macro, a paid add-in, or a server upload of your spreadsheet. The Bulk QR Code Generator takes a different path: you keep your source data in Excel, copy it as text, and paste it into a page that runs entirely in the current tab. The qrcode 1.5.4 encoder used here is the same one the project's single QR Code Generator uses, which means a one-off symbol you generated yesterday and a batch of twenty you generate today share the same encoding behavior and the same PNG output contract.
Operationally, three product facts make the workflow predictable:
- All payloads and PNG data URLs remain in the current tab. Nothing is uploaded, shortened, tracked, or recorded.
- Changing an input or option invalidates the previous batch, so stale results cannot overwrite newer settings.
- The 20-line and 2,000-character-per-line limits exist to bound CPU, memory, and layout work on phones and ordinary laptops.
For one-off symbols outside a batch, the same project's QR Code Generator produces a downloadable PNG from a single value, which is useful for spot-checking before you commit to a 20-line run.
For a deeper look, see Bulk URL Generator Alternative for Numbered URL Templates.