In my five years on an Amazon receiving dock, I rejected at least a hundred products because the barcode was the wrong size or placed in a bad spot. The product was fine. The packaging was fine. But if the barcode doesn't scan on the first attempt, every time, at conveyor-belt speed — the product doesn't enter the building. This is not a theoretical concern. It will happen to your product if the barcode isn't sized and placed correctly.
GS1 specifies a "nominal" UPC-A size of 1.469 inches wide by 1.02 inches tall (37.3mm × 25.9mm). This is called 100% magnification. The barcode bars themselves are 0.81 inches tall (20.6mm), with the human-readable numbers taking up the remaining height.
GS1 allows magnification between 80% and 200% of nominal size. GS1 General Specifications, Release 24, section 5.3.2.4 specifies that the minimum bar height for general distribution is 80% of nominal (0.65 inches / 16.5mm). Below that, the scanner's laser line can miss bars entirely if the product isn't perfectly aligned — which, on a moving conveyor belt at 600 feet per minute, it won't be.
I recommend 100% magnification as the default. Go smaller only if your packaging physically cannot fit the standard size, and never go below 80%.
Amazon FBA: Amazon requires barcodes to be scannable 24 inches from the package surface. That means a handheld scanner at arm's reach must get a clean read. Practically, this means minimum 100% magnification on a matte white label with no reflective coating. Amazon's FBA Packaging Requirements page also specifies that barcodes must not be placed over a seam, fold, or curve — the barcode surface must be flat. A 2019 compliance enforcement push from Amazon led to widespread label rejections for this exact issue.
Walmart: Walmart's supplier guidelines reference GS1 standards directly, meaning 100% magnification nominal with allowances for 80-200%. Walmart's receiving systems use omnidirectional scanners that are more forgiving than Amazon's handhelds, but their compliance checks are automated — if your barcode print quality falls below a certain ANSI grade (typically C or below), it gets flagged in their system even if it scans successfully. I've heard from suppliers who passed manual checks but failed Walmart's automated scan tunnel.
Target: Similar to Walmart — GS1 standard with a minimum of 80% magnification. Target's vendor compliance manual adds a placement requirement: barcode must be on the back of the product, bottom right corner, at least 8mm from any edge. I've seen products rejected at Target for having the barcode 5mm from the edge, which is less than half the GS1 quiet zone requirement.
The barcode should be placed on a flat surface, not over a curved edge, seam, or corner. For rectangular boxes, put it on the largest flat face. Avoid the bottom of the package if the product sits on shelves — the scanner operator shouldn't have to lift the product to find the barcode.
For cylindrical products (bottles, cans), the barcode should run vertically (bars parallel to the curve) so the scanner reads across the curve rather than along it. A horizontal barcode on a round surface curves away from the scanner's line of sight. I learned this the hard way with a beverage brand whose horizontal barcodes curved around their bottles and failed at point of sale.
For poly bags and flexible packaging: use a label. Don't print directly on flexible material — the distortion when the bag is filled makes the bars uneven. I've seen direct-printed barcodes on poly bags that looked fine empty but warped into unscannable shapes when filled with product.