How to Generate Bulk QR Codes in Excel (Free Template Inside)
Generating one QR code online is fine. Generating 50, 100, or 200 of them one at a time is a special kind of misery. Most people open a free online generator, paste a URL, download a PNG, rename it, repeat. After 20 codes the will to live exits the building. Here is the faster way: use Excel as the source of truth, batch-generate everything in one click, and get a print-ready A4 sheet at the end. Free template included.
Why bulk QR codes are a real problem
Most QR code articles online are written for someone who needs ONE code. One menu link. One WiFi password. One business card. The internet is full of "how to make a QR code" tutorials, and they all assume you do it once.
Real businesses do not work like that. A restaurant chain has 30 locations and needs 30 menu codes. An event organizer has 200 attendees and needs 200 vCards. A property manager has 80 units and needs 80 maintenance request codes. A small biz owner has 50 product SKUs and needs 50 product page links printed on labels.
The moment your QR need crosses 10 codes, the manual approach falls apart. You spend an hour clicking buttons, then realize the colors don't match your brand, then realize you printed them at the wrong size, then realize one URL had a typo. You start over. You hate your life.
When you actually need 50+ codes
I have built this tool because I kept seeing the same scenarios repeat in customer requests. The pattern is always the same: someone needs many codes, fast, and they need them to print without falling apart.
- Restaurants and cafes: table tents with menu links, WiFi codes for guests, payment links for tips
- Event organizers: attendee vCards, schedule links per session, sponsor pages, feedback forms
- Property managers: maintenance request codes per unit, building info, emergency contacts
- Sales teams: vCards for every rep, payment links per region, demo booking pages
- Wedding and event planners: RSVP codes, photo album uploads, registry links per couple
- Small biz inventory: SKU labels with product page links, asset tracking, equipment manuals
- Schools and universities: classroom resource links, library check-in, campus maps
- Real estate: property listing codes per yard sign, virtual tour links, agent contacts
Common thread: the data already lives in a spreadsheet. The customer list, the product catalog, the attendee table, the building register. It is all in Excel or Google Sheets already. The smart move is to generate the codes from where the data lives, not from a separate tool that requires you to copy-paste 200 times.
The three ways to generate them
1. Online generators with batch mode (paid)
Tools like QR Code Generator Pro, QR Tiger, or Beaconstac let you upload a CSV and generate codes in bulk. The catch: pricing starts around $10 to $30 a month, and many features (custom branding, dynamic codes with tracking, more than 50 codes per month) are locked behind higher tiers. If you generate codes weekly, the math works. If you generate them once a quarter, you are paying for nothing 90% of the time.
2. Custom code (Python, JavaScript)
If you can write a 30-line Python script that loops through a CSV and saves PNG files using the qrcode library, congratulations, you do not need this article. For everyone else, this option is theoretical. Setting up Python, installing libraries, debugging file paths, dealing with image sizing for print is a half-day project that you will never repeat.
3. Excel + VBA (one-time cost or free)
This is the sweet spot. Your data is already in Excel. The codes get generated in the same place. The print layout is a tab in the same file. Total cost: a few dollars one-time, or zero if you use a free template for evaluation. No subscription, no command line, no Python install.
The trade-off: it only works on Excel for Windows desktop because it relies on VBA macros. Mac Excel, Excel Online, and LibreOffice are not supported. If you are on Windows with Excel 2016 or later, this is the fastest path by a mile.
How to do it in Excel, step by step
Here is the workflow inside the ClicknFile QR Code Generator. Other Excel-based tools follow a similar pattern. The whole process for 200 codes is under a minute of your time, plus 30 to 40 seconds of waiting for the API to respond.
Step 1: open the file and enable macros
VBA-based tools come as .xlsm files. The first time you open one, Excel shows a yellow security banner: "Macros have been disabled". Click Enable Content. Save the file once. Macros stay enabled for all future opens.
Step 2: configure your defaults in Settings
The Settings tab holds the global defaults that apply to every code unless you override them per row. Set:
- QR size in pixels (250 is the safe default for printing on A4)
- Foreground color in hex (your brand color, or stick to navy/black)
- Background color in hex (white or light cream)
- ECC level (M is the safe default, H if you plan to put a logo center)
- Output format (PNG for general use, SVG for vector printing, JPG to save space)
Step 3: fill the Input tab, one code per row
The Input tab is just a structured table. Each row becomes one QR code. Three columns are required:
- Type: pick from a dropdown (URL, vCard, WiFi, Geo, Payment, Text)
- Label: free text for your reference (used in filenames and print layout)
- Content: the actual data to encode, format depends on the type
Optional: a custom hex color in column E to override the default for a single row. Useful when you want most codes in your brand color but a few highlights in the accent color.
Step 4: click Generate All
One button. Wait 5 to 30 seconds depending on volume. Each row updates with a status:
- Generated in green: QR code created, image embedded in the row
- Error in red: hover the cell for the exact reason (format error, content too long, network error)
- Pending in orange: in flight, normally only visible mid-batch
If a row errors, fix it and click Generate All again. The tool only retries the failed rows, so you do not waste API calls on the codes that already worked.
Step 5: export as PNG files OR build the print layout
Two options at this point depending on what you need:
- Export to Folder: saves each code as an individual PNG (or JPG/SVG) file with a configurable filename pattern like QR_{label}_{type}.png. Use this when you need the codes for a website, a slide deck, or a custom layout.
- Build Print Layout: fills a Print Layout A4 tab with your codes plus their labels in a clean grid (24 codes per page on A4). Press Ctrl+P to print or save as PDF. Use this for stickers, table tents, posters, name badges, anything physical.
Always do a single test scan with two different phones before printing in volume. iPhone and Android handle edge cases differently. A code that scans on one but not the other is a printing disaster waiting to happen.
The 6 QR types and what they encode
Not all QR codes are URLs. The full QR spec supports several content types, each with its own format. Here is the cheat sheet.
| Type | What scanning it does | Content format |
|---|---|---|
| URL | Opens a website | Full URL with https:// |
| vCard | Saves a contact to the phone | Name|Org|Phone|Email |
| WiFi | Auto-connects phone to network | SSID|Password|WPA |
| Geo | Opens map at coordinates | Latitude,Longitude |
| Payment | Opens a payment page | Full URL (PayPal, Stripe, etc.) |
| Text | Shows plain text on scan | Any string up to 600 chars |
Length matters. Each QR code has a content limit before the pattern becomes too dense to scan reliably from a phone. URL and Payment cap at 500 characters. Text caps at 600. vCard caps at 700. WiFi at 200. Geo at 50. If you exceed a limit, a good tool will reject the row with a clear error rather than producing an unscannable code.
Print-ready A4: the part nobody talks about
This is where most online generators fall short. They give you 200 PNG files in a folder. Now what? You open Word, paste them in, resize them by hand, add labels, fight with column widths, give up after 30 minutes.
The A4 print layout sheet is the difference between "I have my QR codes" and "I have my QR codes printed and on the table". A good layout fits 24 codes per A4 page in a 4-column grid with the label below each code. Margins are tuned so the codes scan without bleeding into the next one. Page breaks are clean. You hit Ctrl+P, you have your printed sheet.
For sticker labels, you can also use Avery-compatible templates. The standard Avery 8160 layout (1 inch by 2.625 inches) holds 30 stickers per A4 sheet, perfect for asset tags and product labels.
Mistakes that make QR codes unscannable
I have seen the same five mistakes destroy bulk QR projects over and over. Here is the list, in order of how often they happen.
1. Color contrast too low
Pretty pastel QR codes look beautiful and scan terribly. The QR pattern needs at least 50% brightness contrast between foreground and background. Stick to dark colors (navy, black, charcoal) on light backgrounds (white, cream, light beige). If your brand is light blue, use it for the labels, not the QR pattern itself.
2. Printing too small
The minimum reliable scan size for a phone at arm's length is about 1 cm (0.4 inches) per side. Below that, even the best ECC level cannot save you. For posters and signs viewed from further away, scale proportionally: at 1 meter scan distance, codes need to be at least 3 cm per side.
3. Putting a logo in the center without raising ECC
Logo-in-the-center QR codes look great in marketing decks. They also fail to scan if you don't raise the ECC level to H (30%). The logo physically obscures part of the data pattern. Without high error correction, the code becomes garbage. Always test scan after adding a logo.
4. URL too long
A 200-character URL becomes a dense, hard-to-scan QR code. Use a URL shortener (bit.ly, TinyURL, your own short domain) before generating the code. Bonus: you can change the destination later without reprinting.
5. Not testing before printing 500 of them
This is the catastrophic one. Always test scan a single sample with two different phones (iPhone and Android) and at the actual print size. Print one code at the final size, scan from your expected scan distance, in the actual lighting condition. Five minutes of testing saves a $200 reprint.
Try the free QR Code Generator Free
I built a free version of the ClicknFile QR Code Generator so you can evaluate the structure, see the print layout, and check that it fits your workflow before paying anything. Same Excel layout, 7 ready-to-use sample codes, full Print Layout A4 preview.
Free version vs Pro version
The free version of the ClicknFile QR Code Generator is a preview. It shows the full Excel structure, the 7 sample codes, the Print Layout A4 sheet, and the Settings tab. Perfect to see how the tool is built and decide if it fits your workflow. Batch generation, custom branding, multi-format export, and the full 200-code capacity are in the Pro version.
| Feature | Free | Pro ($4.99) |
|---|---|---|
| Excel structure preview | โ | โ |
| 7 sample codes | โ | โ |
| Print Layout A4 preview | โ | โ |
| Batch generation up to 200 codes | โ | โ |
| Custom brand colors per row | โ | โ |
| Multi-format export (PNG, JPG, SVG) | โ | โ |
| Smart retry on errors | โ | โ |
| Custom filename pattern | โ | โ |
| Quick Start Guide (.docx) | โ | โ |
| Lifetime updates | โ | โ |
Bulk QR Code Generator (Pro) $4.99
Everything in the free version, plus full batch generation. Built for restaurants, event organizers, sales teams, and small biz owners who need volume without paying $20 a month for an online tool.
- Generate up to 200 codes per batch in 30-40 seconds
- Six types: URL, vCard, WiFi, Geo, Payment, Text
- Custom brand colors with any hex code, per row
- Output as PNG, JPG, or SVG
- Print-ready A4 layout, 24 codes per page
- One-time purchase, no subscription, lifetime use