Upload a CSV with one value per row — SKUs, serial numbers, ticket IDs, URLs — and download every code at once as a ZIP of PNG files.
Click to upload or drag a .csv file here
| # | Value |
|---|---|
| No values loaded yet. | |
Total values loaded: 0
A CSV file, or a simple list pasted straight into the box — one value per row.
Choose any supported barcode symbology, or QR code, applied to every row.
Every code renders locally in your browser and is packaged into one ZIP file — nothing is uploaded.
The bulk tool accepts two layouts. The simplest is one value per line with no header — just a plain list of SKUs, serial numbers, or URLs. If your spreadsheet export includes a header row, add a column literally named value (lowercase); the tool will detect it and pull data from that column specifically, ignoring any other columns in the file. This is useful if you're exporting straight from an inventory spreadsheet that also has price, description or quantity columns you don't want encoded.
Each line becomes exactly one code, so make sure the values are already in their final form before uploading — the tool doesn't pad, reformat, or validate check digits for you beyond what the underlying symbology requires to render at all.
Different barcode symbologies accept different character sets. CODE39, for example, only supports uppercase letters, digits and a small set of symbols — lowercase letters or special punctuation will cause that row to fail. EAN-13 and UPC-A expect a specific digit count and will reject values that are too short, too long, or contain non-numeric characters. If your batch finishes with some values skipped, switching to CODE128 (which accepts the full ASCII range) is usually the fastest fix, provided your downstream system can read that format.
If every row is a short ID that needs to integrate with an existing scanner or point-of-sale system, a linear format like CODE128 or EAN-13 is almost always the right call — that's what the receiving hardware expects. If each row is actually a full URL (for example, generating a unique tracking link per product), QR is the better fit, since a linear barcode can't practically encode a long web address. It's worth deciding this before running a batch of 300 codes, since re-running with a different format means starting over.
Because every code renders in your browser rather than on a server, very large batches are limited by your device's memory rather than any account quota. We cap batches at 500 values as a practical ceiling for smooth performance across most laptops and phones; if you have a larger list, splitting it into a few CSV files and running each separately avoids slowdowns and keeps each ZIP download to a manageable size.