Standard UPC-A size
At 100% (“nominal”) size, a UPC-A barcode is 37.29 mm wide × 25.93 mm tall (1.468 in × 1.021 in), counting the blank quiet zones on each side and the digits underneath. You may print it anywhere from 80% (29.83 mm × 20.74 mm) to 200% (74.58 mm × 51.86 mm), as long as width and height change together.
Barcode sizes are measured from one number: the X-dimension, the width of the narrowest bar. At 100% it is 0.330 mm (13.0 mils, where a mil is a thousandth of an inch). Every other measurement is a fixed multiple of it, which is why you can't stretch a barcode in one direction only. These figures come from the GS1 General Specifications (Release 26.0, January 2026, Table 5-44), checked as of November 2026, and they are the same numbers our generator uses to draw every label.
- Quiet zones. Blank space of 9 bar widths each side (2.97 mm at 100%). Nothing may print here.
- Guard bars. The left, centre and right pairs (outlined) tell the scanner where the code starts, splits and ends. They run 5 bar widths lower than the rest.
- First digit, printed left of the bars. It is the start of the GS1 company prefix.
- Ten middle digits in two groups of five: the rest of the company prefix and the item reference.
- Check digit, printed right of the bars. It is calculated from the other 11 and catches typing errors.
UPC size chart by magnification
“Magnification” is just the size as a percentage of nominal. The table gives the full symbol: bars, digits and quiet zones. Bar height is the height of the normal bars only, without the digits, which is how GS1 states its minimums.
| Size | Narrow bar (X) | Width with quiet zones | Bar height | Total height with digits | Quiet zone each side |
|---|---|---|---|---|---|
| 80% minimum | 0.264 mm 10.4 mils | 29.83 mm 1.174 in | 18.28 mm 0.720 in | 20.74 mm 0.817 in | 2.38 mm 0.094 in |
| 85% | 0.281 mm 11.0 mils | 31.70 mm 1.248 in | 19.42 mm 0.765 in | 22.04 mm 0.868 in | 2.52 mm 0.099 in |
| 90% | 0.297 mm 11.7 mils | 33.56 mm 1.321 in | 20.57 mm 0.810 in | 23.34 mm 0.919 in | 2.67 mm 0.105 in |
| 100% standard | 0.330 mm 13.0 mils | 37.29 mm 1.468 in | 22.85 mm 0.900 in | 25.93 mm 1.021 in | 2.97 mm 0.117 in |
| 120% | 0.396 mm 15.6 mils | 44.75 mm 1.762 in | 27.42 mm 1.080 in | 31.12 mm 1.225 in | 3.56 mm 0.140 in |
| 150% | 0.495 mm 19.5 mils | 55.94 mm 2.202 in | 34.28 mm 1.349 in | 38.90 mm 1.531 in | 4.46 mm 0.175 in |
| 200% maximum | 0.660 mm 26.0 mils | 74.58 mm 2.936 in | 45.70 mm 1.799 in | 51.86 mm 2.042 in | 5.94 mm 0.234 in |
Download this size chart (CSV). Generated from label engine v1.2.0. Free to share; please link back to this page.
The guard bars run 5 narrow-bar widths (1.65 mm at 100%) below the other bars, and the digits are about 2.75 mm tall at 100%. Those are included in the total height. GS1 recommends the OCR-B typeface for the digits but accepts any clearly legible font; our labels use Helvetica.
Smallest UPC that scans at retail
The smallest standard UPC-A is the 80% size: 29.83 mm × 20.74 mm (1.174 in × 0.817 in). GS1 US states the same limits in its UPC-A help article (checked November 2026): a minimum narrow bar of 0.0104 in, a minimum width of 1.174 in, and bars at least 0.72 in tall, not counting the digits.
One exception exists. For on-demand printing, such as thermal and laser printers, the General Specifications let the narrow bar go down to 0.249 mm (about 75%), but the space you leave for the barcode should still be the 80% size, and the bars must not be shortened. Below that, checkout scanners may miss the code, and a retailer's barcode check will fail it.
80% · minimum
29.83 mm × 20.74 mm
1.174 in × 0.817 in
100% · standard
37.29 mm × 25.93 mm
1.468 in × 1.021 in
200% · maximum
74.58 mm × 51.86 mm
2.936 in × 2.042 in
If even 80% won't fit your pack, the usual answer is a bigger label or a different spot on the pack. GS1 also has a compressed barcode, UPC-E, a little over half as wide, but it only works for UPC numbers that start with 0 and contain a run of zeros in particular positions, so most sellers can't simply switch to it. Our generator prints UPC-A only. See UPC-A vs UPC-E vs EAN for how they relate.
Quiet zones: the blank space a scanner needs
The quiet zone is the empty margin to the left and right of the bars. A scanner uses it to find where the code starts and stops. UPC-A needs at least 9 narrow-bar widths on each side: 2.38 mm (0.094 in) at 80%, 2.97 mm (0.117 in) at 100% and 5.94 mm (0.234 in) at 200%. The first and last digits sit below the bars inside these zones, which is allowed; nothing else may.
Things that quietly eat the quiet zone:
- the edge of a label that is only just wide enough, especially if the print shifts a millimetre;
- a border, frame or rounded-corner outline drawn around the barcode;
- product text, a price or a logo placed beside the bars;
- package seams, folds and the edge of a curved bottle.
Our generator keeps both quiet zones inside the label, plus a 1.5 mm safety margin from every label edge, and it refuses a label that is too narrow rather than squeezing the margins.
Which label sizes fit a UPC
Here is what fits on each label stock the generator supports, calculated by its layout engine with the standard 1.5 mm edge margin and full-height bars. “Largest size” is what the generator picks automatically. A product-name line above the barcode takes some height, and a second line (SKU, size or price) takes a little more, so the size with text is smaller.
| Label stock | Label size | Largest size, barcode only | Largest size with a product name | With a name and second line | Fits 100%? |
|---|---|---|---|---|---|
| Avery 5163 10 per sheet | 4″ × 2″ | 184% | 164% | 149% | Yes |
| Avery 5160 30 per sheet | 2⅝″ × 1″ | 86% | Barcode only | Barcode only | No |
| Avery 5161 20 per sheet | 4″ × 1″ | 86% | Barcode only | Barcode only | No |
| Avery 5162 14 per sheet | 4″ × 1.33″ | 119% | 105% | 95% | Yes |
| Avery 5164 6 per sheet | 4″ × 3⅓″ | 200% | 200% | 200% | Yes |
| Avery 22806 12 per sheet | 2″ × 2″ | 128% | 128% | 128% | Yes |
| Avery L7163 14 per sheet | 99.1 × 38.1 mm | 135% | 120% | 109% | Yes |
| Avery L7160 21 per sheet | 63.5 × 38.1 mm | 135% | 120% | 109% | Yes |
| Avery L7173 10 per sheet | 99.1 × 57.0 mm | 200% | 184% | 168% | Yes |
| Avery L7159 24 per sheet | 63.5 × 33.9 mm | 119% | 105% | 96% | Yes |
| Avery L7162 16 per sheet | 99.1 × 33.9 mm | 119% | 105% | 96% | Yes |
| Avery L7165 8 per sheet | 99.1 × 67.7 mm | 200% | 200% | 200% | Yes |
| Thermal roll one per page | 2¼″ × 1¼″ (57 × 32 mm) | 110% | 98% | 89% | Yes |
| Thermal roll one per page | 2″ × 1″ (51 × 25 mm) | 86% | Barcode only | Barcode only | No |
| Thermal roll one per page | 2″ × 1½″ (51 × 38 mm) | 128% | 120% | 109% | Yes |
| Thermal roll one per page | 2″ × 2″ (51 × 51 mm) | 128% | 128% | 128% | Yes |
| Thermal roll one per page | 3″ × 2″ (76 × 51 mm) | 184% | 164% | 149% | Yes |
| Thermal roll one per page | 4″ × 6″ (102 × 152 mm) | 200% | 200% | 200% | Yes |
Download this fit table (CSV). Generated from label engine v1.2.0. Free to share; please link back to this page.
The 1-inch-tall stocks (Avery 5160 and 2″ × 1″ rolls) hold a compliant barcode only at a reduced size and with no room for text. For a product name plus a full-size barcode, a 2″ × 1½″ or larger label is the comfortable choice. See labels that fit a full-size UPC for the sheet layouts and printer setup, then generate a correctly sized UPC label for yours.
Why you shouldn't shorten the bars
“Truncating” a barcode means keeping its width but cutting its height to squeeze it onto a short label. It is tempting and it often still scans on a phone, but the standard is clear. The GS1 General Specifications (section 4.2.7) allow it only when there is absolutely no possibility of printing a full-size barcode, warn that it removes the ability to scan the code from any angle, and say the bar height must never drop below the minimum for the chosen size. GS1 US advises against it too in its placement and printing guidelines.
Full height
bars 22.85 mm
scans from any angle
Shortened to 50%
bars 11.43 mm
outside the GS1 standard
Our generator always draws full-height bars by default. Its layout engine can shorten them only when you deliberately allow it, never below 50% of the standard height, and every time it does, it tells you plainly that the result is outside the GS1 standard. That is only sensible for labels read by your own scanner, never for products going to a retailer.
Why different sites quote different sizes
Search for “UPC barcode size” and you will see several numbers. They are all measuring different things:
| Figure you may see | What it measures |
|---|---|
| 1.468 in × 1.021 in (37.29 mm × 25.93 mm) | The whole symbol: bars, digits and quiet zones. Often rounded to 1.469″ × 1.02″. |
| 1.234 in (31.35 mm) wide | Bars only, from the first guard bar to the last, with no quiet zones. Too small to plan a label with. |
| 0.900 in (22.85 mm) tall | Bar height alone, without the digits or the longer guard bars. This is the height GS1's minimums refer to. |
| 1.644″ × 1.153″ | The default size of the barcode image GS1 US lets members download. It adds extra white space around the symbol, so the image is larger than the barcode itself (GS1 US, checked November 2026). |
| 1.174″ wide, 0.72″ bars | The 80% minimum, not the standard size. |
When you plan a label, use the full-symbol figure for your chosen size and add your label's own edge margin on top. That is exactly the sum the generator does when it checks whether a barcode fits.
Printer resolution and real-world size
Printers draw in dots. A 203 dpi thermal printer has dots 0.125 mm wide, a 300 dpi printer 0.085 mm. A narrow bar of 0.330 mm is not a whole number of dots on either, so the printer rounds each bar edge to the nearest dot. Bars come out a little uneven, and a barcode set to exactly a whole number of dots per bar prints cleanest.
| Dots per bar | Narrow bar | Size | Width |
|---|---|---|---|
| 2 | 0.250 mm | 76% thermal/laser only | 1.11 in |
| 3 | 0.375 mm | 114% | 1.67 in |
| 4 | 0.500 mm | 152% | 2.23 in |
| 5 | 0.626 mm | 190% | 2.78 in |
| Dots per bar | Narrow bar | Size | Width |
|---|---|---|---|
| 2 | 0.169 mm | 51% | 0.75 in |
| 3 | 0.254 mm | 77% thermal/laser only | 1.13 in |
| 4 | 0.339 mm | 103% | 1.51 in |
| 5 | 0.423 mm | 128% | 1.88 in |
| 6 | 0.508 mm | 154% | 2.26 in |
| 7 | 0.593 mm | 180% | 2.64 in |
So on a 203 dpi printer, the smallest whole-dot size inside the normal 80%–200% range is 3 dots per bar, which is 114% (1.67 in wide). On a 300 dpi printer it is 4 dots, 103%. That is why barcodes from thermal printers are often a little bigger than 100%, and why 300 dpi printers handle small labels better. The image download in our generator snaps bars to whole printer dots for the resolution you pick; with the PDF, your printer driver does the rounding.
Print-quality tips
- Black bars on white. GS1 US calls this the best colour combination. Never print bars in red, orange or brown: checkout scanners read with red light, so red bars vanish. Dark blue or dark green on white can work; black is safest.
- One ink. Print bars in a single solid colour, not a four-colour mix that can blur the edges. Our PDFs draw bars in pure black.
- Matte stock. Glossy labels can reflect the scanner's light. Matte paper or direct-thermal labels are easier to read.
- Print at actual size. “Fit to page” silently shrinks everything. Set 100% in the print dialog; the printing guide shows where.
- Keep thermal heads clean and darkness moderate. A streak through the bars or swollen bars from too much heat both cause misreads.
- Test before the batch. Scan the first label with a phone app or USB scanner and check that it reads the same 12 digits.
Size is only half of it