A self-hosted Flask web app to generate QR codes for URLs, SEPA payments, WiFi, vCards and free text
1.3K

Flask-based QR code generator with multi-language support (nl, en, fr, de).
| URL | SEPA | WiFi |
|---|---|---|
![]() | ![]() | ![]() |
| vCard | Text | Admin |
|---|---|---|
![]() | ![]() | ![]() |
| Component | Version |
|---|---|
| Python | 3.13.18-slim |
| Type | Fields |
|---|---|
| URL | URL |
| SEPA | Recipient name, IBAN, Amount, BIC, Message |
| WiFi | SSID, Password, Security, Hidden |
| vCard | Name, Company, Job title, Phone, Email, Website, Street, City, Postal code, Country, Photo |
| Text | Free text |
docker run -p 5000:5000 -v qr-data:/app/data geertmeersman/qr-generator:latest
Or with Docker Compose:
services:
qr-web:
image: geertmeersman/qr-generator:latest
container_name: qr-web
ports:
- "5000:5000"
volumes:
- qr-data:/app/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5000/health"]
interval: 30s
timeout: 5s
retries: 3
restart: unless-stopped
volumes:
qr-data:
Open http://localhost:5000 in your browser.
You can pre-fill the form via URL parameters:
| Parameter | Type | Description |
|---|---|---|
tab | url | sepa | wifi | vcard | text | Opens the specified tab |
URL: ?tab=url&url=https://example.com
SEPA: ?tab=sepa&naam=Jan%20Janssen&iban=BE00000000000000&bedrag=10.00&bic=GEBABEBB&mededeling=Invoice%202026-001
WiFi: ?tab=wifi&ssid=MyNetwork&password=secret&security=WPA&hidden=0
vCard: ?tab=vcard&naam=Jan%20Janssen&bedrijf=Acme&functie=CEO&tel=%2B32499000000&[email protected]&url=https://example.com&straat=Hoofdstraat%201&stad=Brussel&postcode=1000&land=Belgium
Text: ?tab=text&text=Hello%20World
| Path | Description |
|---|---|
/vcard/<id> | Public vCard page with download button |
/vcard/<id>/download | Direct .vcf download |
/admin | Admin dashboard (login required) |
/admin/setup | First-time admin account setup |
Mount
/app/datato persist vCards and the admin database.
Rebuilt automatically whenever the upstream python:3.13-slim image is updated.
© 2026 Geert Meersman — Licensed under the MIT License — Releases
Content type
Image
Digest
sha256:434d2107b…
Size
73.8 MB
Last updated
about 9 hours ago
docker pull geertmeersman/qr-generator