Home › Bulk Barcode Generator Guide
Bulk Barcode Generator — Complete CSV Workflow Guide
Last updated: April 2026
The batch generator takes a CSV file with one barcode value per row and produces all the barcode images at once — as a ZIP of individual files or a formatted PDF label sheet. A product catalogue of 300 SKUs that would take hours to barcode manually is processed in under a minute. This guide covers the complete workflow from preparing your CSV to downloading your finished label sheets, including the exact column format required, how to mix barcode types and QR codes in one batch, and how to troubleshoot common problems.
Open the Batch GeneratorThe CSV Format
The batch generator accepts a CSV file with up to three columns. Only the data column is required — the others are optional and can be omitted if not needed. The column names are read from the first row (header row) of the file. Column names are case-insensitive and special characters are stripped during parsing.
| Column | Required? | What it contains |
|---|---|---|
data | Yes | The barcode value — UPC number, SKU, URL, phone number, etc. |
label | No | Text printed below the barcode image — product name, SKU, description |
type | No | Barcode format override for this row — overrides the Default Barcode Type setting |
If your CSV has no header row, the generator treats the three columns as data, label, and type automatically. Rows with an empty or missing data value are skipped silently.
CSV Examples
Simple barcode batch (data only)
01234567890
98765432109
55512300010
55512300027
Set the Default Barcode Type to UPC-A in the batch panel. All four rows produce UPC-A barcodes with no label text.
Barcode batch with product labels
01234567890,Widget Pro — Red Small
01234567891,Widget Pro — Red Medium
01234567892,Widget Pro — Blue Small
01234567893,Widget Pro — Blue Medium
Each barcode is printed with the product name beneath it. The label column content can be up to 40 characters — longer strings are truncated in the output.
Mixed barcode types in one CSV
upc,01234567890,Widget Pro
EAN13,590123412345,EU Product
CODE128,SKU-00123,Internal Part
CODE39,ITEM-456,Warehouse Bin
ITF14,0123456789012,Outer Case
The type column lets each row specify its own barcode format. The Default Barcode Type in the panel applies to any row that has an empty type column.
Mixed barcode and QR code batch
upc,01234567890,Product A
qr,https://example.com/product-a,Product A QR
upc,98765432109,Product B
qr,https://example.com/product-b,Product B QR
Use qr in the type column to produce a QR code for that row. All other QR styling settings (dot pattern, colour, logo) from the main QR tab apply to all QR rows in the batch. This lets you produce a product barcode and its companion QR code in the same batch operation.
Valid Type Column Values
| Type value | Format generated | Input expected in data column |
|---|---|---|
upc | UPC-A | 11 digits (check digit auto-added) |
EAN13 | EAN-13 | 12 digits (check digit auto-added) |
EAN8 | EAN-8 | 7 digits (check digit auto-added) |
CODE128 | Code 128 | Any alphanumeric string |
CODE39 | Code 39 | Uppercase A–Z, 0–9, and: - . $ / + % SPACE |
ITF14 | ITF-14 | 13 digits (check digit auto-added) |
qr | QR Code | Any text — URL, phone, email, plain text |
pdf417 | PDF417 | Any text up to ~1,850 characters |
MSI | MSI Plessey | Numeric only |
codabar | Codabar | Numeric + A B C D as start/stop |
Preparing Your CSV in Excel or Google Sheets
Both Excel and Google Sheets export CSV files correctly. A few things to check before exporting:
- Data formatting: Excel sometimes auto-formats barcode numbers as scientific notation (e.g.
1.23457E+10) or strips leading zeros from numeric-looking values. Format the data column as Text before entering barcode numbers, or prefix entries with an apostrophe in Excel to force text treatment. - Check for smart quotes: Label column text pasted from Word or web pages may contain curly quotes (" ") rather than straight quotes. These are safe in label text but will display as-is in the printed label — replace with straight quotes if needed.
- UTF-8 encoding: Save or export as CSV UTF-8, not CSV Windows (ANSI). Non-ASCII characters in label text — accented letters, French characters, registered trademark symbols — require UTF-8 encoding to display correctly.
- One product per row: Each row is one barcode. If you have multiple units of the same barcode, you still only need one row — the PDF Page Designer tiles the barcode across multiple label cells. Do not repeat rows to get multiple copies.
Batch Output Options
ZIP of PNG files
Downloads all barcode images as individual PNG files packaged in a ZIP archive. Each file is named using the barcode value and label text. Use this when you need individual image files — for inserting into Word documents, uploading to a product catalogue system, or passing to a designer. Resolution is set by the resolution chip selection in the batch panel (300 DPI, 600 DPI, or 900 DPI).
ZIP of SVG files
Downloads all barcodes as individual SVG vector files. Use for print production, packaging artwork, or any workflow where the barcode images will be placed in professional design software. SVG scales to any print size without quality loss.
PDF via Page Designer
Opens the PDF Page Designer with all batch barcodes loaded. Select a label layout (Avery 5160, Avery 5163, custom dimensions), configure margins and gaps, preview the layout across all pages, and export a print-ready multi-page PDF. This is the fastest path from CSV to printed labels — the entire workflow from batch generation to a formatted print-ready PDF takes under two minutes for most catalogues.
Handling Validation Errors in a Batch
The batch generator validates each row's data against the expected format for its barcode type before generating. Rows that fail validation are highlighted in the results table with a specific error message — for example, "UPC-A requires exactly 11 digits" or "Code 39 does not support lowercase letters." Valid rows are generated normally; invalid rows are skipped and their errors are listed below the results.
After fixing errors in your CSV, you do not need to re-upload the whole file. The batch results table has an individual Re-generate button for each row, allowing you to correct the data for a specific row and regenerate just that barcode without repeating the whole batch.
Large Batches — Performance Tips
All batch processing happens in your browser using JavaScript. Performance depends on your device. For most modern computers, batches of up to 500 rows process in 10–30 seconds. For very large batches:
- Disable logo overlay and custom dot patterns for the batch run — these are computationally intensive and significantly increase render time per code.
- Use PNG at 300 DPI rather than 600 DPI for the batch — download size and render time roughly double at higher resolution.
- Split batches over approximately 500 rows into two or three smaller files to avoid browser memory limits on older devices.
- Close other browser tabs before starting a large batch — JavaScript performance improves when the browser can dedicate more memory to the active tab.
Common Workflows by Use Case
New product launch — generating UPC-A for a full catalogue
Export your product variant list from your inventory system or e-commerce platform as a CSV. Add a column with the assigned GS1 GTIN for each variant (11 digits, check digit excluded). Set Default Barcode Type to UPC-A, upload the CSV, generate, and export as a ZIP of SVGs for your packaging designer plus a PDF on Avery 5160 for FBA labels.
Shopify bulk barcode update
Export your Shopify product catalogue as CSV, populate the Variant Barcode column with GTINs in a spreadsheet, then use BatchPrintGTIN's batch generator to produce all barcode images from the same spreadsheet data. Re-import the updated CSV to Shopify and upload the barcode images to your product photos or packaging assets simultaneously.
Marketing QR code campaign
Prepare a CSV with one URL per row — each URL is a unique landing page or UTM-tagged version of the same page for analytics tracking. Add a label column with the placement name (e.g. Window Sticker, Receipt, Flyer). Generate all QR codes with consistent styling (same dot pattern, colour, and logo), then export as a ZIP for your designer or directly to PDF label sheets for printing.
Amazon FBA FNSKU labelling
Retrieve all FNSKU codes from Seller Central (download the FNSKU report). Create a CSV with the FNSKU codes in the data column and product names in the label column. Set Default Barcode Type to CODE128, generate, open the Page Designer, select Avery 5160, and export the PDF. Print on Avery 5160 laser label stock.
Frequently Asked Questions
How many rows can I include in one CSV?
There is no hard row limit. In practice, batches of up to 500 rows process smoothly on modern computers. Very large batches — 1,000+ rows with complex QR styling — may take several minutes and benefit from being split into smaller files. All processing runs in your browser; no data is uploaded to any server.
Can I generate QR codes and barcodes in the same batch?
Yes. Add a type column to your CSV and use qr for QR code rows and a barcode format code (such as upc or CODE128) for barcode rows. Both types are generated in the same batch and packaged together in the ZIP or PDF output.
The batch generated some codes but skipped others. Why?
Skipped rows have validation errors — the data does not match the expected format for the barcode type. Check the error column in the batch results table for specific messages. Common causes: wrong digit count for UPC-A or EAN-13 (must be 11 or 12 digits respectively, not including the check digit); lowercase letters in a Code 39 row; non-numeric data in a UPC or EAN row.
My barcode numbers are losing their leading zeros. How do I fix this?
Excel auto-converts numeric-looking values to numbers, removing leading zeros. Before entering UPC or EAN numbers, select the data column, format as Text (Format Cells → Number → Text), then enter or paste the numbers. Alternatively, prefix each number with an apostrophe in the cell — Excel treats it as text and the apostrophe does not appear in the CSV export.
