Business Tools

Barcode Generator — EAN, UPC, Code 128 and More

Generate seven barcode formats in your browser, check or add GTIN check digits, customize colors and size, and download PNG or SVG images.

About Barcode Generator — EAN, UPC, Code 128 and More

Create a barcode in your browser

A barcode represents data as a pattern of bars and spaces. This generator supports EAN-13 (JAN), EAN-8, UPC-A, Code 128, Code 39, ITF-14 and Codabar (NW-7). Choose a format, enter your value, then download a PNG or SVG image.

Generation runs in your browser. You can change the bar width, height, colors and human-readable text. PNG exports use twice the preview dimensions; SVG preserves vector shapes. Neither option guarantees a particular physical size or print quality.

The example values illustrate the input format. They are not numbers allocated to you for use on products. Generating a barcode image does not assign a GTIN, register it with GS1 or establish a right to use the number.

Choose the right format and input

  • EAN-13: encodes a 13-digit GTIN-13. Enter 12 digits to add the check digit, or 13 digits to validate it. Japan's standard JAN symbol uses this format.
  • EAN-8: encodes a separately allocated 8-digit GTIN-8 for small products. Enter 7 or 8 digits. Do not obtain it by shortening a GTIN-13. For use in Japan, consult GS1 Japan's GTIN-8 allocation procedure.
  • UPC-A: encodes a 12-digit GTIN-12, commonly used in North American retail. Enter 11 or 12 digits. Prefixing a GTIN-12 with zero gives the equivalent 13-digit representation; it does not allocate a new number.
  • Code 128: accepts up to 80 printable ASCII characters, including spaces. Line breaks, non-ASCII letters and emoji are not accepted. This tool does not add the FNC1 or application identifiers needed for GS1-128.
  • Code 39: accepts up to 43 characters: uppercase A–Z, digits, spaces and - . $ / + %. This tool does not automatically append or validate the optional Mod 43 check character. Match the scanner's configuration to your data.
  • ITF-14: encodes a 14-digit GTIN. Enter 13 or 14 digits. The image does not include bearer bars and is not a finished packaging-print file. Check the applicable GS1 dimensions, bearer bars and print quality requirements.
  • Codabar (NW-7): accepts digits and - $ : / . + between uppercase A–D start and stop characters, for example A12345B. The 80-character limit includes these two characters. At least one data character is required.

How the GTIN check digit works

The last digit of a GTIN helps detect errors. For an EAN-13 payload of 12 digits, multiply alternating digits from the left by 1 and 3, add the results, and take the difference to the next multiple of ten. If the sum is already a multiple of ten, the check digit is zero.

For example, the payload 490123456789 has a weighted sum of 146, so its check digit is 4 and the complete value is 4901234567894. This is a calculation example, not an allocation of that number.

This tool adds the digit only when you enter a payload of the correct length. If you enter a complete value with an incorrect check digit, it reports the expected digit instead of silently changing your input. A valid check digit cannot establish the product's identity, ownership or GS1 allocation.

Check the printed result before use

Keep the blank quiet zones around the symbol. Use black bars on a white background where possible. The tool requires darker bars and an on-screen RGB contrast ratio of at least 4.5:1; this is a basic screen check, not barcode print verification.

Red, orange, pink and pale yellow bars may be difficult for red-light scanners to detect. Avoid these colors for bars. Test the actual printed size, material and scanner. A readable preview or a successful download does not prove compliance with a retailer's or logistics provider's requirements.

Frequently asked questions

Q. How are JAN, GTIN and EAN related?
GTIN is the number used to identify a trade item; EAN-13 and EAN-8 are barcode formats that represent such numbers. In Japan, JAN has a 13-digit standard type (GTIN-13) and an 8-digit shortened type (GTIN-8), represented by EAN-13 and EAN-8 respectively. A correct check digit does not prove allocation or permission to use a number.
Q. Does creating an image register a product with GS1?
No. This tool creates images and checks digit consistency; it does not allocate or register product identifiers. For retail or supply-chain use, obtain an appropriate GTIN through the relevant GS1 member organisation's procedure. For internal identifiers, consider Code 128 or Code 39 without presenting them as allocated retail GTINs.
Q. Can I create GS1-128 or print-ready ITF-14 labels?
Not with this generator alone. Its Code 128 output does not add GS1-128 FNC1 or application identifiers. ITF-14 output omits bearer bars. Use a workflow that meets the required data, physical dimensions and print-quality specifications.
Q. Why will my barcode not scan?
Check that your scanner supports the format and its check-character settings match your data. Preserve quiet zones, use black bars on white, and test at the intended print size. The RGB contrast check cannot assess print reflectance. Use compatible scanning equipment or software and verify the actual output before relying on it.
Q. Can I use lowercase letters or non-English text?
Code 128 accepts printable ASCII, including lowercase English letters, but not accented characters, other scripts, emoji or line breaks. Code 39 accepts uppercase A–Z, digits and selected symbols only. For Unicode text, consider a QR code instead.

Sources and specifications

Related tools

Questions or feedback? Contact NanToo

Rate this tool
5.0(1 ratings)