Free Online Barcode Generator
Generate standard 1D barcodes in Code 128, EAN-13, UPC-A, and Code 39 formats downloadable as high-resolution PNGs.
Enter Data
Enter any text or a URL to convert it into a Bar code. The generator calls your live API endpoint.
Bar Code Result
Your generated Bar code will appear here.
Technical Architecture: Reverse-Engineering 1D Barcode Symbologiesā
Linear (1D) barcodes represent alphanumeric characters through parallel combinations of variable-width bars and spaces conforming to international standards (ISO/IEC 15417 for Code 128, ISO/IEC 15420 for EAN/UPC).
1. Code 128 Symbology & Modulo 103 Checksumā
Code 128 is a high-density alphanumeric symbology utilizing three distinct subsets:
- Subset A: Standard ASCII, control codes, and capital letters.
- Subset B: Standard ASCII, uppercase and lowercase letters, and punctuation.
- Subset C: Double-density numeric pairs (
00through99), reducing bar count by 50% for numeric sequences.
Each character consists of 11 module units structured into three bars and three spaces. Integrity is guaranteed via a modulo-103 weighted checksum:
Checksum = (StartCodeValue + Σ(CharacterValue_i à i)) mod 103
Where i denotes the 1-based character position in the data string. The computed checksum symbol is appended immediately before the Stop character.
2. GS1 EAN-13 & UPC-A Check Digit Algorithmā
Retail barcodes (EAN-13 and UPC-A) use a modulo-10 checksum with alternating 3x and 1x weights computed from right to left across the payload:
Sum = 3 Ć (dā + dā + dā + ...) + 1 Ć (dā + dā + dā
+ ...)
CheckDigit = (10 - (Sum mod 10)) mod 10
This mathematical validation prevents scanner misreads caused by label damage, smudges, or optical skew.
3. Programmatic API Endpoint & Telegram Bot Integrationā
Barcodes can be integrated into automated shipping workflows, warehouse printers, or Telegram bots using our backend API:
# Generate a Code 128 barcode image via cURL
curl -o barcode.png "https://serhii-bots-empire.vercel.app/barcode/generate?data=hrekov.com"
Query Parametersā
| Parameter | Type | Required | Description |
|---|---|---|---|
data | string | Yes | The numeric or alphanumeric text to encode. |
format | string | No | Barcode symbology (e.g., code128, ean13, upca). Default: code128. |
Telegram Bot Automationā
For instant barcode generation on mobile devices, use the dedicated Telegram bot:
- Bot Username:
@responseWithBarcodeBot - Features: Send any alphanumeric text or product SKU in a chat message and receive an instant, high-contrast barcode PNG attachment.
Supported Barcode Symbologies Comparisonā
| Symbology | Data Type | Character Set | Standard Checksum | Primary Industry Use Case |
|---|---|---|---|---|
| Code 128 | Alphanumeric | Full 128 ASCII characters | Modulo 103 | Logistics, supply chain, shipping carton labels |
| EAN-13 | Numeric | Exactly 12 digits + 1 check digit | Modulo 10 (GS1) | International retail products (Europe, Asia, Global) |
| UPC-A | Numeric | Exactly 11 digits + 1 check digit | Modulo 10 (GS1) | North American retail point of sale (POS) |
| Code 39 | Alphanumeric | Uppercase A-Z, 0-9, and 7 symbols | Modulo 43 (optional) | Automotive, healthcare, and US Department of Defense |
| ITF-14 | Numeric | Exactly 14 digits (Interleaved 2 of 5) | Modulo 10 | Corrugated cardboard master packing cases |
Client-Side Security & Zero-Server Data Isolationā
- Stateless Generation: Barcode requests are processed ephemerally in memory without persistent database logging, telemetry, or IP tracking.
- Label Ready: Downloaded PNG files maintain clean 1-bit monochrome rendering with exact bar-to-space ratios, preventing optical blur when sent to direct thermal label printers.
- Local Caching: Generated images can be copied directly to your clipboard or saved locally without intermediate cloud storage.
Get notified about updates to this tool
No spam. Just high-quality updates about new features and guides.
Related Toolsā
Related Postsā
Learn how to create, style, and decode 1D barcodes and 2D codes in Python. Master python-barcode, Pillow rendering options (including removing label text), pyzbar, and OpenCV decoding.
You can check the history of a specific line in VS Code using the built-in features or the specific view. You can also install the free extension.
A comprehensive guide to working with QR codes in Python. Learn how to generate custom QR codes, embed brand logos, decode images, parse vectors (SVG), handle video arrays, and host online links.


