🧰 ToolPicoAll Tools →
HomeBlog › Which Barcode Format Should You Use?

Which Barcode Format Should You Use for a Product or Shipping Label?

UPC-A, EAN-13, Code 128, Code 39 — if you've ever stared at a barcode format dropdown and guessed, this guide breaks down which one actually fits a retail product, a shipping carton, or an internal warehouse tag, plus how check digits and file formats work.

In this guide

Retail products: UPC-A vs. EAN-13

Short answer: use UPC-A (12 digits) if you sell in the US or Canada, and EAN-13 (13 digits) for international retail. Both are just barcode patterns — actually selling through a retailer requires a real GTIN issued through GS1.

UPC-A and EAN-13 look almost identical on shelf — a block of vertical bars with a run of digits underneath — and functionally they're the same idea: a manufacturer prefix, a product identifier, and a check digit, all wrapped into a fixed-length number. The difference is regional convention. UPC-A is the default in the United States and Canada; EAN-13 is its international counterpart used almost everywhere else, and it's increasingly common on US shelves too since UPC-A numbers are technically a subset of EAN-13.

For example, a small batch producer packaging jam in 12oz jars might enter an 11-digit UPC-A base number and let the tool append the 12th check digit automatically, or a European import brand might use a 12-digit EAN-13 base and get the 13th digit calculated the same way. Either way, the barcode image itself will render correctly for any digits you type in — the number just won't be tied to your actual product in retail systems unless it's a GTIN you were assigned through GS1 (GS1 US administers UPC-A).

Keep in mind: a barcode generator draws a scannable pattern for whatever number you give it. It does not register, reserve, or verify that number against GS1's database — that's a separate step handled outside any barcode tool.

Shipping, warehouse, and internal tracking

Short answer: for internal serial numbers or logistics, Code 128 is the most flexible (letters + numbers + symbols, no fixed length). Use ITF-14 for shipping cartons, and Code 39 if you're supporting older industrial scanners.

Not every barcode needs to map to a retail GTIN. If you're labeling a warehouse rack, an internal asset, or a batch of shipped cartons, the format choice is about what data you need to encode and what equipment will read it. Code 128 handles the widest range of characters and is the closest thing to a general-purpose barcode — a shipment reference like SHIP-2026-A17 encodes cleanly with no padding or digit-count rules to worry about. When encoding digits only, its Code 128-C variant packs two digits per symbol, producing a shorter, denser barcode.

For a hypothetical example: a small fulfillment operation shipping 12 cartons in a batch might use the tool's sequential mode to generate SHIP-001 through SHIP-012 automatically (prefix, start/end numbers, and zero-padding), rather than typing each one by hand. Outer shipping cartons themselves typically use ITF-14, a 14-digit format built for exactly that packaging layer.

Quick format picks by use case
Use caseFormatNotes
US/Canada retail productUPC-A12 digits, check digit automatic
International retail productEAN-1313 digits, check digit automatic
Small packagingEAN-88 digits, for limited label space
Serial numbers / internal trackingCode 128Letters, numbers, symbols, free length
Shipping cartonsITF-1414 digits, standard for outer packaging
Older industrial scannersCode 39Uppercase + digits, wide compatibility

What a check digit does for you

Short answer: a check digit is a final digit calculated from the digits before it, so scanners can catch a typo or misprint before it causes a checkout error. UPC-A, EAN-13, EAN-8, and ITF-14 all use one, and a good barcode generator adds it automatically.

For UPC-A and EAN-13, the check digit comes from a weighted sum of the odd- and even-position digits, then complemented up to the next multiple of ten. You don't need to calculate this by hand: enter the digits before the check digit (11 for UPC-A, 12 for EAN-13, 7 for EAN-8, 13 for ITF-14) and the correct final digit gets appended for you. This matters because a single wrong digit anywhere in a manually typed barcode number can produce an image that looks fine but fails validation the moment it's scanned at a real point-of-sale system.

PNG or SVG: which download to pick

Short answer: download PNG for label printers, documents, and quick web use; download SVG for packaging, signage, or anything headed to a professional print shop, since vector files never blur when scaled up.

PNG is a rasterized image — fine for most everyday needs, including desktop label printers and pasting into a spreadsheet or Word document. But if a barcode is going onto product packaging or a large sign, a raster image can look soft or pixelated once enlarged. SVG is a vector format: the bars are drawn as mathematical shapes rather than a fixed grid of pixels, so a print shop can scale it to any size and the bars stay perfectly sharp. If you're not sure which a print vendor wants, SVG is the safer default for anything beyond a small on-screen or printer-driven label.

Ready to generate a barcode with an automatic check digit and PNG/SVG download?

Try the free Barcode Generator →

Frequently asked questions

What barcode format should I use for a retail product?
Use UPC-A if you sell in the United States or Canada, or EAN-13 for international retail. Both need a valid GTIN issued through GS1 to actually scan at a real retailer's checkout — a barcode generator can draw the pattern, but it can't issue you a legitimate product number.
Can I make up my own UPC-A or EAN-13 number?
You can generate a barcode image for any digits you enter, and the tool will calculate a valid check digit automatically. But for the barcode to work at an actual store's point-of-sale system, the number itself must be a real GTIN assigned to you through GS1 (GS1 US for UPC-A). A self-invented number will scan and decode fine, it just won't be recognized as your product in retail databases.
What is a barcode check digit and why does it matter?
The check digit is the final digit of formats like UPC-A, EAN-13, EAN-8, and ITF-14, calculated from the digits before it using a fixed weighted formula. Scanners use it to catch a misprint or misread before the wrong number gets used at checkout. A barcode generator that adds this digit automatically removes the risk of shipping a barcode that fails validation.
Should I download my barcode as PNG or SVG?
Use PNG for label printers, spreadsheets, documents, and quick web use — it's a ready-made image that opens everywhere. Use SVG for packaging, signage, or anything going to a professional print shop, since a vector file stays crisp at any size instead of blurring when scaled up.
What format should I use for shipping labels or warehouse tracking instead of retail?
For internal serial numbers, shipment tracking, or warehouse and logistics labels, Code 128 is the most flexible choice because it encodes letters, numbers, and symbols with no fixed length. Code 39 is common for older industrial scanners, and ITF-14 is the standard for shipping cartons and outer packaging.

Related guides

A note on this guide: the examples above (like a "12-carton batch" or a "small jam producer") are illustrative scenarios, not records of real transactions. This article is for general informational purposes and isn't legal, retail-compliance, or GS1 registration advice — confirm GTIN requirements directly with GS1 or your retailer before shipping real inventory.