Spec-first barcode infrastructure

The barcode API that
read the specification.

60 symbologies. Every engine validated against its ISO or AIM standard, not a library that wrapped another library that once read a Wikipedia article. Round-trip verified. Reed-Solomon proofs. Cross-validated by three independent decoders.

60
symbologies
implemented
307
tests passing
across all engines
3
independent decoders
must agree
0
RS syndromes on
DotCode validation

Live demo

Encode any barcode. Right now.

No sign-up. No API key. Just type and get a barcode. The same engine that runs in production.

ec2-44-201-74-60.compute-1.amazonaws.com/barcode/v1/encode
Click Encode →
Round-trip verified ✓
Download SVG

Integration

Three lines to your first barcode.

# Encode a QR Code
curl -X POST https://ec2-44-201-74-60.compute-1.amazonaws.com/barcode/v1/encode \
  -H "X-API-Key: bl_your_key" \
  -H "Content-Type: application/json" \
  -d '{"text":"https://barcodelab.ai","symbology":"qr_code","format":"PNG"}' \
  --output qr.png

# Decode a barcode from an image file
curl -X POST https://ec2-44-201-74-60.compute-1.amazonaws.com/barcode/v1/decode \
  -H "X-API-Key: bl_your_key" \
  -F "file=@barcode.png"

# Response
{
  "data_text": "https://barcodelab.ai",
  "symbology": "qr_code",
  "verified": true,
  "confidence": 1.0
}
import barcodelab

# pip install barcodelab
client = barcodelab.Client(api_key="bl_your_key")

# Encode
result = client.encode(
    text="https://barcodelab.ai",
    symbology="qr_code",
    format="PNG",
)
with open("qr.png", "wb") as f:
    f.write(result.image_data)

# Decode
decoded = client.decode(file=open("barcode.png", "rb"))
print(decoded.data_text)   # → "https://barcodelab.ai"
print(decoded.verified)    # → True
// npm install @barcodelab/sdk
import { BarcodeLab } from "@barcodelab/sdk";

const client = new BarcodeLab({ apiKey: "bl_your_key" });

// Encode
const result = await client.encode({
  text: "https://barcodelab.ai",
  symbology: "qr_code",
  format: "SVG",
});
document.getElementById("barcode").innerHTML = result.image_data;

// Decode
const decoded = await client.decode({ file: imageFile });
console.log(decoded.data_text);   // "https://barcodelab.ai"
console.log(decoded.verified);    // true
// composer require barcodelab/sdk
use BarcodeLab\Client;

$client = new Client(api_key: "bl_your_key");

// Encode
$result = $client->encode(
    text: "https://barcodelab.ai",
    symbology: "qr_code",
    format: "PNG",
);
file_put_contents("qr.png", $result->image_data);

// Decode
$decoded = $client->decode(file: fopen("barcode.png", "rb"));
echo $decoded->data_text;   // "https://barcodelab.ai"

Symbology coverage

60 symbologies. Every one spec-validated.

Not wrappers around wrappers. Each engine is tested against the worked examples in the actual standard document.

Why it matters

Your scanner doesn't care
what you assumed.

01

Built from the specification, not from StackOverflow

DotCode was implemented directly from AIM ISS Rev 4.0. Reed-Solomon over GF(113). Every worked example in §6.1, §6.2, §6.3 verified. RS syndromes = 0. That is a mathematical proof, not a unit test.

02

Three decoders must agree before you get a response

Every encoded symbol is checked by our own decoder, zxing-cpp, and pyzbar. If they disagree, we return an error — not a barcode that will fail on a real scanner at 3am on a production line.

03

GS1 Application Identifiers parsed and validated

200+ AIs from GS1 General Specifications Release 24.0. Check digits, date century rule, AI companion requirements, FNC1 separators. Shared across all 22 GS1-capable engines — one implementation, verified once.

Pricing

Start free. Pay when you grow.

Every plan includes all 60 symbologies. Quality doesn't change by tier — only volume and support do.

Free
$0 / mo
500 operations / month

  • All 60 symbologies
  • PNG + SVG output
  • 1 API key
  • Community support
Get started free
Starter
$20 / mo
10,000 operations / month

  • All 60 symbologies
  • PNG + SVG + JPEG
  • Batch up to 50
  • 5 API keys
  • Email support
Start Starter
Enterprise
Custom
Unlimited operations

  • On-premise deployment
  • SDK license included
  • SSO / SAML
  • Dedicated support
  • 99.99% SLA
  • Custom symbologies
Contact sales