Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Barcode Generator

Print-ready barcodes with checked digits and exact sizes — one or a thousand.

Image No upload Works offline Free, no sign-up

Barcode type and data

Preview

Enter the data to see your barcode.

Size and style

Height of the digits and capitals. GS1 asks for at least 2 mm, and 3 mm on logistics labels.

GS1 requires bearer bars on ITF-14 unless they cannot be printed.

Many barcodes at once

Paste one value per line, or choose a CSV file with the value in the first column and an optional file name in the second. The barcode type, size and colours set above are used for all of them.

Next steps

About the Barcode Generator

Draw barcodes for products, cartons, documents and labels: EAN-13, EAN-8, UPC-A, UPC-E, GS1-128, ITF-14, Code 128, Code 39, Codabar, Data Matrix, GS1 DataMatrix, PDF417 and Aztec. Check digits are calculated or checked as you type, GS1 data such as GTIN, expiry date and batch is validated field by field, and the barcode is sized in millimetres with the quiet zones the standards ask for.

Download a PNG that prints at the right size (each bar is a whole number of printer dots at your printer’s resolution), an SVG or a vector PDF at the exact size — or paste a list or a CSV file and get hundreds of barcodes in a ZIP. Everything is made in your browser; nothing you type is uploaded.

How to use it

  1. Choose the barcode type. Retail products use EAN-13 (UPC-A in North America); cartons use ITF-14 or GS1-128; for your own labels, Code 128 or Data Matrix.
  2. Type the number or text. For EAN, UPC and ITF-14 leave out the last digit and it is calculated, or type it and it is checked. For GS1-128 and GS1 DataMatrix, write each field as an Application Identifier in brackets, such as (01) for the GTIN and (17) for the expiry date.
  3. Set the size: the module width X (the narrowest bar) in mm, the bar height, and the resolution of the printer you will use. The page shows the real size, the GS1 limits and how many printer dots each bar gets.
  4. Download a PNG, SVG or PDF, or copy the image. For many barcodes, paste one value per line (or choose a CSV file) under Many barcodes at once and download a ZIP or a single PDF.
  5. Test-scan the printed barcode with a phone or scanner before printing a large run.

Examples

EAN-13 with the check digit calculated
Input
952012345678
Result
9520123456788 — check digit 8 added (prefix 952 is reserved by GS1 for examples)
Medicine pack: GTIN, expiry, batch and serial
Input
GS1 DataMatrix · (01)09520123456788(17)271231(10)B7(21)000123
Result
Validated fields: GTIN, expiry 31 Dec 2027, batch B7, serial 000123
Carton label for a 203 DPI thermal printer
Input
ITF-14 · 1952012345678 · X 0.495 mm · 203 DPI
Result
Check digit 5 added; each module becomes 4 dots = 0.500 mm

Label printers can only make bars a whole number of dots wide, so the page tells you the size you really get.

Common uses

  • Retail barcodes for products with GTINs from GS1 India.
  • Carton labels with ITF-14 or GS1-128 (SSCC, batch, expiry, weight).
  • Inventory, asset and file labels with Code 128 or Data Matrix.
  • Hundreds of numbered labels at once from a spreadsheet column.
  • GS1 DataMatrix with GTIN, expiry, batch and serial for medicine packs.

Which barcode should I use?

  • EAN-13 / UPC-A — products sold in shops. UPC-A is used mainly in the USA and Canada; EAN-13 everywhere else. EAN-8 and UPC-E are short versions for very small packs.
  • ITF-14 — outer cartons and cases, often printed straight onto corrugated board. GS1-128 — logistics labels with more data: SSCC pallet numbers, GTIN, batch, expiry, weight.
  • Code 128 — your own labels, invoices, assets and courier slips: letters, digits and symbols, compact. Code 39 — older industrial and government systems (capital letters only). Codabar — libraries, blood banks and some courier slips.
  • Data Matrix, PDF417 and Aztec — 2D codes that hold much more data in a small space; GS1 DataMatrix carries GS1 fields and is used on medicine packs.

Sizes the GS1 standard asks for

The X-dimension is the width of the narrowest bar. For EAN-13, EAN-8, UPC-A and UPC-E scanned at a till, the GS1 General Specifications (Release 26.0, Table 5-44) allow 0.264–0.660 mm with 0.330 mm as the target — “100% magnification”. At 0.330 mm the minimum bar height is 22.85 mm for EAN-13, UPC-A and UPC-E and 18.23 mm for EAN-8, not counting the digits; the height scales with X, and the bars must never be cut shorter.

