How small can a barcode be? Minimum sizes in mm
- inventory
The short answer: a standard EAN-13 barcode is 37.29 mm wide, counting the blank margins at each end, with bars 22.85 mm tall. GS1, which writes the standard, lets you print it anywhere from 80 percent to 200 percent of that size. The smallest permitted EAN-13 is therefore 29.83 mm wide with bars 18.28 mm tall, and that is before you add the digits underneath.
That is bigger than most people hope when they are looking at a ring tag or a lip balm. Here is what those numbers mean, and which of them you can bend.
The X-dimension is the size that matters
Every barcode is built from modules, the narrowest bar or gap it contains, and every other bar is a whole multiple of that width. The width of one module is the X-dimension, and it is the number GS1 uses to set sizes.
For EAN-13, UPC-A and EAN-8 on goods scanned at a shop till, the GS1 General Specifications give:
| X-dimension | EAN-13 width, margins included | Minimum bar height | |
|---|---|---|---|
| Minimum (80%) | 0.264 mm | 29.83 mm | 18.28 mm |
| Target (100%) | 0.330 mm | 37.29 mm | 22.85 mm |
| Maximum (200%) | 0.660 mm | 74.58 mm | 45.70 mm |
An EAN-13 is 113 modules wide including its margins, so the width is always 113 times the X-dimension. The heights do not include the printed digits.
Width matters more than height, but height still counts
Shrinking a barcode makes every module narrower, which leaves less room for ink spread or a worn print head to turn a gap into a bar. That is why the X-dimension has a hard floor.
Height is different. Cutting the height and leaving the width alone is called truncation, and on a small label it is very tempting: a long, thin strip of bars fits a tag that a full barcode never will.
GS1 is blunt about it. The standard says a truncated barcode may only be used if there is absolutely no possibility of printing a full size one, that truncation removes the omnidirectional scanning capability, and that excessive truncation leaves a barcode of no practical use. When you print at the minimum size, the bars must not go below the heights in the table.
A supermarket flatbed sweeps lines across a barcode at many angles, and a tall symbol gives several of them a chance to cross every bar. A short one only reads when held almost straight. A handheld scanner is more forgiving, but a thin strip still makes every scan a careful one.
Quiet zones: where most small labels fail
The blank margin at each end of a barcode is the quiet zone, and it is part of the barcode. The scanner uses it to find where the code starts and stops. For an EAN-13, GS1 asks for 11 modules on the left and 7 on the right, which is 3.63 mm and 2.31 mm at the target size. UPC-A needs 9 on each side, EAN-8 needs 7.
On a tight label the margins are the first thing people cut, because they look like wasted space. A label edge or a line of text intruding into them is the most common reason a small barcode refuses to scan. If something has to give, make the text smaller, not the margin. There is a shorter version of this, with the other common failures, in how to barcode products that came without one.
Your printer decides which sizes exist
A thermal label printer builds each bar from whole dots. It cannot print half a dot, so only some X-dimensions are possible, and the rest get rounded unevenly, with some bars a dot wider than their neighbours.
GS1 publishes the sizes these printers can actually hit:
| Printer | Dot size | Achievable X-dimensions |
|---|---|---|
| 203 dpi (8 dots per mm) | 0.125 mm | 0.250, 0.375, 0.500 mm |
| 300 dpi (12 dots per mm) | 0.083 mm | 0.250, 0.333, 0.417, 0.500 mm |
Look at what is missing. On a 203 dpi printer, nothing between 0.250 mm and 0.375 mm exists. The 0.330 mm target is impossible, and so is the 0.264 mm minimum. Your choice is two dots per module, which gives an EAN-13 about 28.25 mm wide, or three dots, which gives about 42.38 mm. A 300 dpi printer can do four dots at 0.333 mm, which is the target size to within a whisker.
GS1 knows this, and makes a specific exception. Thermal and laser printers may go down to 0.249 mm, which covers the 0.250 mm that two dots at 203 dpi or three at 300 dpi produce, on two conditions: the space you leave for the barcode and its quiet zones should still be the space an 80 percent symbol would need, and the bars still must not be cut below the minimum height. So the two-dot barcode is allowed, but it does not buy you a shorter label.
Office laser and inkjet printers have much finer dots, so they can land closer to any size you ask for. They have the opposite problem: the dots spread, which makes bars fatter and gaps thinner. Print at actual size with scaling off, and check the result.
In your shop versus everyone else’s
A barcode that only ever goes through your own till gives you some latitude. You own the scanner, and if a tag reads first time on it, it works.
A product you sell to other retailers is different. Their scanners, lighting and cashiers are outside your control, so print those at or above the target size and never truncate them.
Even in your own shop, stay inside the spec. The day you buy a new scanner, or a second one, it is the barcodes at the edge of the standard that stop working.
Code 128 for short internal codes
If a code only ever needs to work at your own counter, it does not have to be an EAN-13. Code 128 is read by practically every retail scanner and has a mode that packs two digits into each 11-module character. A six digit code then comes to 88 modules including its 10-module quiet zones at each end, against 113 for any EAN-13.
The saving is real but modest, and it disappears quickly. Letters take a full character each, and a long code ends up wider than an EAN-13, not narrower. It suits short numeric codes on genuinely small items.
When a label is just too small
Some things cannot carry a barcode: a ring, an earring card a centimetre tall, a single drill bit. Do not force a barcode onto them at a size nobody can scan. Put the barcode on a hang tag or a tail label that folds round the item, on the bag or box it is sold in, or on a shelf label or a laminated card at the till that the cashier scans instead. If you print on sheets, there is more on getting the sizes right in printing barcodes on Avery labels.
Test with your own scanner
Whatever size you settle on, print one label and scan it with the scanner on your counter, held the way a cashier holds it, under your shop’s lighting. Try a slight angle too. If it needs coaxing, it is too small, and it will only get worse as the print head wears.
Where StoreWave sits
StoreWave gives any product saved without a barcode a 13 digit EAN-13 from the range GS1 reserves for in-store use, and prints labels as a PDF from the browser onto A4 or US Letter sticker sheets or a thermal roll. Barcodes are drawn as vector bars. A valid EAN-13, EAN-8 or UPC-A prints as itself, and any other code a product carries prints as Code 128.
The bars are drawn at GS1’s 0.33 mm target when the label has room and narrowed to fit a smaller one, and the print dialog and the template editor warn you when a label is too small to hold a barcode that will scan reliably. Your printer still turns those millimetres into dots, so print one label and scan it before a full run. There is more on barcodes and label printing.