Free Barcode Generator
Generate EAN-13/8, UPC, Code 128, Code 39, ITF-14, ISBN, GS1-128, Data Matrix, PDF417 and QR barcodes with correct check digits — download as PNG or SVG. Free for commercial use.
Many barcode sites limit free bulk runs to a few codes — here you can make up to 500 at once and print label sheets.
Generate spec-compliant barcodes with correct check digits — EAN, UPC, Code 128/39, ITF-14, ISBN, GS1-128, Data Matrix, PDF417 and QR — one at a time or hundreds at once, and print them on label sheets. In your browser, free for commercial use.
Which barcode do I need?
Retail numbers (EAN and UPC) are issued by GS1 or your marketplace. This tool draws the code correctly but cannot register a number for you.
Numbers starting 200-299 are reserved for in-store use, so they never clash with a real product. Fine for your own shelves, not for selling through other retailers.
12 or 13 digits — the check digit is added automatically.
Check digit: 1 (added automatically)
Options (add-on, caption, size, colours)
2 or 5 digits printed beside the bars. Books use 5 digits, for example 52495 means $24.95 USD.
Replaces the printed number, for example a product name or SKU.
🔒 Barcodes are generated entirely in your browser — your data is never sent to a server.
Optimize for your platform
Common uses
- Code 39 Barcode GeneratorCreate Code 39 barcodes for IDs, badges and inventory.
- ISBN Barcode GeneratorTurn a book ISBN into a scannable EAN-13 barcode.
- QR Code GeneratorGenerate a QR code for a URL, text, or contact details.
- ITF-14 Barcode GeneratorCreate ITF-14 barcodes for shipping cartons and cases.
- Data Matrix GeneratorGenerate compact 2D Data Matrix codes for small parts and labels.
- PDF417 GeneratorCreate PDF417 stacked barcodes used on IDs and boarding passes.
How It Works
Generates spec-compliant barcodes — EAN-13/8, UPC-A/E, Code 128, Code 39, ITF-14, ISBN, GS1-128, Data Matrix, PDF417 and QR — with correct check digits and quiet zones, rendered by the open-source bwip-js engine in your browser. Free, including for commercial use.
- 1Choose the symbologyPick the barcode type. Each has its own input rules — EAN-13 takes 12–13 digits, Code 128 takes any text, and so on.
- 2Enter your dataType the value to encode. Invalid input is flagged, and EAN/UPC check digits are computed for you.
- 3Adjust the lookSet the scale and bar height, and toggle the human-readable text. The preview updates live.
- 4DownloadSave a crisp PNG, or an SVG for print. Nothing is uploaded.
Barcodes are generated entirely in your browser — your data is never sent to a server.
Guide
Worked example
To make an EAN-13 for a product number, choose "EAN-13" under "Barcode type" and type the 12 digits 400638133393. The tool adds the check digit itself, so the barcode encodes 4006381333931 and a line says "Check digit: 1 (added automatically)". With the default print width of 50 mm, the "Print PNG (300 dpi)" file is 50 mm wide, about 591 pixels, and carries its dpi so Word or Canva places it at true size.
Which settings to use, and the limits
- Pick the type that matches where it will be scanned. Retail products use EAN-13 or UPC-A, books use ISBN, shipping cartons use ITF-14, and stock or asset tags are fine as Code 128. For a link or longer text, use QR Code.
- Retail numbers must be registered. The tool draws a correct barcode for a number you already have. EAN and UPC numbers for selling through shops or marketplaces come from GS1. "Random in-store EAN-13" makes numbers starting 200-299, which are reserved for in-store use only.
- Check the length rules. EAN-13 and ISBN take 12 or 13 digits, EAN-8 takes 7 or 8, UPC-A takes 11 or 12, and UPC-E takes 6 to 8 and must start with number system 0 or 1. Code 128 and GS1-128 take up to 128 ASCII characters. QR, Data Matrix and PDF417 take up to 2,000 characters.
- Set the print size, not just the scale. Under the options, "Print width (mm)" sets the true size of the "Print PNG (300 dpi)" and the PDF. For ITF-14 on cartons the tool shows GS1's minimum width and the 32 mm height.
- Keep strong contrast and a quiet zone. Use dark bars on a light background; a warning appears when contrast is too low. Leave some "Quiet zone" around printed codes, because scanners need the blank margin. Use "Transparent background" only when the code will sit on a light surface.
- Use "Bulk & labels" for many codes. Paste up to 500 codes, one per line (with optional label text and copies), or drop a CSV/TXT file of up to 2 MB. Download a ZIP of PNGs or SVGs, or create a label-sheet PDF of up to 5,000 labels. Print at "Actual size" (100%), not "Fit to page".
Common problems and how to fix them
- It says "Could not load the barcode engine. Check your connection and try again."
- The barcode engine is a separate file that loads the first time a code is drawn. Check your connection, then reload the page and try again. If you are on a work or school network, it may be blocking script files from the site.
- It says "Could not render this barcode — check the data for this symbology."
- The data did not suit the selected type. Compare it with the hint under the box. Common causes are letters in a digits-only type, lowercase letters in Code 39 (it takes A–Z only), non-Latin text in Code 128, or a GS1-128 value without the (01)-style identifiers in parentheses.
- It says "The check digit (last digit) is incorrect."
- You typed a full number whose last digit does not match. The message tells you the digit it should be. Or drop the last digit and the tool adds the correct one.
- It says "Code 128 / GS1-128 only support ASCII text."
- Code 128 cannot hold Chinese, Arabic or other non-Latin characters, or emoji. Use "Use a QR code instead", or switch to QR Code or Data Matrix, which encode any text.
- Some lines in a bulk list are skipped.
- Lines that fail the type's rules are listed under "Needs fixing" with their line number, and the rest still generate. Fix those lines and generate again. A list longer than 500 codes is cut, so split it.
How it compares
A QR code can hold a whole link or paragraph, but a till scanner in a shop is built to read EAN and UPC. For stock rooms and shelves where you control the scanners, Code 128 is compact and reads reliably. For products sold in shops, use the registered EAN or UPC number, since drawing the symbol does not make a number valid.
Related Tools
QR Code Generator
Generate QR codes for URLs, text, WiFi, and more. No watermark.
QR Code Reader
Scan QR codes from uploaded images or live webcam. Decode URLs, Wi-Fi credentials, contact cards, phone numbers, and any other QR content.
Invoice Generator
Create a professional invoice and download a clean PDF — line items, tax, discount, multi-currency. No sign-up, no upload, draft saved locally.