What EAN-8 is for
EAN-8 encodes an 8-digit GTIN (GTIN-8) and exists for one reason: packs so small that even a reduced EAN-13 will not fit, such as lip balm, small confectionery and pencils. Because the number range is small, GS1 offices issue EAN-8 numbers individually and expect you to show that the pack is too small for an EAN-13. Most brand owners never need one.
Structure and check digit
The first digits are a GS1 prefix and item number assigned by the GS1 office; the last digit is a check digit calculated with the same mod-10 method as EAN-13. For 9638507 it is 4, giving 96385074. The tool adds or verifies it.
Size
EAN-8 uses the same module size as EAN-13: 0.33 mm at 100%, between 80% and 200%. With 67 modules plus 7-module quiet zones on each side, it is about 26.73 mm wide at 100%, with bars about 18.23 mm tall. If space allows a bigger barcode, use it.
EAN-8 or UPC-E?
UPC-E is the North American short form and compresses certain UPC-A numbers rather than using a separate number. Outside North America, EAN-8 is the usual short barcode. If you sell in both markets and space is tight, talk to GS1 before designing the pack.
Printing tips
- Print at 100%. In the print dialog choose "Actual size" or 100%, never "Fit to page". Scaling changes the bar widths, and a barcode printed at 94% can fall outside the reader's tolerance.
- Use vector files where you can. The SVG and PDF downloads are vector: bars stay sharp at any size and the PDF page is exactly the barcode's size. Use PNG for software that only takes images, at 300 dpi for office printers and 600 dpi for thermal label printers.
- Dark bars, light background. Black on white scans best. Dark blue and dark green work; red, orange and yellow bars are invisible to red-light laser scanners. The tool warns when the contrast is low.
- Keep the quiet zone. The clear margin either side of the bars is part of the symbol. Do not let text, a box edge or a label edge into it.
- Test before a print run. Print one, then scan it with the scanner your customers or staff will actually use, and with a phone app, before printing hundreds.
Why barcodes fail to scan
- Too small or scaled. Bars printed narrower than the reader can resolve, or a file squashed in one direction when it was placed in artwork.
- No quiet zone. Text, a border or the edge of the label too close to the first or last bar.
- Low contrast. Grey on grey, coloured bars on a coloured background, or bars printed on a shiny or transparent surface.
- Ink spread and blur. Inkjets on absorbent paper and worn thermal printheads widen the bars. Print a test and check the bars look crisp; for thermal printers, use 600 dpi or the printer's native resolution.
- Curved or creased surfaces. Bars wrapped around a narrow bottle or across a fold. Turn the barcode so the bars run with the curve (picket fence across a flat face, ladder around a cylinder).
- Wrong data. A check digit that does not match, or a number with the wrong length. This tool checks both before it draws anything.
Which download to use
- SVG for designers and packaging artwork. It is a vector file sized in millimetres, so it opens at the right size in Illustrator, Inkscape, Affinity and Canva, and stays sharp when printed. Do not stretch it in one direction.
- PDF when you send a file to a printer or place it in a print layout. The page is exactly the size of the barcode, quiet zone included, so it can be placed at 100% without measuring.
- PNG for software that only accepts images: label printer apps, spreadsheets, online stores and word processors. Choose 300 dpi for office printers and 600 dpi for thermal label printers. The tool rounds each module to a whole number of pixels so the bars stay crisp, which can make the PNG slightly smaller or larger than the millimetre size; the size line under the preview shows the result. Tick "transparent" to drop the background for placing on coloured artwork, but keep a light background behind the bars when printed.
To make many at once, use the ZIP option below the generator: paste one value per line or load a CSV and download PNG or SVG files named after each value.
Checking the number
Before you print an EAN-8, make sure the number on your GS1 allocation matches what you type. The tool calculates the check digit from the first seven digits, so if you enter all eight and the last is wrong it says what the check digit should be. A wrong check digit usually means a typing error in an earlier digit, not a wrong check digit, so compare the whole number with your certificate.
How this tool works
Barcodes are drawn in your browser with bwip-js, an open-source (MIT) port of Barcode Writer in Pure PostScript, and PDFs are written with pdf-lib. Nothing you type is uploaded, and the page works offline after the first visit. Single barcodes are free in every format with no watermark. Paid licences cover print-ready label sheets and large batches; see the box above.