Skip to content

Barcode Generator

Free Barcode Generator — All Major Formats

Create scannable barcodes and QR codes for free. This tool supports the most widely used barcode formats for retail, shipping, inventory, and general-purpose encoding — all processed locally in your browser.

Supported Barcode Formats

Code 128 — a versatile 1D barcode for inventory, asset tags and general labels. This tool encodes printable ASCII (space through ~) using code set B. It does not add the FNC1 character that GS1-128 shipping labels need, so use a GS1-128 tool for those. EAN-13 — the international standard for retail products. Used worldwide on books (ISBN), magazines (ISSN), and consumer goods. UPC-A — the US and Canadian retail standard. Found on virtually every product sold in North American stores. Code 39 — alphanumeric barcode used in military (LOGMARS), automotive (AIAG), and healthcare applications. ITF-14 — designed for shipping cartons and outer packaging in the supply chain. Enter 13 digits and the tool adds the GS1 check digit, or 14 digits with a correct one. It does not draw the bearer bars GS1 expects when ITF-14 is printed directly on corrugated board; add those in your label layout if you print that way. QR Code — 2D barcode for URLs and text, up to 119 characters here. Contact cards and Wi-Fi logins work if you type them in their standard text formats (for example WIFI:T:WPA;S:name;P:password;;).

How to Use This Tool

  1. Choose a format — Select Code 128, EAN-13, UPC-A, Code 39, ITF-14, or QR Code based on your use case.
  2. Enter your data — Type or paste the text, numbers, or URL you want to encode. The tool validates your input automatically.
  3. Customize appearance — Adjust colors, bar width, height, and whether to show human-readable text below the barcode.
  4. Download or copy — Export as PNG for web use or SVG for print. SVG files scale to any size without losing quality.

Tips for Reliable Scanning

Frequently Asked Questions

What barcode formats are supported?+
Code 128, EAN-13, UPC-A, Code 39, ITF-14, and QR Code. Each format is suited to different use cases — Code 128 for shipping, EAN-13 for retail products, UPC-A for US retail, Code 39 for inventory, ITF-14 for cartons, and QR codes for URLs, contact info, and more.
Is this barcode generator really free?+
Yes, 100% free with no signup, no watermarks, and no limits. Barcodes are generated entirely in your browser — your data never leaves your device.
Can I download barcodes as SVG?+
Yes. You can export any generated barcode as PNG (raster) or SVG (vector). SVG is ideal for print because it scales to any size without losing quality.
What size should my barcode be for printing?+
For EAN-13 and UPC-A, GS1 defines the 100% (nominal) symbol as about 37.3 mm wide by 25.9 mm tall with a narrowest bar of 0.33 mm, and general retail allows 80% to 200% of that, so the smallest is roughly 29.8 by 20.7 mm. The export is in pixels, so set the printed size in your layout software: at 100%, one module should print 0.33 mm wide. For other formats, follow the label or carrier specification you are printing for, and always scan a printed sample before a full run.
Can I customize barcode colors?+
Yes. You can set custom foreground and background colors. However, for reliable scanning, always ensure high contrast — dark bars on a light background works best. Avoid red or orange bars as many scanners use red lasers.
Are the generated barcodes scannable?+
Yes, when printed at a sensible size and contrast. We decoded downloaded PNG and SVG files from every format with an independent open-source decoder (zxing-cpp): Code 128, EAN-13, UPC-A, Code 39, ITF-14 and QR codes up to 119 characters all read back exactly, check digits included. The tool also checks input against each format's rules, and every 1D code gets an 11-module quiet zone on each side.
Does the tool validate barcode data?+
Yes. EAN-13 takes 12 digits (the check digit is added) or 13 with a correct check digit; UPC-A takes 11 or 12 the same way; ITF-14 takes 13, or 14 with a correct check digit; Code 39 accepts A–Z, 0–9, space and - . $ / + %; Code 128 accepts printable ASCII. Input that breaks the rules shows an error instead of a barcode.
Can I generate QR codes with this tool?+
Yes. The QR Code format supports any text, URLs, email addresses, phone numbers, Wi-Fi credentials, and more. You can customize the error correction level, size, and colors.
What's the difference between Code 128 and Code 39?+
Code 128 can encode all 128 ASCII characters and, with its numeric mode, packs digits two per symbol, so it is usually shorter than Code 39 for the same data. This tool's Code 128 uses code set B only (printable ASCII, one character per symbol), so long numbers are not compacted. Code 39 is limited to uppercase letters, digits and a few symbols, but it is simple and self-checking, which is why older systems still use it.
What is a check digit?+
A check digit is the last digit in formats like EAN-13, UPC-A, and ITF-14, calculated from the other digits using a mathematical formula. It allows scanners to verify the barcode was read correctly. This tool calculates check digits automatically — just enter the data digits.
Can I use these barcodes commercially?+
Yes. The barcodes are free to use for any purpose. For retail product barcodes (EAN-13, UPC-A, ITF-14 on cartons) the number itself must come from GS1: you need a GS1 company prefix or GS1-issued numbers, otherwise the barcode will scan but the product number won't be valid in retail systems.
What QR code error correction level should I use?+
For most uses, Medium (M) is the best balance of size and reliability. Use High (H) if the QR code will be printed on surfaces that might get damaged (packaging, outdoor signs). Use Low (L) if you need maximum data capacity in the smallest QR code.

📖 Learn More

Related Article Complete Guide to Barcode Types & When to Use Each →

Built by Derek Giordano · Part of Ultimate Design Tools

Privacy Policy · Terms of Service