Generate CODE 128, EAN-13, UPC and Other Barcodes

Type the data, pick a symbology, and download a print-ready barcode as a PNG.

About the Barcode Generator

Five formats are available, and the right one depends entirely on what the code is for. CODE 128 accepts any text and is the general-purpose choice for internal asset tags, shelf labels and job numbers. EAN-13 and UPC-A are the retail symbologies used on products sold through shops, and both expect a specific digit count. CODE 39 is common in industrial and identity settings, and ITF-14 is used on outer cases and cartons.

There is no file to add — you type the data directly. Bar height is set in pixels, starting at 100, and a checkbox controls whether the human-readable value is printed beneath the bars, which most retail and logistics uses require. If the data does not satisfy the rules of the format you picked, the tool refuses and tells you to check the digit count and characters rather than producing a barcode that no scanner will accept. Codes are drawn in your browser, so the numbers you encode are not disclosed to anyone.

Key Features

  • Five symbologies: CODE 128 for arbitrary text, EAN-13 and UPC-A for retail, CODE 39 for industrial use, and ITF-14 for shipping cartons.
  • Validation before output: Data that breaks the chosen format's rules produces a clear error instead of an unscannable image.
  • Adjustable bar height: Set the height in pixels to suit a small shelf label or a large carton marking.
  • Optional readable value: The encoded value can be printed beneath the bars, which retail and warehouse processes usually require.
  • PNG at print quality: The barcode is exported as a PNG with a white quiet zone already applied around it.

How to Use the Barcode Generator

  1. Type or paste the data you want encoded.
  2. Choose the symbology — CODE 128 if you are not working to an external standard.
  3. Set the bar height and decide whether the value should print below the bars.
  4. Generate and download the PNG.

How It Works

Barcodes are rendered by the JsBarcode library, served from /assets/vendor/js/JsBarcode.all.min.js, onto a canvas that is then exported as PNG. The bars are drawn in a dark navy on white with a margin around them, which provides the quiet zone scanners need to find the symbol. Format rules are enforced by the library rather than guessed at: EAN-13 expects twelve or thirteen digits and calculates the check digit for you, UPC-A expects eleven or twelve, and ITF-14 expects thirteen or fourteen, while CODE 128 will encode arbitrary characters. Colours and the exact typeface are fixed rather than adjustable, because deviating from dark-on-white is one of the most common reasons a printed barcode fails to read.

When You Need It

An independent bookshop pricing up a secondhand intake gives every item an internal stock number and needs a scannable label for the till system. CODE 128 handles the shop's own numbering scheme without any registration or allocation. Those codes map directly onto the shop's stock records and margins, and typing a full internal numbering series into an external generator hands a competitor-useful picture of the inventory to whoever runs that site. Warehouse teams labelling shelf locations and workshops tagging tools and equipment generate codes for the same internal purposes.

FAQ

Frequently Asked Questions

Which barcode format should I use?
If the code is only for your own systems, use CODE 128 — it takes any text and is widely readable. EAN-13 and UPC-A are only appropriate for products being sold through retail, and require a properly allocated number.
Why does it reject my EAN-13 number?
That format expects twelve or thirteen digits and nothing else. A number of the wrong length, or one containing letters, spaces or hyphens, cannot be encoded, so the tool stops rather than producing an invalid symbol.
Do I need to include the check digit?
Not for EAN-13 — supply twelve digits and the final check digit is calculated for you. If you provide thirteen it will validate the one you gave.
Can I change the bar colour to match our branding?
No, and that is deliberate. Scanners rely on strong dark-on-light contrast, and coloured or low-contrast bars are a frequent cause of labels that will not read at the till.
Are the numbers I type recorded anywhere?
They are not. The barcode is drawn by a script running in your browser, so internal stock codes, asset numbers and serials are never transmitted or logged.