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.
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
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.
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 |
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.
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.
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.