Bulk Barcode Generator: From a List, CSV or Excel
Make hundreds of barcodes at once, free and in your browser. Paste a list, open a CSV or Excel file, or build a numbered sequence, choose the barcode type, and download a ZIP of SVG, PNG or PDF files, one sheet or a sheet of labels. Every row is checked first, and nothing is uploaded.
The first barcode appears here.
Print simulation
Shows how a worn print of the first barcode looks and tests it with the decoder.
- Type
- Code 128 · 1D
- Print size
- —
- Rows
- 0
- Ready
- 0
- Cannot be drawn
- 0
- Empty
- 0
Output
Paper
Paper
The fit appears with the first barcode.
Output DPI
Thermal / offset
Before you print
A PDF test sheet with the first barcode at 80%, 100% and 150% and rulers. Print it at actual size and scan each copy.
Up to 10,000 rows on a computer, 5,000 on a phone or tablet.
Everything runs in your browser; nothing you paste or open is uploaded.
How to Make Barcodes in Bulk
Give the generator your values, choose the barcode, check the rows and download them all in one file.
- Paste the values, open a CSV, TSV, TXT or Excel file, or build a sequence such as SKU-00001 to SKU-00100.
- If the data has several columns, choose the one to encode and, if you want, the columns for file names and captions.
- Choose the barcode type, the module width and bar height, and the output: a ZIP of files, one sheet or a label sheet.
- Read the row check, which lists any row that cannot be drawn and why, and the read-back of the first barcode.
- Select Make the barcodes; the file downloads when the last barcode is drawn.
Input Formats and Columns
The generator reads pasted text, CSV, TSV and TXT files and Excel .xlsx files, one barcode per row.
Pasted Lists and Text Files
- One value per line: each line becomes one barcode.
- Rows copied from a spreadsheet: pasted as tab-separated columns, which are read as columns.
- CSV and TSV files: the separator is detected: comma, semicolon, tab or vertical bar.
- Quoted cells: a value in double quotes can hold the separator, quotes written twice, or a line break.
Excel Files
An .xlsx file is read in your browser, from its first worksheet. Excel stores some columns as numbers, which drops leading zeros, so a UPC such as 036000291452 becomes 36000291452; the page warns when a sheet holds numbers, and formatting the column as text in Excel keeps them. Older .xls files are not read: save them as .xlsx or CSV.
Columns for Data, File Names and Captions
With more than one column, you choose which holds the barcode data and, if you like, which gives each file its name and which replaces the text under linear barcodes. Tick the box when the first row holds column names, so it is not made into a barcode.
How Sequences Work
A sequence builds the values for you from a prefix, a start number, a count, a step, a number of digits and a suffix.
| Settings | First values |
|---|---|
| Prefix SKU-, start 1, 5 digits | SKU-00001, SKU-00002, SKU-00003 |
| Prefix A, start 100, step 10, suffix -B | A100-B, A110-B, A120-B |
| Prefix 95212345, start 1, 4 digits, GS1 check digit | 9521234500018, 9521234500025, 9521234500032 |
The GS1 check digit option adds the check digit to each value, so a run of GTINs or SSCCs comes out valid. The example uses GS1 Prefix 952, which GS1 keeps for examples: use your own GS1 Company Prefix for real products.
Limits, File Names and Checks
Each run has a row limit, safe file names and a check of every row, so nothing is dropped without being reported.
How Many Barcodes at Once
One run makes up to 10,000 barcodes on a computer and 5,000 on a phone or tablet, which have less memory for the finished file. A longer list is refused with a message rather than cut short. Split it and make it in parts.
File Names
Each file is named after its value, or after the column you choose. Characters that file systems do not allow, such as / : * ?, become underscores, names are kept to 80 characters, and a repeated name gets -2, -3 and so on.
Rows That Cannot Be Drawn
Before drawing, every row is checked against the barcode type: characters it cannot encode, a wrong length or a wrong check digit are listed with the reason. A GTIN typed without its check digit gets it added, and the table says so. Rows that still fail while drawing, and barcodes that do not read back when the read-back is on, are listed in rows-not-drawn.csv, inside the ZIP and as a separate download.
Barcode Files, PDF Sheets and Label Sheets
Choose a ZIP with one file per barcode, one sheet with all of them, or a PDF of label sheets ready to print.
| Output | What you get | Best for |
|---|---|---|
| ZIP of SVG | One vector file per row, sized in millimeters | Print, label and design software |
| ZIP of PNG, WebP or JPEG | One image per row at 72 to 600 DPI; PNG and JPEG store the DPI | Spreadsheets, web pages, tools without SVG |
| ZIP of PDF or EPS | One vector file per row, the page cut to the barcode | Print shops and layout software |
| One sheet | Every barcode at print size in one SVG, or a PDF on US Letter or A4 pages | Printing a page of codes, or a quick check of the whole run |
| Label sheet | A vector PDF with one barcode centered on each label of your grid | Sheets of sticky labels |
Print Barcode Labels From Excel
Open the .xlsx file, choose Label sheet, and enter the label grid from your label stock: columns, rows, label size, margins and gaps, on US Letter or A4. Each barcode prints at 100% in the middle of its label; a barcode that does not fit is listed with the room it needs rather than shrunk, because shrinking changes the module width that scanners rely on.
Tick Draw the label outlines for a first print on plain paper, hold it against a sheet of labels, and adjust the margins before you print on the labels.
Read-Back, Print Simulation and Test Sheet
The first barcode is read back by a decoder in your browser as soon as it is drawn, and you can test it further before printing the whole run.
- Read-back: the decoder reads the first barcode and says whether it gives back exactly the data of row one.
- Print simulation: ink spread or a weak printer, applied to the first one and read again, to see if a worn print still scans.
- Test sheet: a PDF with the first one at 80%, 100% and 150% and 100 mm and 4 in rulers, on US Letter or A4.
- Read back every one: an option that reads each code while drawing; those that do not read are still saved and listed in the CSV.
Label Text, Colors and Layout in Bulk
The settings you choose apply to every barcode of the run, and a column can give each row its own type, caption or label text.
- Label text: text above and below each barcode, the same on all of them or from a column, in Helvetica.
- Text under the bars: OCR-B or Sans, with its size and alignment; EAN and UPC keep their standard digits.
- Type per row: a column can name each row's type, such as EAN-13, Code 128 or QR Code.
- Colors: bars and background, refused when the contrast is too low to scan.
- Quiet zone, rotation, margin and border: the same for every row, with a transparent background for SVG, PNG, WebP, PDF and EPS.
- File names: a pattern with {row}, {data}, {type} or a column, such as label-{row}-{data}.
Frequently Asked Questions
Is the Bulk Barcode Generator Free?
Yes. There is no account, no limit on runs and no watermark; each run makes up to 10,000 barcodes on a computer. The drawing happens in your browser.
Can I Make Barcodes From an Excel File?
Yes. Open the .xlsx file on the File tab and choose the column with the data; the first worksheet is used. If your numbers start with 0, format the column as text in Excel first, or save it as CSV.
Are My Files Uploaded?
No. The file is read and the barcodes are drawn in your browser, and the values are not sent to Barcode.codes. The finished ZIP is made on your device and saved from there.
Can I Make Code 128 Barcodes in Bulk?
Yes, Code 128 is the default type. Each value is encoded with the shortest mix of Code 128 code sets, as on the single barcode generator.
Why Was a Check Digit Added to My Numbers?
EAN, UPC and ITF-14 numbers end with a check digit. When a row has one digit fewer, such as 12 digits for an EAN-13, the generator adds the check digit and marks the row. A row with a wrong check digit is not changed: it is listed with the digit it should have.
Can I Pause or Stop a Large Run?
Yes. Pause stops drawing new barcodes until you resume, and Cancel stops the run without saving anything. The progress bar shows how many barcodes are done.
Can I Get the Barcodes as a PDF?
Yes, in three ways: a ZIP with one PDF per barcode, one PDF sheet with all of them on US Letter or A4 pages, or a PDF of label sheets. All are vector files, so the bars stay sharp at any printer resolution.
Can I Save My Settings for the Next Batch?
Yes. Presets keep the type, size, style and output under a name, and Recent batches lists your last ten runs with their settings. Both stay in this browser and never hold your values, column choices or logo.
Related Barcode Tools
- Barcode generator
One barcode with every setting: colors, quiet zone, text size.
- Bulk QR code generator
QR codes from a list, CSV or Excel file, or serial numbers.
- Random barcode generator
Valid test numbers under GS1's example prefix, drawn as barcodes.
- Check digit calculator
Every step of a check digit, for GS1, ISBN, Code 128 and Luhn.
- GS1-128 barcode generator
GTIN, batch, dates and more in GS1-128.
- Barcode label generator
Sheets of barcode labels as a print-ready PDF.
- Barcodes in Excel
A column of barcodes in a free font, as an Excel file.