Barcode Generator
Generate barcodes from text and numbers. Supports Code 128 (alphanumeric), EAN-13 (retail), and UPC-A (US retail). Customize size and colors, then download as PNG. Everything runs in your browser.
Code 128
Encodes all 128 ASCII characters. Used in shipping labels, inventory management, and logistics. Variable length.
Input: ASCII 32-126EAN-13
International standard for retail products. 13 digits including check digit. Used worldwide except North America.
Input: 12-13 digitsUPC-A
Standard barcode for retail products in the United States and Canada. 12 digits including check digit.
Input: 11-12 digitsRelated Tools
Frequently Asked Questions
What is the difference between Code 128, EAN-13, and UPC-A?
Code 128 is a versatile barcode that encodes any ASCII character and is commonly used in logistics and shipping. EAN-13 is the international standard for retail products, encoding 13 digits. UPC-A is the North American retail standard, encoding 12 digits. EAN-13 is a superset of UPC-A (a UPC-A code is an EAN-13 with a leading zero).
What is a check digit?
A check digit is the last digit of EAN-13 and UPC-A barcodes, calculated from the other digits using a weighted sum algorithm. It helps scanners detect read errors. This tool automatically calculates the check digit if you provide only the data digits (12 for EAN-13, 11 for UPC-A).
Can I scan these barcodes with a real scanner?
Yes. The barcodes generated by this tool follow the official encoding standards and can be read by any standard barcode scanner. For best results, download at a larger size and ensure sufficient contrast between bar and background colors.
Is my data safe?
Yes. All barcode generation happens entirely in your browser using JavaScript and the Canvas API. No data is sent to any server. Your input never leaves your device.