Bulk barcode generator
Prepare your list
CSV files and barcode values are processed locally in this browser, not uploaded. UTF-8 CSV, comma delimiter, double-quoted fields and escaped quotes are supported. One format per batch; up to 200 non-empty records. No quantity or sequence generation.
List mode preserves every character; blank lines are ignored. CSV preserves field text and leading zeros; all-empty records are ignored. Duplicate final values are flagged and retained. Invalid rows block the whole export. Filenames follow original row order.
Size and human-readable text
Exports: 300 pixels per inch. Module 4–6 px (0.339–0.508 mm); bar height 280–600 px. Quiet zones: at least 12 modules each side. Print at 100% scale; test before use. Retail/ISBN human-readable digits stay on.
Selected label preview
No code generated.
Download reviewed batch
PDF: one label per page, 10 mm margins, 300 dpi physical scale, no shrinking or clipping. If a code does not fit, shorten the value or use SVG/PNG. This is not a pre-cut label template.
PNG or SVG: one numbered file per row inside a ZIP archive. PDF: one label per page in one document. Duplicate rows remain separate outputs. A CSV manifest maps row, original value, final value and label. Optional CSV labels are metadata in the manifest, not extra printed text.
This generator does not give you a GS1-owned UPC number or an ISBN. It draws your value; it does not verify assignment or guarantee retail acceptance.
Bulk generation turns a list of values into multiple barcode images or labels. The most important step happens before export: make sure each row contains the identifier you actually intend to print.
Do not use a batch generator to invent retail product numbers. Every UPC, EAN or ISBN in a list still needs the right allocation and format.
Prepare a clean source list
Keep identifiers in text columns. Spreadsheet software can remove leading zeroes, convert long numbers to scientific notation or alter copied values. Check the exported CSV itself rather than assuming the sheet's display is the stored value.
Use one intended identifier per record. Remove accidental empty records and check unexpected duplicates, but do not delete duplicates that represent intentionally repeated labels. A comma inside a CSV field must follow the parser's quoting rules; a comma is not always a separator between values.
Validate before making the batch
| Check | Why it matters |
|---|---|
| Expected format | A value valid in Code 128 may be invalid in UPC-A |
| Complete digit count | UPC-A and EAN-13 have fixed lengths |
| Check digits | A mistyped value can still look plausible |
| Exact text and case | Normalization can change an internal identifier |
| Row-to-output mapping | You need to know which label belongs to which source record |
An error report should let you identify the affected row. Do not treat “files created” as confirmation that the identifiers exist in your inventory or retail system.
Test one label before committing the batch
Compare a downloaded sample with the original source value, then print it at the intended size and scan it into the receiving system. Check quiet zones, scaling and any page margins before producing the rest.
The brief calls for local browser processing, not uploading customer lists to a server. Avoid including customer names or other personal information in barcode values unless the application genuinely requires it.
Method and transparency
Last updated: 6 November 2026. Local technical preview only.