Labelling stock, shelves, or products and need a barcode a real scanner will read? This free barcode generator draws standard retail and warehouse barcodes — Code 128 for your own SKUs, EAN-13 for retail packs, UPC-A for North America, and Code 39 for rugged legacy scanners — ready to print and download. Everything runs in your browser, so nothing is uploaded and no signup is needed.

How to use this barcode generator

Three quick steps — no signup, no cost.

1Pick a symbology

Choose Code 128 for internal codes, EAN-13 for retail, UPC-A for US and Canada, or Code 39 for legacy scanners.

2Enter your code

Type the digits or SKU. EAN and UPC check digits are calculated for you; invalid characters are rejected with a plain message.

3Download and print

Download the barcode as PNG or SVG, print it at full size, and test-scan it before a big print run. That is all.

Why this barcode generator uses standard symbologies

A barcode is only useful if a scanner at the other end can read it.

Code 128 for your own codes

The densest common 1D format: full ASCII letters, digits, and symbols, any length — ideal for SKUs, bins, and asset tags.

EAN-13 and UPC-A for retail

13 digits internationally, 12 in the US and Canada — the formats tills and retail scanners already expect.

Check digits handled

The final digit of EAN and UPC codes is a check digit computed from the rest, so a mistyped number is caught instead of printed.

Private by design

Your codes never leave your device, because the barcode is drawn entirely in your browser.

Which barcode do you actually need — and one warning about retail numbers

Pick by where the code will be scanned, not by how it looks.

Internal tracking: Code 128. For your own SKUs, shelf locations, job numbers, and asset tags, Code 128 needs no registration at all — generate it and use it immediately. Keep codes reasonably short, since the symbol gets wider with every character.

Retail packs: EAN-13 or UPC-A. EAN-13 (13 digits) is the global retail standard; UPC-A (12 digits) is its North American equivalent, and most scanners read both. EAN-8 exists for very small packs where 13 digits will not fit.

Legacy scanners: Code 39. Older, less dense, but readable by virtually every legacy scanner — still common in defence, automotive, and healthcare logistics.

The GS1 warning. A genuine retail EAN-13 or UPC-A number requires a registered manufacturer prefix issued by GS1. This tool draws the barcode image from whatever number you provide — it does not issue a globally unique product number, and a made-up retail number will not be valid for sale in stores. For in-store-only use, GS1 reserves EAN-13 prefixes 20–29; such a code scans at your own till but is not a retail product number.

Barcode Generator FAQs

Short, direct answers to the questions readers ask most.

A barcode is one-dimensional — parallel lines read in one direction, holding a short number or code. A QR code is two-dimensional, holds far more data including full URLs, and is read by a phone camera. Use barcodes for retail and inventory; QR codes for links and rich data.

It draws a correctly formed barcode image with a valid check digit, but a genuine retail number also needs a registered GS1 prefix. Without one, the code is fine for your own till and stock system, not for sale in other stores.

Code 128. It encodes letters, digits, and symbols at any length with the highest density of any common 1D format, and needs no registration.

Most likely the length or the check digit: EAN-13 needs exactly 13 digits, and the last digit must match the value computed from the other twelve. Enter the first 12 digits and let the tool compute the check digit for you.

No — not in these 1D formats. Code 128 covers ASCII; for non-Latin scripts or emoji, use a QR code instead.

Yes. It runs entirely in your browser — no account, no signup, and nothing uploaded.