BizTechLab

IDEASINNOVATIONIMPACT

Image & Media

Barcode Generator

Generate Code 128, EAN-13, EAN-8, UPC-A, Code 39, and ITF-14 barcodes, with automatic check-digit calculation. Runs entirely in your browser; nothing you type is ever sent anywhere.

Text to Encode

Any text — letters, digits, and most symbols.

Enter text to encode to generate a barcode.

Quick Learn

A barcode encodes text as a pattern of bars and spaces, using a scheme (a "symbology") that defines exactly how each character maps to a bar pattern. Different symbologies exist for different jobs: Code 128 is a general-purpose symbology that can encode almost any text, while EAN-13, EAN-8, and UPC-A are the retail symbologies printed on product packaging worldwide, built around a fixed digit count and a check digit that lets a scanner catch a misread.

That check digit is computed from the other digits using a fixed formula — this tool adds it automatically when you provide one digit fewer than the format needs, the same way most retail systems generate a new product barcode. Everything is drawn to a canvas entirely in your browser; nothing you type is sent anywhere.

Best Practices

  • Use Code 128 for anything that isn't a retail product — it accepts almost any text and doesn't require a specific digit count or check digit.
  • For EAN-13/EAN-8/UPC-A, enter one digit fewer than the full length (12 for EAN-13, 7 for EAN-8, 11 for UPC-A) and let this tool compute the check digit — hand-calculating it is easy to get wrong.
  • Keep bar color dark and background light for reliable scanning, the same principle as QR codes — a low-contrast or inverted barcode can fail to scan even though it renders fine on screen.
  • Test a printed barcode with an actual scanner or phone camera app before relying on it at scale — screen rendering doesn't guarantee real-world scan reliability at a given print size.

More Image & Media Tools

See all Image & Media tools

Frequently Asked Questions

No. The barcode is drawn entirely in your browser onto a canvas element — nothing you type is sent to a server or stored anywhere.

Want the engineering deep-dives behind tools like this one?