Home › How we verify

How we verify measurements and codes

A label that won't scan, or doesn't land in its place, is a wasted adhesive sheet. That is why we check three things: that the codes are valid, that the sheet measurements are reliable and that the PDF comes out in real millimetres. Here we explain how we do it and, also, what we can't guarantee.

1. The barcodes

The check digit

EAN-13, EAN-8, UPC-A and ITF-14 end with a check digit calculated with the GS1 modulo-10 algorithm: the digits are multiplied by 3 and by 1 alternately, starting from the rightmost one; they are added up, and the check digit is what is missing to reach the next multiple of ten.

Example with 590123412345: 5×3 + 4×1 + 3×3 + 2×1 + 1×3 + 4×1 + 3×3 + 2×1 + 1×3 + 0×1 + 9×3 + 5×1 = 83. To get to 90 you need 7, so the full EAN-13 is 5901234123457.

If you type the first 12 digits, the tool calculates the last one. If you type all 13 and the last one doesn't add up, it tells you what it should be and offers to fix it with one click.

The encoding

The encoders for EAN-13, EAN-8, UPC-A, Code 128, Code 39 and ITF-14 are programmed inside the tool itself, without depending on external services. Code 128 automatically picks the shortest mode (A, B or C) for the content you type. The QR code is generated from the matrix of an open-source library (qr-code-styling).

How we have checked it

  • Against a reference library: we compared our encoders with JsBarcode, a widely used open-source library, in 810 comparisons, with no differences.
  • By reading the result: we converted a PDF of labels generated by the tool into an image at 300 dpi and ran it through software barcode readers (ZXing and jsQR): all 24 labels on the sheet were read.

Limit: those readers are programs, not the laser of a shop checkout. Before printing a large batch, always test with your real scanner.

Minimum sizes and legibility warnings

For EAN and UPC, the GS1 general specifications set a nominal module (the thinnest bar) of 0.33 mm and allow magnifications between 80% and 200%, which gives a minimum of 0.264 mm. That is the threshold at which the tool warns about a “small code”. We also respect the quiet zones, the blank margins the scanner needs: for example, 11 modules on the left and 7 on the right for an EAN-13.

For Code 128, Code 39, ITF-14 and QR we use common practical thresholds: they are approximate, not a standard. Contrast is calculated with the WCAG luminance formula and, in addition, with the red channel, because many red laser scanners can't tell red, orange or yellow apart well.

2. The sheet measurements

The measurements of each sheet (label size, columns, rows, margins and gaps) come from manufacturers' public information and from open template databases, such as LibreOffice's, which we cross-check against each other. When we recently added more US sheets, we confirmed that this database matched exactly the measurements we had already verified.

Even so, we treat them as approximate. Die-cutting is not perfect and, depending on the source, some margins differ by up to about a millimetre (for example, the left margin of the 5160 sheet). That is why the tool includes what you need to check it with your own printer:

  • A test sheet with the outlines of the labels, to hold up to the light over your adhesive sheet.
  • A 100 mm ruler to confirm that the PDF prints at scale.
  • A horizontal and vertical fine adjustment in millimetres.
  • The custom grid, for any sheet that isn't on the list.

3. The PDF

  • Everything is laid out in real millimetres and the PDF has the exact size of A4 (595.28 × 841.89 points) or Letter.
  • The width of each bar is snapped to a 1/600 inch grid, a common laser-printer resolution, so that bars don't come out with uneven widths.
  • The PDF asks the viewer to print without scaling. Even so, you have to choose “Actual size” or “Scale 100%” in the print dialog, which is why we remind you at every step.
  • The positions of the cells and of the crop marks have been checked with a custom grid.

4. What we don't verify

  • Your real printer: shifts and unprinted edges depend on each machine.
  • Your physical scanner: only you can check it, with a printed test.
  • That an EAN or UPC is yours: globally unique codes are assigned by GS1. We explain it in the frequently asked questions.
  • Sheets from other brands: if they have the same measurements as an Avery sheet, the template works; always compare the size and the number of labels on the packaging.

5. Corrections

If you see an error, write to us from Contact with the model and the real measurements. We review it and, if it is confirmed, we correct the page and the tool. Last general review: October 2026.

6. Third-party software

The tool uses jsPDF, JSZip and qr-code-styling (MIT license). The Inter and Fraunces typefaces (SIL Open Font License) are served from this same website.