Symbology

Data

Preview

Enter data above to generate a barcode.

Turn a product code (JAN/EAN) or a tracking number into a barcode, completely free. Four symbologies are supported: EAN-13 (the Japanese JAN code), EAN-8 (a shorter JAN for small items), UPC-A (the US/Canada retail code), and Code 128, which encodes letters, digits and symbols and is ideal for SKUs, tracking numbers and internal IDs. For EAN/UPC you can leave off the trailing check digit (the single digit that detects misreads) and it is calculated and appended for you; if you type the full number, it is validated instead. Adjust the bar width (module px), height, surrounding quiet zone, whether the human-readable text appears below, and the bar and background colors — the preview updates as you type. Export in two formats: SVG (vector), which stays razor-sharp at any print size for product labels, price tags, shipping slips and shelf labels, and PNG (raster), ready to drop into documents and slides. Code 128 automatically packs runs of digits into its high-density mode (Code C), so even long numbers produce a compact barcode. Most online barcode generators send your number to a server to render the image, but this tool performs the entire encoding — check-digit calculation and bar-pattern generation — inside your browser. That means you can safely encode part numbers, stock IDs or shipping reference numbers you'd rather not expose: nothing is uploaded, stored or sent to a server.

How to use

  1. Pick a symbology (EAN-13/JAN, EAN-8, UPC-A or Code 128) and type your numbers or text into the input box. Use "Sample" to try an example.
  2. For EAN/UPC you can omit the check digit and it is calculated for you. Adjust bar width, height, quiet zone, text and colors as needed — the preview updates instantly.
  3. Click "Download PNG" or "Download SVG" to save it. Nothing you enter is sent anywhere.

FAQ

Is the number or text I enter sent to a server?

No. The whole barcode generation — check-digit calculation and bar-pattern encoding — runs in your browser with JavaScript. Your number or text is never uploaded, stored, or sent to a server, so it's safe to encode part numbers or internal IDs.

Do I have to calculate the check digit myself?

No. Enter 12 digits for EAN-13/JAN, 7 for EAN-8, or 11 for UPC-A, and the trailing check digit (the digit that detects misreads) is calculated and appended automatically. If you type the full number (13/8/12 digits), it is validated, and if the check digit is wrong the correct value is shown.

Are EAN-13 and JAN codes different?

They are the same thing. JAN (Japanese Article Number) is the name used in Japan, but the standard is identical to the international EAN-13. Japanese product codes begin with 45 or 49. The EAN-13/JAN option here generates JAN codes directly.

What can I encode with Code 128?

Any printable ASCII characters — uppercase and lowercase letters, digits and symbols. It is ideal for SKUs, tracking numbers, lot numbers and internal stock IDs. Runs of digits are automatically packed into high-density mode (Code C), so long numbers still produce a compact barcode.

When should I use PNG vs SVG?

SVG is a vector format, so it stays perfectly crisp at any size — ideal for printed price tags, product labels, shipping slips and shelf labels where scan reliability matters. PNG is a ready-to-use image, best for documents, slides and web pages.

Why is the quiet zone (margin) needed?

A barcode needs a clear margin (quiet zone) on its left and right, otherwise a scanner may fail to detect where the bars begin and end. The tool keeps a sufficient margin by default. When placing the code on a label, avoid crowding text or borders right up against the bars.

My printed barcode won't scan — what should I check?

Increase the bar width for higher resolution, keep a generous quiet zone, set the foreground (bars) to black and the background to white for maximum contrast, and print from the SVG to avoid blur when scaling. For EAN/UPC, also confirm the digit count and check digit are correct.