One renderer, every deployment shape
Honest QR Code API generates PNG, SVG, and JSON module matrices from text, URLs, WiFi credentials, contact cards, email, phone, SMS, WhatsApp, locations, and calendar events. Inputs are bounded, output is deterministic, and generated codes are tested with an independent decoder.
Run the container
docker run --rm -p 8080:8080 \
ghcr.io/mizaro/honestqrcode-api:latest
curl "http://localhost:8080/v1/qr?data=Hello%20world" \
--output hello.png
The scratch-based image runs without root privileges and supports both AMD64 and ARM64. Health checks, readiness, OpenMetrics, structured logs, request limits, deadlines, OpenAPI, and graceful shutdown are built in.
Structured, private generation
curl -X POST http://localhost:8080/v1/qr \
-H "content-type: application/json" \
--output wifi.svg \
-d '{
"data": {
"kind": "wifi",
"ssid": "My Network",
"password": "secret",
"security": "wpa"
},
"render": { "format": "svg", "width": 512 }
}'
Open source stays open
The API is available under Apache-2.0. You can inspect it, fork it, modify it, run it commercially, and deploy it on your own infrastructure under the license terms. A future managed service may charge for hosted capacity, scale, support, and an SLA—not for access to the frontend or the self-hosted engine.
The free browser generator remains independent and creates QR codes locally without calling this API.
Deploy where you already work
The repository includes a minimal Dockerfile, Docker Compose, hardened Kubernetes manifests, an AWS SAM template for Lambda, a systemd unit, a command-line tool, generated OpenAPI, and CI that verifies Rust, containers, licenses, and security advisories.