Skip to content

Barcode generator

  • Runs on your device
  • Works offline once loaded

Create barcodes for products, shipping labels, inventory and tickets. Pick a symbology, type the value, choose the bar width, colors and text, and download crisp SVG or PNG. Lines of values become a ZIP of barcodes, and check digits are added for you where the format needs one.

How it works

  1. Choose the barcode type.
  2. Enter one value, or one per line.
  3. Download SVG or PNG, or a ZIP for many.

Why use it

  • Linear, retail and 2D codes including Data Matrix, PDF417 and Aztec.
  • Validation with clear messages.
  • Colors, transparent background and text below.
  • Bulk generation as a ZIP.

Choosing and making the right barcode

Which barcode for which job

JobBarcodeWhy
Inventory, assets, shipping labelsCode 128Any text and digits, compact, read by every scanner
Older industrial and government systemsCode 39Capital letters and digits; very tolerant scanners
Products sold in shopsEAN-13, or UPC-A in North AmericaThe retail standard, with a registered number
BooksISBNAn EAN-13 starting 978 or 979
Cartons and palletsITF-14Prints well on corrugated cardboard
Small parts, electronics, medicineData MatrixHolds a lot in a tiny square
Tickets, boarding passes, ID cardsPDF417 or AztecLarge amounts of text, read by ticket scanners

For links, Wi-Fi logins and contacts that phones should read, a QR code is the better choice: make one with the QR code generator.

Retail barcodes need a registered number

An EAN or UPC barcode is only the picture of a number. To sell in shops and on most marketplaces, that number must come from GS1, the organisation that issues company prefixes, so it is unique worldwide. This generator draws any valid number correctly, including the check digit: type 12 digits for an EAN-13 or 11 for a UPC-A and the last digit is calculated for you. It cannot issue numbers. For your own stock, shelves and internal labels, use Code 128, which needs no registration.

Printing barcodes that scan

  • Keep the quiet zone, the blank margin either side. Scanners need it to find the start and end; it is on by default.
  • Do not shrink below the minimum. The Module width sets the thinnest bar in pixels; for print, download the SVG and scale it in your layout program instead of enlarging a small PNG.
  • Dark bars on a light background. Red bars are invisible to many laser scanners, which use red light. Transparent backgrounds only work on light surfaces.
  • Test with a real scanner or a phone before printing a whole batch. The QR code reader reads all these formats from a photo too.

Many barcodes at once

Type one value per line, up to 300, and every one becomes its own barcode, downloaded together as a ZIP of SVG or PNG files. Useful for a run of asset tags, shelf labels or a set of tickets. For 2D codes, the error correction level, from low to highest, sets how much damage the code can survive at the cost of a larger symbol.

If something goes wrong

  • It reports an invalid value. Each format accepts only certain characters: EAN and UPC only digits, Code 39 only capital letters, digits and a few symbols, Interleaved 2 of 5 an even number of digits. The hint under the type lists them.
  • The check digit is said to be wrong. The last digit of the EAN or UPC you typed does not match. Type the number without it and let the generator add it.
  • A scanner will not read the print. Print larger, keep the quiet zone, and use black on white.

Questions and answers

Which barcode should I use for products?

EAN-13 for worldwide retail, UPC-A in North America. For internal labels, Code 128 is flexible.

Are the codes scannable?

Yes. They are produced by the ZXing encoder, and you can test them with the QR and barcode reader tool.

Do I need to register the numbers?

Retail numbers such as EAN-13 must be assigned by GS1 if you sell products in stores. The tool only draws the code.

Related guides

Data5 min read

QR code error correction and size: L, M, Q and H tested

Higher error correction lets a QR code survive damage, but it also makes the code denser. We generated codes for four common kinds of content at every level and covered them bit by bit until they stopped scanning.

Esc