Skip to content
I Hate Online Tools

Barcode generator

Code 128, EAN-13, UPC-A, and Code 39 barcodes — PNG or SVG, offline.

Runs in this tab. The file stays here.

This runs in your browser. Nothing is uploaded.

About Barcode generator

Generate Code 128, EAN-13, UPC-A, or Code 39 barcodes as PNG or SVG — fully offline with JsBarcode.

Barcode encoding tables are easy to get subtly wrong. This page uses JsBarcode in the browser for Code 128 (default), EAN-13, UPC-A, and Code 39, with live validation of character sets and lengths.

Enter 12 digits for EAN-13 or 11 for UPC-A and the mod-10 check digit is appended automatically — the usual product-code workflow. Adjust bar height, module width, and margin, then export PNG or SVG.

QR codes are a different tool under Generate. This page is linear barcodes only.

How to use Barcode generator

  1. 1Choose a symbology and enter the value.
  2. 2Tune height, width, and margin if needed.
  3. 3Download PNG or SVG.

What it won't do

  • Four symbologies in v1.
  • Scanner success still depends on print size and contrast.

Common questions

Why did my 12-digit code become 13 digits?

EAN-13 expects a check digit. When you enter 12 digits, the page computes and appends it.

Does JsBarcode call a network API?

No. Rendering stays in the tab. We reject libraries that fetch remote fonts or telemetry.

Is this a QR code generator?

No — use the QR tool for matrix codes. This page is Code 128 / EAN / UPC / Code 39.

Related tools

Why this one doesn't upload your file

There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation

Install the app