Selling online involves more barcode decisions than most first-time sellers expect: a product listing barcode is not the same thing as a shipping label barcode, and mixing the two up is one of the more common sources of rejected listings and misrouted packages.
Product listing barcodes: EAN-13 / UPC-A
If you're listing a physical product on a marketplace that validates barcodes, you'll typically need an EAN-13 or UPC-A number tied to a registered GTIN. This is the number a shopper's receipt scan and the marketplace's own catalog systems key off of. Our GS1 guide covers when you actually need an officially registered number versus when an internally consistent number is enough — it depends entirely on which channel you're selling through.
Internal SKUs: CODE128
Separately from any public-facing product barcode, most sellers also want an internal SKU code for their own inventory system — tracking stock levels, bin locations, or reorder points. This code never needs to be a registered GTIN, since it's only ever read by your own systems. CODE128 is the natural choice here because it accepts letters, numbers and symbols, so you can encode a human-readable SKU like "TSHIRT-BLU-L" directly rather than being restricted to a numeric-only format.
Shipping labels: it depends on the carrier
Shipping carriers generate their own tracking barcodes as part of the label creation process — you typically don't create these yourself. What you do control is the product-level barcode on the packaging itself (if any) and, for bulk shipments, case or carton codes. ITF-14 remains the standard here for cartons, chosen specifically because it tolerates the lower print quality typical of corrugated cardboard printed directly rather than on a label.
QR codes in the shipping and post-purchase flow
QR codes have become common in the post-purchase experience even though they don't replace the carrier's own tracking barcode: a QR code on a packing slip linking to a returns portal, a "leave a review" QR on an insert card, or a warranty-registration QR on the product itself. Since these are aimed at a customer's phone rather than a warehouse scanner, QR is the right format, and payload type matters — a direct link is almost always better than plain text, since it opens immediately rather than requiring the customer to copy anything.
A practical checklist before your first print run
- Confirm whether your sales channel actually validates GTIN registration, or just requires "a" barcode — this changes whether you need to register with GS1 at all.
- Keep internal SKUs and public product barcodes as two clearly separate systems, even if you print them on the same label.
- Generate a test batch and scan it with our own scanner tool before committing to a full print run.
- For any barcode that will be printed at a small size, review our printing guide first — sizing mistakes are the single most common cause of failed scans on packaging.
- If you're generating more than a handful of codes, use the bulk generator from a CSV export of your catalog rather than creating codes one at a time.
The short version
Treat product identity (EAN-13/UPC-A), internal tracking (CODE128), carton-level codes (ITF-14) and customer-facing links (QR) as four separate jobs, even though they might all end up printed on packaging that ships out the same day. Trying to make one code serve two of these purposes is usually where problems start.