Professional Barcode Generator

Generate industry-standard barcodes for one item or thousands. Supports Code128, EAN‑13, and QR Code. Real‑time preview, checksum validation, and PNG download. Perfect for retail, logistics, inventory, and bulk labeling.

Enter text according to the selected symbology (EAN-13 requires 13 digits).
Code128: ABC-123
EAN-13: 9780201379624
QR: getzenquery.com
Code128: 1234567890
QR: WiFi config
Batch sample
Privacy first: All barcodes are generated locally in your browser. No data is uploaded to any server.

What is a Barcode? A Brief Overview

A barcode is a machine-readable representation of data. The first barcode system was patented in 1952, but it wasn’t until the 1970s that barcodes became ubiquitous with the adoption of the Universal Product Code (UPC) in retail. Today, barcodes are essential in logistics, healthcare, manufacturing, and countless other fields. This generator supports three widely used symbologies: Code128 (high-density alphanumeric), EAN-13 (international retail), and QR Code (quick response, 2D).

Checksum calculation (EAN-13) — the 13th digit is derived from the first 12:

C = 10 − (( (d₁ + d₃ + d₅ + d₇ + d₉ + d₁₁) + 3·(d₂ + d₄ + d₆ + d₈ + d₁₀ + d₁₂) ) mod 10) mod 10

Why Use This Barcode Generator?

  • Professional grade: Generates barcodes that meet ISO/IEC standards for print and scanning.
  • Batch generation: Create hundreds of unique barcodes in seconds — ideal for inventory setup, product labeling, or testing.
  • Educational value: Learn how checksums are computed and how different symbologies encode data.
  • Privacy & security: All processing happens on your device – ideal for sensitive or proprietary codes.

How It Works (Technical Explanation)

Code128 is a variable-length, high-density linear barcode. It encodes the full ASCII character set using three character sets (A, B, C). Our generator uses the JsBarcode library, which implements the correct encoding, including start/stop patterns and modulo 103 checksum. For example, "ABC-123" becomes a series of bars and spaces defined by the Code128 specification.

EAN-13 (European Article Number) is used worldwide for retail products. It consists of 13 digits: a GS1 prefix (country code), manufacturer code, product code, and a checksum digit. The checksum is calculated using a weighted sum of the first 12 digits (weights 1 and 3 alternating). Our tool verifies the input length and, if 12 digits are provided, automatically computes and appends the correct checksum; if 13 are entered, it validates the checksum.

QR Code (ISO/IEC 18004) is a matrix barcode capable of storing up to ~3KB of data. It uses error correction (Reed–Solomon) to remain readable even when partially damaged. This generator uses the qrcode-generator library, which supports four error correction levels (L, M, Q, H). We default to level M as a balanced choice.

Step-by-Step Usage

  1. Choose a symbology from the dropdown.
  2. Select mode: Single for one barcode, Batch for multiple (one per line).
  3. Enter the data: single text field or multi-line textarea.
  4. Click "Generate Barcode(s)". The tool will validate input and display the barcode(s).
  5. For single barcode, use copy/download buttons. For batch, each item has its own download button.

Example Table with Real Outputs

All examples below can be reproduced by clicking the corresponding example button.

Symbology Input data Checksum / Structure Typical application
Code128 ABC-123 Start B + "ABC-123" + Mod103 checksum + Stop Inventory, shipping labels
EAN-13 9780201379624 Country 978 (Bookland), checksum 4 (correct) International Standard Book Number (ISBN)
QR Code https://getzenquery.com Version 3, error correction M, mask pattern optimised URL redirection, mobile marketing
QR Code (WiFi) WIFI:S:MyNetwork;T:WPA;P:pass;; Standard WiFi configuration syntax Easy network sharing
Case Study: Bulk SKU Generation for E‑commerce

A fast‑growing online retailer needed to generate barcodes for 3,000 new products before a seasonal sale. Using the batch mode, they pasted a list of 3,000 SKU numbers (one per line) and generated all barcodes in under two minutes. Each barcode was downloaded as a PNG and imported into their label printing software. The entire process, which previously took two days with manual entry, was completed in a single afternoon. The built‑in checksum validation prevented costly mislabeling.

Batch Mode – Technical Details

When batch mode is selected, the input is split by newline characters. Each non‑empty line is processed independently using the same validation and generation rules as single mode. For EAN‑13, each line is checked and corrected (if 12 digits are provided, the checksum is added). The tool displays up to 100 items per batch to ensure browser performance; for larger batches, consider generating in chunks or using our dedicated bulk API (contact us). Each generated barcode is presented with its own canvas and a download button, allowing you to save individual PNG files.

Common Misconceptions

  • All barcodes can store the same data: False – Code128 is linear, QR Code can store hundreds of characters.
  • EAN-13 can encode letters: No, only numeric digits 0-9.
  • QR Codes always need error correction: They always include error correction; we use level M (∼15% recoverable) by default.
  • Batch generation is slower than single: It is equally fast for up to hundreds of items; each barcode is generated sequentially on the client side.

Cross‑Industry Applications

  • Retail & e‑commerce: Product labeling, shelf tags, returns processing.
  • Healthcare: Patient wristbands, medication tracking, specimen labels.
  • Logistics: Shipping labels, parcel tracking, warehouse bin locations.
  • Manufacturing: Work‑in‑process tracking, asset management.
  • Education & events: Ticket validation, library check‑out, student ID cards.

Expertise behind the tool – This barcode generator is developed by the GetZenQuery tools team in collaboration with logistics and retail professionals. The encoding algorithms are based on open‑source libraries widely adopted in production systems (JsBarcode, qrcode-generator), which have been reviewed for accuracy against official GS1 and ISO test charts. The educational content is curated by engineers with experience in automatic identification and data capture (AIDC). Last updated March 2026.

Frequently Asked Questions

UPC-A is a 12-digit code used primarily in the US and Canada. EAN-13 is essentially an extension of UPC-A with a leading digit (often 0) to make it 13 digits, and is used internationally. Our generator accepts both 12- and 13-digit inputs; if you enter 12 digits, it will automatically convert to EAN-13 by adding a leading zero and recalculating the checksum.

The most common reason is an incorrect checksum. If you provide 13 digits, the last digit must match the calculated checksum. If you provide 12 digits, we will compute the correct 13th digit automatically. Also ensure you are using only numeric characters (0-9).

Yes, select "QR Code" and enter the standard format: WIFI:S:<SSID>;T:<WEP|WPA|nopass>;P:<password>;;. For example: WIFI:S:MyHomeNetwork;T:WPA;P:secret123;;. Most smartphone cameras will recognize this and offer to connect.

The canvas resolution is set to 2 pixels per module (for 1D) which is sufficient for labels up to 300 DPI. For high‑precision printing (e.g., offset), we recommend exporting to SVG (via copy) or using a dedicated vector tool. The generated barcode meets the minimum module width requirements for most scanning applications.

Currently this tool focuses on Code128, EAN-13 and QR Code – the most commonly requested. For Code39, PDF417 or Data Matrix, please see our dedicated generators: Code39 Generator and PDF417 Generator.

Yes, the generated barcodes themselves contain no licensing restrictions. The underlying libraries are open source (MIT License). You may use the output for any purpose, including commercial products. However, note that some barcode numbers (like EAN-13 prefixes) are allocated by GS1 – you are responsible for using valid numbers that you have rights to.