Free Online Barcode Generator
Generate 1D barcodes in Code 128, EAN-13, UPC-A, and other standard symbologies β download as PNG instantly.
Enter any text or numeric string, select a barcode symbology, and the tool returns a print-ready barcode image via the Hrekov VPS API. No software to install, no account required.
Use the Toolβ
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.
Get notified about updates to this tool
No spam. Just high-quality updates about new features and guides.
What This Tool Doesβ
What the tool doesβ
A web UI and API that encodes a text string into a 1D barcode image using standard symbologies. You provide the data and select the format; the backend encodes it using the appropriate specification and returns a PNG suitable for print or digital use.
What problems it solvesβ
Creating a barcode for a product label, inventory sticker, or shipping manifest normally means installing a desktop application, a Python library, or paying for a label printing SaaS. For small batches β a handful of asset tags, a run of event tickets, a prototype product label β this tool generates the image immediately without any setup.
Who should use itβ
- Small business owners creating product labels or shelf tags without retail labeling software
- Warehouse and inventory managers generating bin labels and stock item codes on demand
- Developers testing how a string encodes in a specific symbology before implementing it server-side
- Event organizers producing ticket barcodes for entry scanning
- Healthcare and logistics teams generating asset tracking codes for equipment or shipments
Why it matters β barcode symbologies explainedβ
Not all barcodes are the same format. Each symbology has rules about what data it can encode, how many characters, and what scanners can read it. Using the wrong one for your use case produces a code that either won't scan or will be rejected by the receiving system.
| Symbology | Data type | Capacity | Primary use |
|---|---|---|---|
| Code 128 | Full ASCII (A/B/C subsets) | Variable, ~80 chars practical | Shipping labels, logistics, general purpose |
| EAN-13 | 13 digits only | Exactly 13 digits | Retail product barcodes (global standard) |
| EAN-8 | 8 digits only | Exactly 8 digits | Small product packaging |
| UPC-A | 12 digits only | Exactly 12 digits | North American retail (subset of EAN-13) |
| Code 39 | Uppercase AβZ, 0β9, symbols | Variable | Automotive, defence, asset tracking |
| ITF-14 | 14 digits only | Exactly 14 digits | Outer carton / shipping container labeling |
Code 128 is the most versatile β it can encode any ASCII character and is the default for most non-retail use cases. EAN-13 and UPC-A are governed by GS1 standards and require a registered company prefix for commercial retail; you can generate them here for testing, but production retail barcodes need a GS1-issued number.
How It Worksβ
Inputβ
Enter the string you want to encode. The valid characters depend on the symbology:
- Code 128 β any ASCII character
- EAN-13 / EAN-8 / UPC-A / ITF-14 β digits only, exact fixed length (check digit is calculated automatically)
- Code 39 β uppercase AβZ, digits 0β9, and the symbols
- . $ / + % SPACE
Processingβ
The string is posted to the barcode encoder endpoint on the Hrekov VPS. The encoder validates the input against the symbology's character set and length rules, calculates any required check digits (e.g., the Luhn-like modulo-10 check digit for EAN/UPC), encodes the data into the symbology's bar-space pattern, and renders the result as a PNG with a human-readable text line below the bars.
Limitationsβ
- EAN-13 requires exactly 12 input digits β the 13th (check digit) is calculated and appended automatically. Submitting 13 digits will cause a validation error.
- Code 39 does not support lowercase β lowercase input is rejected by the spec. Use Code 128 if you need mixed case.
- No vector output β the tool generates PNG only. For scalable print use, you need SVG or EPS output, which requires the API directly.
- No GS1 registration β EAN/UPC codes generated here are structurally valid but not registered with GS1. Use them for internal/testing purposes only unless you have a GS1 company prefix.
Outputβ
A PNG image with the barcode pattern and the encoded string printed below it in a standard barcode font. Downloadable with one click.
Frequently Asked Questionsβ
What is the difference between a barcode and a QR code?β
Barcodes (1D) encode data in a single horizontal axis as a pattern of bars and spaces β scanners read them by passing a laser across the bars. QR codes (2D) encode data in both axes using a grid of modules, allowing far more data in less physical space and the ability to scan at any angle. Use barcodes where the receiving system expects them (retail scanners, warehouse guns); use QR codes for URLs, contact cards, and Wi-Fi credentials.
Which symbology should I choose?β
For general purpose use, Code 128 handles any text or number string and is accepted by virtually all modern scanners. Use EAN-13 or UPC-A only for retail products β they require registered GS1 prefixes for commercial sale. Use Code 39 for automotive or defence supply chains where the spec requires it.
Does EAN-13 need exactly 13 digits?β
You input 12 digits β the tool calculates and appends the 13th check digit automatically. If you submit 13 digits, the last digit is treated as the check digit and validated; an incorrect check digit will return an error.
Can I use these barcodes for retail products?β
You can generate structurally valid EAN/UPC barcodes here for testing and prototyping. For commercial retail, the number must be registered through GS1 with a company prefix issued to your organisation.
Is there an API for bulk generation?β
Yes. Visit the API documentation for endpoint details, authentication, and rate limits.
Practical Uses for Barcodesβ
- Product Labeling (UPC/EAN): Create standard retail barcodes for product packaging and point-of-sale scanning.
- Inventory Management: Generate barcodes for warehouse bins and stock items to streamline inventory tracking.
- Asset Tracking: Tag company equipment, laptops, and furniture to monitor location and ownership.
- Library Systems: Catalog books and media resources for efficient check-in and check-out processes.
- Membership Cards: Create unique barcodes for gym memberships, loyalty programs, or club ID cards.
- Event Tickets: Generate scannable barcodes for tickets to validate entry at concerts, conferences, or venues.
- Shipping & Logistics: Create shipping labels to track packages through the supply chain and delivery process.
- Document Management: Label physical files and folders to easily index and retrieve documents in archives.
- Patient Identification: Generate barcodes for hospital wristbands to ensure accurate patient identification and medication administration.
- Employee Badges: Create ID badges for time clock systems and secure building access control.
Related Toolsβ
Related Postsβ
Exploring the limitations and trade-offs of using Pydantic for data validation in Python applications. Includes code examples and performance considerations.
While msgspec is a performance-oriented alternative to Pydantic, it comes with trade-offs. This article explores the limitations of msgspec in comparison to Pydantic for Python developers.
Learn how to generate barcodes in Python without the default text under them using the `python-barcode` library.
Get Early Access to New Tools
Be the first to try new APIs and applications. No noise. Only meaningful releases and practical engineering insights.


