text→bars

Barcode Generator

Make a scannable barcode in the format you need.

Using toolbook means you agree to our Terms and Privacy Policy.

Any text, letters, numbers, and symbols

Data sent from your device
0 bytes sent

Your files stay on your device

How to use it

Pick a barcode type, type your value, and download a scannable barcode as a PNG. Free, no sign-up, and nothing you type leaves your device.

Pick a format, type your value, and the barcode appears instantly. Download it as a PNG for printing or labels.

Not sure which format? Code 128 works for almost anything — letters, numbers, and symbols — so start there. EAN-13 and UPC-A are the barcodes on shop products, and checkout scanners expect them. Code 39 is common on warehouse labels and ID badges.

EAN-13 and UPC-A only take numbers of a set length. The last digit is a check digit that’s worked out for you, so you usually type just the digits before it.

FAQ

Which format should I use?

Code 128 for general use. EAN-13 or UPC-A for shop products. Code 39 if your warehouse or badge system asks for it.

Why does my EAN-13 or UPC-A number show an error?

They need an exact number of digits: 11–12 for UPC-A and 12–13 for EAN-13. The last digit is a check digit that’s calculated for you.

Can anyone else see my barcode value?

No. It’s made on your device and never sent anywhere.

How it worksFor the curious

A 1D barcode encodes data as a sequence of bar widths rather than a 2D grid, which is why each format has strict rules about which characters and lengths it accepts. Code 128 can encode any printable ASCII text. Code 39 supports uppercase letters, digits, and a few symbols.

EAN-13 and UPC-A encode fixed-length numeric product codes. UPC-A takes 11 digits plus a check digit, EAN-13 takes 12 plus a check digit; supply the full code and the check digit is validated, or leave it off and it is calculated.

The barcode is drawn onto a canvas by JsBarcode running in this page, then exported as PNG.

Related tools