Make a short EAN-8 barcode for packages too small for an EAN-13
Runs in your browser. Nothing you type is sent anywhere. Updated on 25 Oct 2026.EAN-8 exists for packages where a full EAN-13 will not fit and cannot simply be shrunk: chewing gum, lip balm, single cigarettes. It carries seven digits plus a check digit, is issued separately by GS1 rather than derived from your EAN-13, and is deliberately in short supply, so only use it when the surface really is too small.
Open the page with EAN-8 already selected as the Barcode type.
Type the 7 digits GS1 issued you; the eighth, the check digit, is added.
Set Bar width and Margin to fit the small surface, keeping the blank space at each end.
Press SVG for print artwork or PNG for a quick proof.
This barcode generator makes the six one-dimensional symbologies people actually need: EAN-13, EAN-8, UPC-A, Code 128, Code 39 and ITF-14. Type the data, get the barcode, and download it as SVG for print or PNG for a document. Bar width, height, margin and the human-readable text underneath are all adjustable.
Check digits are handled properly. For EAN-13, EAN-8, UPC-A and ITF-14 you can enter the data without the final digit and it is calculated, or with it and it is verified; if it is wrong you are told the digit it should be, rather than being handed a barcode that scans as the wrong product. Code 39 can add its modulo 43 check character. Code 128 always carries a check character inside the bars, which is why it is never printed.
Not included, and why: QR, Data Matrix, Aztec and PDF417 are two-dimensional codes with error correction, a different job entirely, and for QR the QR Code Generator on this site already does it. GS1-128, Code 93, Codabar, MSI Plessey and UPC-E are each left out for a stated reason on the page. Everything runs in your browser; nothing you type is uploaded.
The rest of the article, and all 6 questions about Barcode Generator, are on the Barcode Generator page.
Pick the symbology and type the data without the final digit: 12 digits for EAN-13, 11 for UPC-A, 7 for EAN-8, 13 for ITF-14. The check digit is calculated and shown. If you paste the complete number instead, it is verified, and a wrong check digit is named rather than silently accepted.
For a retail product sold outside North America use EAN-13, inside it use UPC-A. For a shipping carton use ITF-14. For anything internal, such as an asset tag, a bin or an order number, use Code 128: it holds letters as well as digits and is the most compact of the six.
SVG for anything printed. It is drawn from maths, so it stays sharp at any size and the bar edges land exactly where they should. PNG is for pasting into a document or a slide. If you use PNG for print, generate it at a large module width first, because scaling a small PNG up blurs the bars.
Three usual causes. The quiet zone, the blank space at each end, was cropped away; increase the margin. The bars are too narrow for the printer, so raise the module width. Or the image was a small PNG stretched to fit, which blurs the edges; use the SVG instead.
Still stuck? Ask about Barcode Generator and anybody who knows can answer. No account needed.
On the related tools: Cron Expression Generator – Generate a cron expression by choosing when the job should run · Sitemap Index Generator – Split a large site into numbered sitemaps with an index file · Google Analytics URL Builder – The five utm parameters GA4 reads, with the naming traps flagged.
In the collection Barcode and QR Code Tools.