Barcode generator
EAN, UPC, Code 128 and nine more types. One code, or a printable sheet of labels. Drawn on your device.
QR codes have their own tool. It makes QR codes for links, Wi-Fi, contacts and text, with PNG and SVG downloads.
Open the QR Code Generator →Size and look
The module is the narrowest bar. EAN and UPC at 100 % use 0.33 mm; shops accept 80 % to 200 % (0.264 to 0.66 mm).
Blank = the standard margin for the type (EAN-13: 11 modules left, 7 right).
Label sheet: many codes on A4 or Letter
Uses the type, size and colours above. Each line is checked like the single code; lines with an error are listed and left out.
The grids are starting points shaped like common sticker sheets; brands differ by a millimetre or two, so measure yours and adjust. Skip first labels reuses a part-used sheet.
Print at 100 % or “Actual size”; “Fit to page” shrinks the sheet and the codes miss the labels.
How to make a barcode
- Pick the type. Selling in shops: EAN-13 (or UPC-A in the US and Canada). Your own stock, asset or bin labels: Code 128. Outer cartons: ITF-14.
- Type the number or text. For EAN and UPC leave off the last digit and the check digit is worked out for you; type it and a wrong one is flagged with the right one.
- Set the module width and bar height if your label or packaging needs a size. The preview redraws as you type.
- Download SVG for packaging artwork (it stays sharp at any size), PNG at 300 or 600 DPI for documents, or PDF.
- For many codes, open Label sheet, paste one value per line, pick the paper and grid, then Print sheet or Download sheet PDF.
Where EAN and UPC numbers come from
Retail EAN and UPC numbers come from GS1: a company licenses a GS1 Company Prefix from its national GS1 office and numbers each product from it, and GS1 US puts it plainly: “each variation of each product you sell requires a unique barcode.” This tool draws a code for a number you already have; it does not issue numbers. The first digits name the GS1 office that licensed the prefix (400–440 is GS1 Germany, 500–509 GS1 UK), not the country the product was made in. EAN-13 and UPC-A numbers that start with 2 (GS1 prefixes 200–299 and 020–029) are kept for in-store use, such as weighed fruit and deli labels.
Which barcode should I use?
- EAN-13 / UPC-A: products sold in shops and on marketplaces. They hold a GTIN and nothing else. EAN-8 and UPC-E are the short forms for packs too small for the full code.
- Code 128: inventory, asset tags, shelf and bin labels, order numbers. It holds any keyboard character and fits more in less width than Code 39.
- GS1-128: Code 128 carrying GS1 data in brackets, such as
(01)GTIN,(17)expiry date as YYMMDD,(10)batch. Used on pallets and in healthcare. - ITF-14: the 14-digit carton code printed straight onto corrugated boxes, with the thick bearer bars that keep a scanner from misreading a partial scan.
- Code 39 and Codabar: older systems that still expect them (some libraries, blood banks, labs). Pick them only when a system asks.
- Data Matrix, PDF417, Aztec: 2D codes for small parts, ID cards and tickets. They hold far more than a 1D code but need a camera or a 2D scanner, not a laser.
Getting the size right
A barcode prints well when each bar is a whole number of printer dots. At 100 %, an EAN-13 is 37.29 mm wide including its margins and its bars are 22.85 mm tall; that is a 0.33 mm module. The PNG download keeps every module a whole number of pixels, so at 300 DPI a 0.33 mm module becomes 4 pixels and prints at 0.339 mm; the page tells you the exact size before you save. SVG and PDF stay vector, so they print exactly at the size you set. Do not shorten the bars of a retail code to make it fit: GS1 discourages truncated EAN and UPC codes because they scan poorly at the till.
What it cannot do
- It does not issue numbers. A shop or marketplace that asks for a GTIN wants one licensed from GS1; a made-up EAN can clash with another company's product.
- It does not scan or read barcodes; it only draws them.
- It does not grade print quality. The colour warning is a rough check; for retail packaging, test a printed proof with a real scanner.
- No QR codes here: they are in the QR Code Generator. No add-on (2- or 5-digit) EAN/UPC supplements, no GS1 DataBar, no MaxiCode.
- UPC-E takes the short 6-digit form; it does not compress a UPC-A number into UPC-E for you.
- Label sheets: up to 3,000 labels per job. Saved nothing: reload and the page starts fresh.
Privacy
Nothing you type leaves your device: the codes, PNGs and PDFs are made in this page. The page sends an anonymous page-view count and, when you download or make a sheet, one of two fixed words (barcode-download, barcode-sheet); never a number or a line of your list. The drawing engine for the non-retail types (bwip-js, MIT licence) loads from polyatic.com the first time you pick one of them.
Questions
Is this barcode generator free?
Yes. Every type, every download format and the label sheets are free, with no account and no watermark. The codes are drawn in your browser, so there is nothing to pay for on a server.
Do I need to install anything to make a barcode online?
No. The page works in any current browser on a phone or a computer. After the first visit the drawing engine is in the browser cache, and the number you type is never sent anywhere.
How do I make a Code 128 barcode?
Choose Code 128 as the type and type your text: letters, digits and keyboard symbols all work. Code 128 adds its own check character inside the bars, so there is nothing to calculate. Download it as SVG, PNG or PDF.
How is the EAN or UPC check digit calculated?
Starting from the rightmost digit, multiply the digits alternately by 3 and 1, add them up, and the check digit is what brings the sum to the next multiple of 10. For 400638133393: 3×3 + 9 + 3×3 + 3 + 3×3 + 1 + 3×8 + 3 + 3×6 + 0 + 3×0 + 4 = 89, so the check digit is 1 and the full EAN-13 is 4006381333931. Type the number without its last digit and the tool adds it; type all digits and a wrong last digit is flagged with the right one.
How do I print barcode labels on a sticker sheet?
Paste your numbers into Label sheet, one per line, pick A4 or Letter and a grid such as 3 × 10, check the margins against your sheet, and tap Print sheet or Download sheet PDF. Print at 100 % (actual size), not fit to page, so the codes land on the labels. Print one sheet on plain paper first and hold it against a label sheet to the light.