Getting the CSV format right
The simplest valid input is one URL per line. If you want control over file names, add a name first: sku-1042,https://example.com/item/1042. Keep names free of slashes and other characters file systems reject, and make sure every line has exactly one comma between name and content (the content itself can be a full URL — everything after the first comma is used).
Exporting from Excel or Google Sheets: paste the two columns directly, or export CSV and open it in a text editor to check the lines before pasting. Curly quotes and stray spaces are the two most common batch-killers.
Naming is the whole game
A folder of 300 files named qr-1.png through qr-300.png is nearly useless. Because the name column becomes the file name, put the identifier you actually use there — table numbers, SKUs, asset tags, badge IDs. Six months later, when someone needs the code for table 12, they'll find it in seconds.
How big a batch can the browser handle?
Hundreds of codes are routine; a few thousand work too, with a short wait. The ceiling is browser memory, not any limit here. For very large runs, split the CSV into chunks of a thousand — you'll also get cleaner ZIPs to hand over. Because everything happens locally, a flaky internet connection can't corrupt your batch halfway through.
Mistakes to avoid
- Check for blank lines at the end of your paste — they become empty codes.
- Don't use commas inside the content unless the name split is already done; everything after the first comma is content.
- Test-scan two or three codes from the finished ZIP before printing all of them.
Common questions
Is there a limit on how many?
No hard limit. Browser memory is the only practical ceiling; thousands of rows are fine.
Is my data uploaded?
No. The ZIP is built entirely in your browser — you can disconnect from the internet and it still works.
Can each code have different colours?
Not per-row — styling applies to the whole batch uniformly. For mixed styling, run one batch per style.
What format should the CSV be?
name,content — one per line. Or just content per line and files are numbered automatically.