Barcode Generator

Create scannable 1D barcodes from any text in Code 128, EAN-13, UPC-A, Code 39, or ITF, tune the bar width and height, toggle the printed value, then download a PNG image.

Loading tool…

Barcode GeneratorTurn a product number, SKU, or label text into a real, scannable 1D barcode right in your browser. Choose the symbology, set the bar width and height, decide whether the human-readable value prints underneath, and download a crisp PNG. Everything is rendered locally, so the codes and numbers you type are never uploaded to a server.

What is Barcode Generator?

The Barcode Generator is a free online tool that converts text and numbers into standard one-dimensional barcodes for retail labels, inventory tags, shipping cartons, asset stickers, and library spines. Pick from Code 128 for general-purpose alphanumeric data, EAN-13 and UPC-A for retail product codes, Code 39 for industrial and ID badges, or ITF for cartons and logistics. Each symbology has its own rules, so EAN-13 expects 12 or 13 digits, UPC-A expects 11 or 12 digits, and ITF needs an even number of digits; the tool validates your input and warns you when it does not fit. You can set the bar (module) width and the bar height in pixels, and choose whether to show the printed value below the bars. The preview updates automatically as you type, you can click it to enlarge, and a single Download PNG button saves a ready-to-print image. Because the barcode is drawn entirely in your browser with a client-side library, it works offline and your data stays on your device.

How to use Barcode Generator

  1. Type the text or number you want to encode into the value field.
  2. Choose a symbology: Code 128, EAN-13, UPC-A, Code 39, or ITF.
  3. Adjust the bar width and height in pixels to fit your label.
  4. Open Settings to turn the printed human-readable value on or off.
  5. Watch the preview update, click it to enlarge and check it scans, then click Download PNG.

Examples

Retail product EAN-13

Input

5901234123457

Output

A 13-digit EAN-13 barcode with the checked number printed below, ready to drop onto product packaging.

Warehouse SKU in Code 128

Input

SKU-AB-00921

Output

A compact Code 128 barcode that encodes letters, digits, and the dash for an internal inventory label.

Shipping carton in ITF

Input

00123456789012

Output

An Interleaved 2 of 5 (ITF) barcode for an even number of digits, used on outer cartons and logistics labels.

Frequently asked questions

Which barcode formats are supported?
Five common 1D symbologies: Code 128 (alphanumeric, general purpose), EAN-13 and UPC-A (retail product codes), Code 39 (industrial and ID), and ITF / Interleaved 2 of 5 (cartons and logistics). Pick the one your scanner or supplier expects.
Why does it say my input is invalid?
Each format has strict rules. EAN-13 needs 12 or 13 digits, UPC-A needs 11 or 12 digits, ITF needs an even count of digits, and Code 39 / Code 128 only accept characters in their character set. If the value does not match, the preview clears and a notice appears, so adjust the text or switch formats.
Can I control the size of the barcode?
Yes. The bar width sets how thick each module (the thinnest bar) is, and the bar height sets how tall the bars are, both in pixels. Wider modules scan more reliably from a distance; taller bars help omnidirectional scanners. Both update the preview and the downloaded PNG.
What does the printed value toggle do?
It shows or hides the human-readable text below the bars. Retail codes usually print it so people can read the number, while small asset tags sometimes hide it to save space. Turn it on or off in Settings.
Is my data sent to a server?
No. The barcode is generated entirely in your browser with a client-side library. The text and numbers you encode are never uploaded, so the tool works offline and your data stays private.

Related tools