ToolGenie

Barcode Generator

Create EAN, UPC, Code 128 and 8 more formats — single or in bulk.

Loading tool…

How to use Barcode Generator

  1. Type the content — text for Code 128/39, digits for EAN, UPC and ITF-14. For many codes, switch to Batch (one per line) or Sequence (prefix + numbers).

  2. Pick the format; the check digit is added for EAN/UPC/ITF-14 and invalid content is explained immediately.

  3. Adjust bar height and width, colours, quiet zone and whether the number shows under the bars.

  4. Download PNG (up to 4× resolution) or vector SVG, copy the image, print it, or get the whole batch as a ZIP.

Which barcode format a barcode generator should give you

The format is decided by whoever will scan the code, not by preference. Code 128 encodes any text — letters, digits, dashes — and is the safe default for internal use: inventory, asset tags, folders, membership cards. EAN-13 and EAN-8 are the retail formats used across Europe and internationally, UPC-A the North American one; all three are strictly numeric, demand an exact digit count and end in a check digit that has to be right. Code 39 and ITF-14 round out the list for legacy industrial systems and shipping cartons.

The check digit is where hand-made retail barcodes usually go wrong, so here it is handled for you: type the first 12 digits of an EAN-13 (or 7 of an EAN-8, or 11 of a UPC-A) and the final digit is computed automatically; paste all 13 and it is validated instead. Invalid content is flagged the moment you type it — before you print a thousand labels no scanner will accept.

PNG or SVG — getting a barcode that actually scans

A barcode is precision geometry: scanners read the relative widths of the bars, and a bar blurred by rescaling is a code that fails at the till. That is why SVG is the right download for anything headed to print — it is vector, so the bars stay mathematically exact at every size, from a shelf label to a poster. PNG is right for screens and documents where the code will not be resized.

Before downloading you can set the bar height and choose whether the human-readable number prints under the bars — worth turning off when the label is tiny or the destination system prints its own. The preview updates live with every change and every keystroke, so what you download is exactly what you saw, already validated.

  • Code 128 → any text; the default for internal labels
  • EAN-13 / EAN-8 → retail, Europe and international; check digit computed
  • UPC-A → retail, North America
  • Code 39 / ITF-14 → legacy systems and shipping cartons

Free means no watermark, no account, and no logged contents

Every step runs inside your browser, using the WebAssembly and Canvas APIs your device already ships with. No file is uploaded, no copy is kept, and nothing sits in a queue on a server waiting to be deleted — which is also why the tool keeps working with the network disconnected.

That matters more for barcodes than it first appears, because what people encode is internal by nature — SKUs, serial numbers, warehouse locations. None of that should sit in a third party's logs just because you printed a label. Watermarked and signup-gated "free" generators exist because they generate server-side; with no server in the loop there is nothing to meter, so there is no toll. That is also why bulk is free: Batch mode takes one value per line, Sequence mode builds numbered runs from a prefix, and either downloads a ZIP of PNGs with a CSV manifest — up to 500 codes at a time, none of them logged anywhere.

Frequently Asked Questions

Which format should I use?

Code 128 encodes any text and is the safe default. EAN-13/EAN-8 and UPC-A are the retail formats — they require the exact number of digits and a valid check digit (computed automatically from 12/7/11 digits).

Why does it say my content is invalid?

Numeric formats are strict: EAN-13 needs 12–13 digits, EAN-8 needs 7–8, UPC-A needs 11–12. The message tells you exactly what is missing — and if the check digit is wrong, what it should be. Switch to Code 128 if you need letters or arbitrary text.

PNG or SVG for printing labels?

SVG — it's vector, so bars stay razor sharp at any print size. PNG is fine for screens and documents; pick 3× or 4× resolution if it will be printed.

Can I use these barcodes to sell products in stores?

The graphic is a standard EAN or UPC that any scanner reads, but the number itself must be officially assigned to your product by GS1. This tool renders a barcode from your number; it cannot assign you a new one.

How do I print barcode labels that scan reliably?

Download SVG so the bars stay exact at print size, keep black bars on a white background, and leave the quiet zone — the blank margin either side — untouched. Test one printed label with a scanner before running the full batch.

Can I make many barcodes at once?

Yes. Switch to Batch and paste one value per line — up to 500 — or to Sequence to generate numbered labels from a prefix and a start number. Every entry is validated, invalid ones are listed and skipped, and the download is a ZIP of PNGs with a CSV manifest matching each file to its content.

Is what I type into the barcode sent anywhere?

No. The barcode is rendered entirely in your browser, so SKUs, serials and any other content never leave your device.

Related tools

Looking for something else? Browse all generators.