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.

Private by construction: the application stores nothing, makes no outbound request, and does not log request bodies or QR payloads. Use POST for sensitive values so they do not appear in query-string logs.

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.

View source and deployment guidesUse the free browser tool