BARCODE GENERATOR
Generate barcodes in Code 39, Code 128B, EAN-13, and UPC-A formats. Download as SVG, PNG, or JPG — nothing is uploaded.
A–Z · 0–9 · - $ / + % · space
Choose a format, enter data, and click Generate.
How to generate a barcode
- 1
Choose a format: Code 39 for inventory labels, Code 128B for full ASCII text, EAN-13 for retail products (13 digits), or UPC-A for North American retail (12 digits).
- 2
Enter the data to encode. For EAN-13 and UPC-A you can enter 12/11 digits and the check digit will be calculated automatically.
- 3
Click Generate to render the barcode with a human-readable label beneath.
- 4
Download as SVG (vector, print-ready), PNG, or JPG (3× resolution for crisp output).
Questions
- Which barcode formats are supported?
- Code 39 (letters, digits, symbols — common in inventory and logistics), Code 128B (all printable ASCII characters — denser than Code 39 for the same data), EAN-13 (13-digit international retail standard), and UPC-A (12-digit North American retail standard). For EAN-13 and UPC-A you can enter 12 or 11 digits respectively and the check digit is calculated and appended for you.
- What is the difference between EAN-13 and UPC-A?
- UPC-A encodes 12 digits and is the standard for retail products in North America. EAN-13 encodes 13 digits and is the international extension — it is backward-compatible with UPC-A (a UPC-A barcode is a valid EAN-13 with a leading zero). Most modern scanners read both.
- Can I use these barcodes commercially?
- Code 39 and Code 128 are open, royalty-free standards. EAN-13 and UPC-A are also open formats, but if you plan to use them on retail products sold in stores you must purchase a GS1 company prefix to get a globally unique number — the barcode format itself is free.
- Is the SVG print-ready?
- Yes. SVG is a vector format, so the barcode will be sharp at any print size. The PNG and JPG downloads are rendered at 3× the display resolution for crisp output at typical label sizes.
- Is anything uploaded to a server?
- No. All barcode generation and image conversion happens entirely in your browser using JavaScript and the Canvas API — nothing is sent to any server.