Creating QR codes one by one works fine when you need 5 or 10. But what about 500 product labels, 200 event badges, or 1,000 inventory tags? You need bulk generation — feed a list of data, get a folder of QR codes.
Here's how to approach bulk QR code creation, with practical guidance for common use cases.
When You Need Bulk QR Codes
Product packaging. Each product has a unique URL, SKU, or serial number. You need a unique QR code for each item linking to its specific product page, warranty registration, or tracking information.
Event badges. Each attendee gets a badge with a QR code encoding their vCard or linking to their profile. The data comes from the registration list.
Inventory and asset tags. Each piece of equipment, each pallet, each asset gets a QR code linking to its record in your inventory system.
Direct mail campaigns. Personalized mailers where each recipient's QR links to a personalized landing page with their name, offer, or account information.
Library or museum collections. Each item in the collection gets a QR linking to its catalog entry or descriptive page.
The CSV Structure
Start with a spreadsheet (Excel, Google Sheets) with one row per QR code. The minimum you need is one column with the data to encode. For richer use cases, you might have multiple columns.
Simple URL batch
url
https://shop.example.com/product/001
https://shop.example.com/product/002
https://shop.example.com/product/003
Product labels with filenames
filename,url
product-001,https://shop.example.com/product/001
product-002,https://shop.example.com/product/002
product-003,https://shop.example.com/product/003
The filename column helps you identify which QR image corresponds to which product.
vCard batch for event badges
filename,first_name,last_name,email,company
john-doe,John,Doe,john@example.com,Acme Inc
jane-smith,Jane,Smith,jane@example.com,Widget Co
Each row generates a vCard QR code with the attendee's contact information.
Inventory tags
asset_id,url
EXC-001,https://inventory.example.com/assets/EXC-001
GEN-042,https://inventory.example.com/assets/GEN-042
SCF-107,https://inventory.example.com/assets/SCF-107
How to Generate
Method 1: Online Bulk Generators
Several QR code platforms offer CSV upload for bulk generation. You upload your CSV, configure settings (QR style, size, error correction), and download a ZIP file with all QR images.
Look for these features in a bulk generator:
- CSV upload with column mapping
- Custom filenames per QR code
- Style customization (colors, dot styles) applied to all codes
- Output in PNG and SVG
- ZIP download of all generated codes
Method 2: Script-Based (for developers)
If you're comfortable with code, a Python or Node.js script gives you full control. The basic approach:
- Read the CSV file
- For each row, generate the QR data string (URL, vCard format, etc.)
- Generate the QR code image using a library
- Save with the appropriate filename
- Optionally zip all images
Python libraries: qrcode, segno (for SVG output)
Node.js libraries: qrcode, qr-code-styling (for styled output)
This method is free, fully customizable, and handles any volume.
Method 3: Google Sheets + Add-on
Some Google Sheets add-ons generate QR codes from cell values. You paste your URLs in a column, and the add-on generates a QR image for each row. Convenient for small batches (under 100) but limited in styling options.
Tips for Bulk Generation
Consistent naming. Use descriptive filenames (from your CSV) so you can match QR images to items: product-001.png, john-doe.png, asset-EXC-001.svg.
Test a sample first. Before generating 1,000 QR codes, generate 5 and test them. Scan each one and verify the data is correct. Check that the style, size, and format work for your use case.
Size and resolution. For print, generate at high resolution (at least 600×600 px) or use SVG. For digital use, 300×300 px is usually sufficient.
Error correction. For products and inventory tags that might get scratched or dirty, use a higher error correction level (Q or H). For clean digital use, M is fine.
Dynamic vs Static for bulk. Bulk generation usually creates static QR codes — the data is encoded directly. If you need tracking on each individual QR (which gets expensive with many codes), consider generating dynamic codes through an API.
Common Pitfalls
Encoding issues. Make sure your CSV is UTF-8 encoded, especially if it contains names with accents, non-Latin characters, or special symbols. Encoding mismatches create broken QR codes.
Trailing spaces. Extra spaces in URLs or data fields can break QR codes. Clean your CSV data before generating.
Duplicate data. Double-check that each row has unique data. Two products with the same URL won't be caught by the generator — you'll end up with duplicate QR codes on different products.
File size management. 1,000 PNG files at 600×600 px each is about 200-500 MB. Make sure you have space and consider SVG for smaller file sizes.
Use Case Deep Dives
Product Labels
Generate one QR per product SKU. Link to the product page, which includes photos, specs, reviews, and support. For food products, link to nutritional information and allergen details. For electronics, link to the setup guide and warranty registration.
Print the QR on the label using the SVG output for crisp printing at any label size.
Event Badges
Generate one QR per attendee from the registration CSV. The QR encodes a vCard with the attendee's name, email, and company. At the event, attendees scan each other's badges to exchange contacts. Print on badge stock or adhesive labels.
Inventory Tags
Generate one QR per asset. The QR links to the asset's record in your inventory management system. Attach to equipment with durable vinyl labels. When anyone in the organization needs to check the status, maintenance history, or documentation, they scan the tag.
Get Started
For individual QR codes, head to qree.app. For bulk generation needs, stay tuned — batch creation from CSV is on our roadmap.