Barcode Generator — CODE128, EAN-13, UPC & More

Generate barcodes in CODE128, EAN-13, UPC, CODE39 or ITF-14 formats. Type a value, toggle the caption, and download as SVG or PNG — created entirely in your browser.

🔒 Runs entirely in your browser. Your input and output are never sent to a server or stored — fully private.

Did this tool help? Tap to react

About this tool

Type any text or number, choose a symbology — CODE128, EAN-13, UPC, CODE39 or ITF-14 — and this generator draws a scannable barcode on the spot. Download it as a crisp SVG for print or a ready-to-use PNG for the web, then drop it into a label, package or document. It is handy for retail products, inventory, asset tags and shipping. The barcode is rendered entirely in your browser, so the data you encode is never uploaded.

Frequently asked questions

Which barcode type should I choose?

It depends on where the barcode will be scanned. EAN-13 is the standard for retail products sold worldwide, while UPC is its North American counterpart. CODE128 is the best all-rounder for general use — shipping labels, internal tracking and anything with letters and numbers. CODE39 is an older alphanumeric format still common on ID badges and in some industries, and ITF-14 is used on shipping cartons and cases.

Why does my EAN-13 or UPC barcode show an error?

These retail symbologies accept digits only and require an exact length: EAN-13 needs 12 or 13 digits, and UPC-A needs 11 or 12. When you supply the shorter count, the final check digit is calculated automatically; entering letters, the wrong number of digits, or a bad check digit triggers the error. If your data has letters or varies in length, use CODE128 instead, which handles full text.

Should I download SVG or PNG, and is my data kept private?

Choose SVG when you need crisp printing at any size, since it is a vector and never blurs when scaled — ideal for labels and packaging. Choose PNG for a quick image to drop into a website, email or document. Either way, the barcode is generated entirely in your browser, so the text or product code you encode is never uploaded to a server.