Free Tool

Barcode Generator

Generate scannable Code128, EAN-13, UPC-A and Code39 barcodes with valid check digits, for packaging, warehouse labels and internal SKUs.

Encoded entirely in your browser — no data ever leaves your device.
This generates a scannable barcode symbol from a number you provide. It is not an officially licensed UPC/GTIN — retail marketplace listing requires registering with GS1.

Symbology & Code

Accepts letters, numbers, and common punctuation.

Customize

80px
Below ~30px, this barcode risks becoming unscannable when printed small.
Quiet zone margin
Show human-readable text
Enter a code to generate a barcode.

Advanced: Bulk Generate a ZIP

One code per line, as label,code or a bare code. Uses the current symbology and customization settings above.

Now Get Those Products Selling

Spend less time on manual content creation. VidyBack auto-generates and schedules product videos straight from your Shopify catalog, so every labeled SKU gets seen, not just scanned.

See How VidyBack Works

UPC-A vs. EAN-13 vs. Code128: Which One Do You Need?

UPC-A (12 digits) is the US and Canada retail standard. EAN-13 (13 digits) is the international equivalent used across most of the rest of the world, and is technically a superset that can represent every UPC-A code with a leading zero. If you're listing on Amazon or another marketplace that requires a GTIN, you'll need one of these two, backed by an officially registered number (see below). Code128 is a flexible general-purpose format that accepts letters, numbers, and symbols, which makes it the better choice for internal warehouse or fulfillment labels where you control both the label and the scanner, and don't need to conform to a retail standard. Code39 is an older, simpler alphanumeric format still common in some warehouse and inventory systems.

What a Check Digit Is, and Why It Matters

The last digit of a UPC-A or EAN-13 code isn't part of the product number, it's a check digit calculated from the digits before it using a fixed formula. When a scanner reads the barcode, it recalculates that digit and rejects the scan if it doesn't match. This is what catches a smudged bar, a printing defect, or a typo before bad data reaches your inventory system, rather than silently recording the wrong product. This tool calculates and validates the check digit automatically, and will tell you exactly what it should be if you enter one that doesn't match.

Minimum Print Size for Reliable Scanning

Print at 300 DPI or higher, and keep the narrowest bar at least 0.010in (0.254mm) wide, standard guidance for retail barcode scanners. As a rule of thumb, avoid shrinking a Code128 or EAN-13 barcode below about 1 inch (2.5cm) wide, and test-scan a printed sample with the same scanner or app your team will actually use before committing to a full print run.

Frequently Asked Questions

What's the difference between a UPC and a barcode?

A barcode is the general term for the scannable pattern of bars and spaces. UPC (Universal Product Code) is one specific barcode format, standardized as UPC-A, widely used for retail products in the US and Canada. Other common barcode formats include EAN-13 (the international equivalent) and Code128 (a flexible general-purpose format used for internal labels).

Can I generate my own UPC codes for free?

This tool generates a scannable UPC-A symbol with a valid check digit from any 11 or 12 digit number you provide, which works for internal labeling, warehouse use, and testing. However, an officially licensed UPC number for retail sale or marketplace listing (like Amazon) requires registering a GTIN with GS1. A self-generated barcode is not the same as an officially assigned UPC, and major marketplaces can reject unlicensed codes.

What is a check digit and why does it matter?

A check digit is a final digit calculated from the other digits in a code using a fixed formula. Scanners recalculate it after reading a barcode and reject the scan if it doesn't match, which catches printing defects, smudges, or typos before bad data ever reaches your inventory system. EAN-13 and UPC-A both require a valid check digit to scan correctly.

What's the difference between EAN-13 and UPC-A?

EAN-13 (13 digits) is the international retail barcode standard used across Europe and most of the world. UPC-A (12 digits) is the US and Canada retail standard, and is technically a subset of EAN-13 with an implied leading zero. Most modern scanners read both formats interchangeably.