Developers
Generate styled QR code PNGs straight from your code — no account, no API key. One public endpoint takes JSON and returns an image.
POST /api/qr/guest/export?size=512 — returns an image/png. size is the pixel width (max 1024).
curl -X POST "https://qrcode.warlet.fr/api/qr/guest/export?size=512" \
-H "Content-Type: application/json" \
-o qr.png \
-d '{
"name": "My QR",
"qr_type": "url",
"data": "https://example.com",
"style": {
"fg_color": "#0d0d0f",
"bg_color": "#ffffff",
"dot_shape": "rounded",
"corner_roundness": 0.5,
"ec_level": "M"
}
}'const res = await fetch("/api/qr/guest/export?size=512", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
name: "My QR",
qr_type: "url",
data: "https://example.com",
style: { fg_color: "#0d0d0f", bg_color: "#ffffff", dot_shape: "rounded" }
})
})
const blob = await res.blob() // image/pngTop-level fields: name, qr_type (url, text, email, phone, sms, whatsapp, geo, wifi, contact, app), data, and a style object:
fg_colorstringData module color, e.g. "#0d0d0f".eye_colorstring?Finder (corner) ring color. Defaults to fg_color.eye_center_colorstring?Finder center color. Defaults to eye_color.bg_colorstringBackground color. Ignored if transparent_bg is true.transparent_bgboolExport with a transparent background.dot_shapestringsquare | rounded | dot | diamond | star.corner_roundnessfloat0–1, rounds square modules.module_marginfloatSpacing between modules (0–4).ec_levelstringError correction: L | M | Q | H.logo_urlstring?Public image URL to place in the center.logo_size_pctintLogo size as % of the code (10–35).Need saved codes, tracked redirects and scan analytics? Those live behind the authenticated /api/qr routes — create a free account.
Try the visual editor, then automate it with the API.