For cartons scanned in warehouses (Table 5-47), ITF-14 and GS1-128 use X 0.495–1.016 mm with bars at least 31.75 mm tall. GS1 DataMatrix on retail packs uses 0.396–0.990 mm, target 0.495 mm (Table 5-46). A GS1-128 barcode may hold at most 48 data characters and be at most 165.10 mm long including its quiet zones; the page warns when it is longer.

The text under the bars should be at least 2 mm high, and at least 3 mm on GS1 logistics labels (section 4.14), so GS1-128 and ITF-14 start at 3 mm. The Text height setting is the height of the digits and capital letters.

Quiet zones and bearer bars

Scanners need a blank margin — the quiet zone — on each side of the bars. GS1 sets 11X on the left and 7X on the right of EAN-13, 7X on both sides of EAN-8, 9X on both sides of UPC-A, 9X and 7X for UPC-E, and 10X for ITF-14 and GS1-128; GS1 DataMatrix needs 1X all round. The quiet zones are included in the downloads, so keep the area blank when you place the code.

ITF-14 needs bearer bars: GS1 asks for a 4.83 mm frame around the code when it is printed with printing plates (flexo on cartons), and bars at least twice the narrow bar width at the top and bottom for other printing. Choose the matching option under Bearer bars. The digits are placed at least 1.02 mm below the bearer bar, as GS1 requires (section 5.3.2.2).

Getting real product numbers (GS1 India)

The barcode is only a picture of a number. For products sold in shops and on marketplaces the number itself — the GTIN — must be licensed from GS1. In India that is GS1 India, the only authorised body for numbers starting with 890. A made-up number, or one copied from another product, can belong to someone else’s item and is rejected by retailers. Books use ISBN numbers (EAN-13 starting with 978 or 979), which Indian publishers get from the Raja Rammohun Roy National Agency for ISBN. For your own internal labels, Code 128 or Data Matrix needs no licence.

Printing tips

  • Print dark bars on a white or light background. Red, orange and light colours are invisible to many laser scanners; most scanners cannot read light-on-dark (inverted) linear barcodes.
  • Set the PNG resolution to your printer’s (203 or 300 DPI for most thermal label printers) so every bar is a whole number of dots. The page shows the module width you will really get.
  • Print at 100% / actual size — never “fit to page”. The SVG and PDF files carry their size in millimetres.
  • Always test-scan a sample on the actual material before a large print run.

Limitations

  • The tool draws barcodes; it cannot issue or register product numbers — get GTINs from GS1.
  • Print quality (bar width gain, contrast, quiet zones on the pack) decides whether a code scans; a printed code is not graded or verified here.
  • Code 128 accepts plain ASCII text here; for other characters use Data Matrix, PDF417, Aztec or a QR code.
  • EAN/UPC add-on symbols (2 or 5 extra digits, used on some magazines and books) are not offered.
  • Lists are limited to 1,000 barcodes per download.

Privacy

Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

Frequently asked questions

Can I make my own EAN-13 number?

You can type any 12 digits and get a valid-looking barcode, but shops and marketplaces only accept numbers licensed from GS1. A made-up number may already belong to another product. In India, GS1 India issues numbers starting with 890; in other countries, the local GS1 office.

How is the check digit calculated?

For EAN, UPC, ITF-14, SSCC and GLN: starting from the right, multiply the digits alternately by 3 and 1, add them up, and the check digit is what brings the sum up to the next multiple of 10. In the GS1 specification’s example, the 17 digits 37610425002123456 give a weighted sum of 101, so the check digit is 9 (101 + 9 = 110). The tool does this for you and tells you when a typed check digit is wrong.

What size should an EAN-13 barcode be?

At 100% (X = 0.330 mm) the bars are 31.35 mm wide (37.29 mm with the quiet zones) and at least 22.85 mm tall, plus the digits underneath. GS1 allows 80% to 200% (X 0.264–0.660 mm); smaller codes need good printing, and the bars should never be shortened.

Why does the PNG size differ slightly from what I typed?

A printer can only print whole dots. At 300 DPI a dot is 0.0847 mm, so a 0.330 mm module becomes 4 dots = 0.339 mm. The page shows the real value; the SVG and PDF files keep the exact size and let your printer driver do the rounding.

How do I enter GS1-128 data?

Write each field as its Application Identifier in brackets followed by the value, for example (01)19520123456785(17)271231(10)LOT42 for GTIN, expiry date (YYMMDD) and batch. The tool checks lengths, check digits and dates, and suggests putting fixed-length fields first, which saves space.

Is my data uploaded?

No. The barcodes, ZIP and PDF files are made in your browser. The page downloads its barcode engine (bwip-js) from this site once; your numbers and text never leave the device.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.