Introducing Barcoding: Barcode Generation as a Service
Barcode generation sounds like a solved problem. Libraries exist in every language. Open-source tools abound. So why build a hosted API for it?
Because in practice, barcode generation is harder than it looks.
The Problem
If you’ve ever tried to add barcode generation to a production application, you’ve probably hit one of these issues:
Libraries are inconsistent. The Python library generates barcodes that look different from the Node library. One handles quiet zones correctly; the other doesn’t. One calculates check digits; the other silently produces an invalid barcode.
Standards compliance is tricky. EAN-13 and UPC-A have specific rules about module widths, quiet zone dimensions, and human-readable text placement. GS1 has an entire specification document that runs to hundreds of pages. Getting this right in-house means reading standards documents and testing with physical scanners.
Maintenance is ongoing. Once you’ve integrated a barcode library, you own it. Library updates, language version bumps, rendering edge cases, DPI handling for print output — it’s all on you.
What We Built
Barcoding is a REST API that generates barcodes. Send a POST request with your data and barcode type, get back an image.
We support four barcode types that cover the vast majority of use cases:
- Code 128 — Shipping labels, logistics, general purpose
- EAN-13 — International retail product identification
- UPC-A — North American retail product identification
- QR Code — Marketing, payments, authentication, general purpose
Every barcode we generate is standards-compliant. Correct quiet zones, correct check digits, correct module dimensions. We verify our output against independent barcode scanning libraries — if a scanner can’t read it, we treat it as a bug.
How It Works
Generate a barcode in a single HTTP request:
curl -X POST https://api.barcoding.io/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "qr", "data": "https://example.com"}'
The response is the barcode image with the appropriate Content-Type header. No base64 encoding to unwrap, no JSON to parse — just the image bytes, ready to save, display, or stream to a client.
Need JSON with metadata? Set the Accept header to application/json and you’ll get a base64-encoded image along with dimensions, format, and the encoded data.
Pricing
We offer two plans:
- Free: 500 generations per month, PNG output, 10 requests per minute. No credit card required.
- Starter ($29/month): 10,000 generations per month, PNG and SVG output, 60 requests per minute.
Both plans include all four barcode types, the full dashboard, and the barcode playground.
What’s Next
We’re starting with the four most common barcode types and two output formats. Based on what our users need, we’ll be adding more symbologies, more output formats, and more features.
If you have a barcode generation problem, we’d like to hear about it. Sign up for free and try it out, or reach out to us with questions.