QOhMyQR

Barcode Generator

CODE128, CODE39, EAN-13, EAN-8, UPC, and ITF-14. Live preview, PNG and SVG export.

Choosing the right barcode format

  • CODE128 — high density, supports all 128 ASCII characters. Default for shipping labels and asset tags.
  • CODE39 — older standard, accepts uppercase letters, digits, and a few symbols. Common in industrial settings.
  • EAN-13 — 13 digits. Required for retail products with an assigned GTIN. Last digit is a check digit (calculated automatically by the library).
  • EAN-8 — 8-digit short version of EAN-13 for small packages.
  • UPC — 12 digits, used for retail in North America.
  • ITF-14 — 14 digits, used for shipping cartons and case-level tracking.

How to use the barcode generator

  1. Pick the format your downstream system expects.
  2. Type the value. Validation is enforced automatically — invalid inputs show an error.
  3. Adjust line color, height, and font size if you need to match a label template.
  4. Download the PNG or SVG.

Print quality tips

Always print barcodes in pure black on a white background — colored barcodes confuse many laser scanners. Maintain at least a 10× module quiet zone on either side. Test the actual print at the production size with the actual scanner before mass producing anything (especially EAN/UPC, where the check digit and X-dimension are strict).

FAQ

Are barcodes free to use? The symbology is free. EAN/UPC numbers themselves are issued by GS1 and require registration if you want them recognized in retail.

Can I encode a URL in a barcode? Use CODE128, but a QR code is far better for URLs.

Why does my EAN-13 fail? EAN-13 requires exactly 12 or 13 digits. If you supply 12, the library appends the check digit; if you supply 13, the last digit must be the correct check digit.

Is the value transmitted anywhere? No. Barcodes are rendered locally with JsBarcode running in your browser.

Part of the OhMy* tools family