Generate hundreds of QR codes from a CSV in minutes
Use Smartees CSV mode to turn each row of your spreadsheet into a unique QR code, then download the whole batch as a ZIP.
If you need to produce 50, 200, or 1,000 QR codes — one per attendee, one per product, one per asset tag — the manual approach (create, rename, export each one) is a non-starter. Smartees CSV mode solves this: you upload a CSV file, define a naming pattern, and the tool generates a unique QR code for every row. The entire batch lands in a single ZIP file. This article walks through the workflow with concrete examples.
How CSV mode works
Your CSV must have a header row. Each subsequent row becomes one QR code. The payload for that code is built from the columns you choose. For example, a CSV for event badges might have columns id, name, company. You set the payload template to https://event.example.com/badge/{id} — the {id} placeholder is replaced with the value from that row's id column. Smartees then renders a QR code encoding that unique URL.
Naming pattern templates for your ZIP files
Every generated QR code image needs a distinct filename. Use the same column placeholders in the naming pattern. For instance, with pattern {row.id}_{row.name}.png, row 42 with name "Alice" produces 42_Alice.png. You can mix static text: badge_{row.id}.png yields badge_42.png. This is critical for asset tags — a naming pattern like TAG-{row.asset_id}.png means each file maps directly to the physical tag you'll print.
Supported placeholders and escaping
Placeholders are case-sensitive and must match your CSV headers exactly. Use {row.column_name}. If a column name contains spaces, wrap it: {row."Asset ID"}. To include a literal brace in the filename, double it: {{ or }}.
Four real-world use cases with numbers
Event badges
Imagine a conference with 350 attendees. Your CSV has first_name, last_name, ticket_type. Payload: https://checkin.example.com/{row.first_name}.{row.last_name}. Naming pattern: {row.last_name}_{row.first_name}.png. Upload the CSV, click generate, and 350 PNGs arrive in a 2 MB ZIP. Print them on badge stock — each scans to a personalised check-in page.
Asset tags
Your organisation tracks 1,200 laptops. CSV columns: asset_id, department, purchase_year. Payload: https://assets.example.com/{row.asset_id}. Naming pattern: {row.asset_id}.png. The ZIP contains 1,200 files, each 500x500 pixels. Print on adhesive labels and stick to each device. Scanning takes you to the asset record — no manual data entry.
Product labels
A small batch of 80 SKUs. CSV: sku, product_name, batch_code. Payload: https://catalog.example.com/{row.sku}?batch={row.batch_code}. Naming: {row.sku}.png. Generate in 30 seconds, print on A4 sticker sheets, and apply to boxes. Each QR leads to that specific batch's spec sheet.
Table tents
Restaurant with 25 tables. CSV: table_number, section. Payload: https://menu.example.com/{row.table_number}. Naming: table_{row.table_number}.png. Print on folded card — diners scan to view the digital menu. No app needed.
Tips for error-free batch generation
- Validate your CSV before upload. Remove trailing spaces in headers. Use a tool like LibreOffice or Google Sheets to export as UTF-8 CSV. A malformed header causes placeholder mismatches.
- Test with 3 rows first. Generate a small batch to verify payload URLs and filenames look correct. Then run the full 1,000 rows.
- Set the correct QR size. For badges and labels, 300–500 pixels is usually enough. For table tents at reading distance, 200 px works. Larger files increase ZIP size — 1,000 codes at 500 px is about 6 MB.
- Use HTTPS in payloads. Modern QR scanners require secure URLs. Always start with
https://.
How Smartees compares to alternatives
You could write a Python script using the qrcode library — that takes about 45 minutes of setup and debugging for a non-developer. Online bulk generators often limit you to 50 codes or charge per export. Smartees CSV mode handles up to 2,000 rows in one go, free, with no account required. The naming pattern feature alone saves you from renaming 500 files manually. ZIP download is instant after generation.
Ready to try it? Head to Smartees, upload your CSV, set your payload and naming pattern, and download your batch in under a minute. No sign-up, no limits.
QR Generator
Free, browser-side, one sign-in for downloads.