Premium Converters
Loading
Loading
Loading
Generate Code 128, EAN-13, UPC-A, Code 39, ITF-14, and more. Free PNG and SVG download with format-aware validation.
Utility
Generated on August 22, 2026
Most common; supports all ASCII characters.
Scan with any barcode scanner app to verify.
Generate Code 128, EAN-13, UPC-A, Code 39, ITF-14, and more. Free PNG and SVG download with format-aware validation.
A barcode is a one-dimensional pattern of vertical bars and spaces that encodes a string of characters — a product SKU, a tracking number, a library catalog ID. This generator supports all the major retail and industrial standards: Code 128 (the universal default), EAN-13 (worldwide retail), UPC-A (US/Canada retail), Code 39 (inventory and ID cards), ITF-14 (shipping cartons), MSI (warehousing), pharmacode (pharmaceuticals), and codabar (libraries and blood banks). Each format has different rules about which characters it accepts and how long the value must be — the generator validates your input as you type and explains what's wrong when it's invalid.
Formula
Code 128 packs every ASCII character using three character sets (A, B, C) with switching codes — variable length. EAN-13 is fixed at 13 digits with a Mod-10 check digit (computed from the first 12 digits and printed as the last). UPC-A is the 12-digit US predecessor that EAN-13 extends. ITF-14 wraps an EAN-13 (or 14-digit GTIN) for shipping cartons. The check-digit formula for EAN-13: sum the odd-position digits, multiply the sum of even-position digits by 3, add them, and the check digit is the value that brings the total to a multiple of 10.Most people who need a barcode generator are either small-shop owners getting ready to print SKU labels on a thermal printer, warehouse staff making pick-tickets, or product makers who just bought a GS1 prefix and need to render their first real EAN-13 for retail packaging. The single biggest mistake is picking the wrong format: Code 128 is the safest universal default (accepts letters, digits, and most ASCII; fits anywhere), but it isn't what supermarkets scan at the till — that's EAN-13 (worldwide) or UPC-A (US/Canada), which are digits-only and require a check digit. Get the check digit wrong by a single number and every scanner on the planet rejects the code. This generator computes it for you when you enter 12 digits, or validates yours if you enter 13. The other quiet detail is sizing: GS1 specifies a minimum bar width (0.264 mm for EAN/UPC) so scanners can read across consumer lighting and label wear. Print too small and the bars blur into each other. Download as PNG for fixed-size prints or SVG for posters and signage that'll be resized.
A barcode is a one-dimensional pattern of vertical bars and spaces that encodes a string of characters — a product SKU, a tracking number, a library catalog ID. This generator supports all the major retail and industrial standards: Code 128 (the universal default), EAN-13 (worldwide retail), UPC-A (US/Canada retail), Code 39 (inventory and ID cards), ITF-14 (shipping cartons), MSI (warehousing), pharmacode (pharmaceuticals), and codabar (libraries and blood banks). Each format has different rules about which characters it accepts and how long the value must be — the generator validates your input as you type and explains what's wrong when it's invalid. Download as PNG for printing or SVG for vector use, with full control over bar width, height, color, and the text caption.
Linear (1D) barcodes use bar thickness ratios to encode digits; the scanner reads the relative widths of the dark and light stripes. Different formats use different ratio systems: Code 128 uses 11-module bars/spaces in three width classes; EAN-13 uses 7-module bars in a left/right pattern that includes parity. The check digit catches single-digit typos and most adjacent-digit transpositions. UPC-A and EAN-13 are functionally interchangeable (a UPC-A is an EAN-13 with a leading zero); modern POS systems read both. Code 128 is preferred when you need to encode letters or special characters because EAN/UPC is digits-only.
Side-by-side reference of supported barcode standards and what each is used for.
| Format | Allowed characters | Length | Primary use |
|---|---|---|---|
| Code 128 | All 128 ASCII characters | Variable | Universal — shipping, inventory, ID |
| Code 39 | 0-9, A-Z, - . $ / + % space | Variable | Older inventory and ID cards |
| EAN-13 | Digits only | 13 (12 + check) | Worldwide retail product codes |
| EAN-8 | Digits only | 8 (7 + check) | Small retail products |
| UPC-A | Digits only | 12 (11 + check) | US/Canada retail |
| ITF-14 | Digits only | 14 (13 + check) | Shipping cartons (GTIN-14) |
| MSI | Digits only | Variable | Warehouse shelving |
| Pharmacode | 3 to 131,070 | 1–5 digits | Pharmaceutical packaging |
| Codabar | Digits + - . $ : / + (delimited A-D) | Variable | Libraries, blood banks, FedEx |
The first product ever scanned at retail (June 26, 1974) was a 10-pack of Wrigley's Juicy Fruit gum at a supermarket in Ohio — a UPC-A code.
Walmart stores collectively scan over 1.5 billion barcodes per day across global operations.
Every book printed since 1970 has an ISBN encoded as an EAN-13 starting with 978 or 979.
Library books worldwide still use Codabar because replacing the installed scanner base would cost billions.
EAN-13 starting with 600–639 indicates a product registered in Pakistan; 890 is India; 690–695 is China; 0–019 is the US/Canada.
Code 128 is used on shipping labels, courier airbills, and warehouse pick-tickets because it's compact and accepts any character.
UPC-A is what every supermarket scanner in the US reads — the 12-digit code printed on cereal boxes, soft-drink cans, and shampoo bottles.
ITF-14 (Interleaved 2 of 5) is the bigger barcode you see on shipping cartons — designed to print on corrugated cardboard without losing legibility.
Pharmacode (Code 32 in Italy, Pharmacode One in the US) is the simple binary-style barcode on pharmaceutical packaging used to verify the right pill is in the right blister pack.
Codabar predates Code 128 and is still used on FedEx airbills, library books, and blood-bank bag labels because of huge installed-base inertia.
Jump to a ready-made conversion — useful for quick reference and sharing:
Regex Tester
Test JavaScript regular expressions against sample text with live highlighting, named groups, and quick patterns.
JSON ↔ YAML Converter
Convert between JSON and YAML in either direction. Live preview, parse-error reporting, copy + download.
JSON ↔ CSV Converter
Convert JSON arrays of objects to CSV (or back). Custom delimiter, type coercion, copy + download.
Base64 Encode / Decode
Encode text or files to Base64 (and back). UTF-8 safe + URL-safe variant supported.
URL Encoder / Decoder
Percent-encode and decode URLs and query parameters. Supports both component and full-URI modes.
Hash Calculator (MD5 / SHA-1 / SHA-256 / SHA-384 / SHA-512)
Compute cryptographic hashes of text or files in your browser. All five major algorithms, no upload.
UUID Generator (v4)
Generate cryptographically random UUIDs (v4) in bulk. Multiple format options, copy + clear.
Markdown ↔ HTML Converter
Convert Markdown to HTML (or back) with live preview. Supports CommonMark + GFM (tables, fenced code).
Browse all Utility calculators & converters
See every tool in this category, plus FAQs and category-specific guides.