Generate barcodes in bulk from a list

Paste your values, upload a CSV, or make a numbered batch, and get a barcode for each. Download PNGs in a ZIP, or a print-ready PDF of label sheets.

Ten formats, each value checked as you type. Your list is processed in your browser.

What you get

Four ways in
Paste one value per line, load a CSV (with an optional caption column), make a numbered series, or make random codes that are all different.
Ten formats, checked for you
Code 128, Code 39, EAN-13, EAN-8, UPC-A, ITF-14, Interleaved 2 of 5, MSI, Codabar and Pharmacode. Every row shows whether it is valid, and if not, what that format accepts. Repeats are flagged.
Your styling
Bar width and height, empty border, text size and position, colours or a see-through background, and a different caption under any code.
PNG ZIP, SVG ZIP or label sheets
A ZIP of images up to 4x size, a ZIP of SVGs, or a print-ready PDF on A4, A3, A5, US Letter or US Legal.
Label sheets that line up
Pick a common label size or your own, set copies, and skip labels you have already used on a part-filled sheet. Barcodes are centred and never stretched.
See the page first
A picture of each page shows exactly where every label lands before you export.

Make barcodes in four steps

  1. Add your values

    Paste them, load a CSV, or make a series or random codes.

  2. Choose a format

    Pick the one your scanner or system expects, and fix any row marked not valid.

  3. Style it

    Set the bar width, height, text and colours.

  4. Export

    Download a ZIP of PNGs or SVGs, or the print-ready PDF.

Make barcodes

When to make barcodes in bulk

Stock and SKUs

Label a whole inventory from a spreadsheet column.

Asset tags

Number equipment and print the labels in one go.

Shelf and warehouse labels

Lay out sheets with rows and columns to match your label paper.

Events

Print tickets or badges with a code for each.

How to generate barcodes in bulk from Excel or CSV

Typing barcodes one at a time does not scale past a handful. This tool turns a whole list into barcodes in one pass: paste it, upload it, or generate a numbered batch.

  1. Put your values in one column of a spreadsheet, one per row: SKUs, product numbers, asset tags or batch IDs.
  2. Save that as CSV. In Excel use File > Save As > CSV; in Google Sheets use File > Download > Comma-separated values.
  3. Load the CSV, or paste the values into the box, one per line. To make a series instead, press Make a series (a prefix, a first number, a count and a step) or Random codes.
  4. Pick a format. Every row shows whether it is valid for that format. Adjust bar width, height and colours in the style panel.
  5. Export a ZIP of PNG or SVG images, or generate a print-ready PDF of label sheets.

Which barcode format should you use?

FormatAcceptsTypical use
CODE128Letters, digits and symbols (ASCII)Inventory, shipping, internal IDs
CODE39Capital letters, digits, - . space $ / + %Asset tags, older systems
EAN-1312 digits (check digit added) or 13 with a valid check digitRetail products
EAN-87 digits (check digit added) or 8 with a valid check digitSmall retail packs
UPC-A11 digits (check digit added) or 12 with a valid check digitRetail products, North America
ITF-1413 digits (check digit added) or 14 with a valid check digitCartons and cases
MSIDigitsShelf and warehouse labels

If a barcode does not appear, the value probably does not fit the format. The most common cause is an EAN-13 or UPC value with the wrong number of digits or a wrong check digit. Fix the row, or switch to CODE128, which accepts almost any text.

Printing barcodes on label sheets

The PDF export lays barcodes out on a page for printing. Choose the paper (A4, A3, A5, US Letter or US Legal), portrait or landscape, a common label size or your own, how many labels go across and down, the gap between labels, and how many labels to skip if the sheet is part used. The page picture shows where every label lands before you export.

  • Print at 100% or "actual size". Scaling to fit changes the bar widths and can make barcodes harder to scan.
  • Leave the blank margin around the bars alone. Scanners need that quiet zone to find where a barcode starts and ends.
  • Scan one printed sample with your real scanner before printing hundreds.

Free, private, and honest about the limits

There is no account, fee or watermark, and your list is processed in your browser rather than uploaded. The trade-off is that large batches run on your own device: a list can have up to 1000 codes, and if it slows down you can split it. For more on choosing a format, see barcode formats explained. Related tools: QR code generator for links and text, and bulk certificate generator for name-based documents.

Frequently Asked Questions (FAQ)

Code 128, Code 39, EAN-13, EAN-8, UPC-A, ITF-14, Interleaved 2 of 5, MSI, Codabar and Pharmacode. Code 128 is the best general-purpose choice for SKUs and internal IDs; EAN-13, EAN-8 and UPC are for retail products.
Yes. Save the column as a CSV (Excel: File > Save As > CSV; Google Sheets: File > Download > CSV) and load it, and each row becomes a barcode. A column called caption is printed under the bars. You can also paste one value per line, make a numbered series, or make random codes.
Yes. The print-ready PDF places barcodes on A4, A3, A5, US Letter or US Legal pages. Pick a common label size or your own, set how many go across and down, the gap and copies, and skip labels already used on a part-filled sheet. A picture of each page shows where every label lands. Barcodes are centred in their labels and never stretched.
Retail formats are strict. EAN-13 needs 12 digits (the check digit is added for you) or 13 digits with a valid check digit. UPC needs 11 or 12 digits, and ITF-14 needs 13 or 14. A value that does not fit the format cannot be drawn, so check those rows. CODE39 accepts capital letters, digits and - . space $ / + % only.
A list can have up to 1000 codes, with no account and no fee. Very large batches can be slow in the browser; if that happens, export in smaller groups.
No. Your list is processed in your browser and is not sent to a server.

Have a list of barcodes to make?

Make barcodes