QR Code Generator
Generate scannable QR codes from any text, URL, or structured payload (WiFi, vCard, SMS, email, geo, crypto). Returns PNG by default with JPG, WebP, and SVG output, plus optional error-correction, sizing, color, version, and encoding controls. Simple cURL POST: send qr_data, receive an image.
Offering
- Provider
- qr.reyn.tools
- Method
- POST
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Creative
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://qr.reyn.tools/run- MIME type
- Not provided
- First seen
- 2026-10-16T01:50:24.663Z
- Last seen
- Tags
- qr, image, Utility
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.00165 USDC
Atomic price: 1650 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "1650",
"payTo": "0xc508e10c786699b6192251df9d84766d891336a9"
}
]Observed health
- Status
- Reachable
- Latest latency
- 450 ms
- Average latency
- 799 ms
- HTTP status
- 405
- Last checked
- Reachability
- 100% over 15 checks
Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.
Input schema
{
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"qr_bg": {
"default": "FFFFFF",
"description": "Background module color, 3- or 6-digit hex.",
"type": "string"
},
"qr_boost_ec": {
"default": true,
"description": "Boost error correction when the data leaves room for it.",
"type": "boolean"
},
"qr_border": {
"default": 4,
"description": "Quiet-zone border in modules.",
"maximum": 10,
"minimum": 0,
"type": "integer"
},
"qr_data": {
"description": "Payload to encode. String for the default raw/url modes; an object of fields for structured qr_type presets, e.g. {'ssid': 'MyNetwork', 'password': 'hunter2'} for wifi.",
"type": "string"
},
"qr_ec": {
"default": "auto",
"description": "Error-correction level: L ~7%, M ~15%, Q ~25%, H ~30%.",
"enum": [
"auto",
"L",
"M",
"Q",
"H"
],
"type": "string"
},
"qr_fg": {
"default": "000000",
"description": "Foreground module color, 3- or 6-digit hex.",
"type": "string"
},
"qr_format": {
"default": "png",
"description": "Output image format (webp is the smallest raster; svg is vector).",
"enum": [
"png",
"jpg",
"webp",
"svg"
],
"type": "string"
},
"qr_mask": {
"description": "Mask pattern 0-7, or 'auto' (default)."
},
"qr_micro": {
"default": false,
"description": "Allow Micro QR symbols for small payloads.",
"type": "boolean"
},
"qr_mode": {
"default": "auto",
"description": "Encoding mode.",
"enum": [
"auto",
"numeric",
"alphanumeric",
"byte",
"kanji"
],
"type": "string"
},
"qr_quality": {
"default": 90,
"description": "Lossy JPEG encoder quality (WebP output is always lossless so it stays the smallest raster format).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"qr_size": {
"default": 512,
"description": "Target raster width/height in pixels (rounded down to whole modules).",
"maximum": 4096,
"minimum": 32,
"type": "integer"
},
"qr_type": {
"default": "raw",
"description": "Payload preset: raw (default) encodes qr_data verbatim; url prefixes https:// to bare domains; wifi/vcard/sms/tel/email/geo/crypto build the canonical scanner payload from an object.",
"enum": [
"raw",
"url",
"wifi",
"vcard",
"sms",
"tel",
"email",
"geo",
"crypto"
],
"type": "string"
},
"qr_version": {
"description": "QR symbol version 1-40, or 'auto' (default)."
}
},
"required": [
"qr_data"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}Output schema
{
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}