Generate QR codes as PNG or SVG with a simple GET request. Custom colors, sizes, and error correction. No rate limits for reasonable usage.
https://qr-studio.top/api/generateReturns a QR code image directly. Embed it in an <img> tag or download it programmatically.
| Parameter | Type | Required | Description |
|---|---|---|---|
data | string | required | The content to encode (URL, text, WiFi string, etc.). Max 4096 characters. |
size | number | optional | Image width/height in pixels. Range: 64–2048. Default: 512. |
format | string | optional | Output format: "png" or "svg". Default: "png". |
errorCorrection | string | optional | Error correction level: "L" (7%), "M" (15%), "Q" (25%), "H" (30%). Default: "M". |
darkColor | string | optional | Hex color for dark modules. Default: "#000000". |
lightColor | string | optional | Hex color for light modules / background. Default: "#FFFFFF". |
margin | number | optional | Quiet zone margin in modules. Range: 0–20. Default: 4. |
Simplest call — encode a URL as a 512px PNG.
GET https://qr-studio.top/api/generate?data=https://qr-studio.topGenerate a 256px SVG QR code with text content.
GET https://qr-studio.top/api/generate?data=Hello+World&size=256&format=svgBlue QR code with light blue background.
GET https://qr-studio.top/api/generate?data=https://example.com&darkColor=%231E40AF&lightColor=%23F0F9FF&size=400Maximum error correction with minimal margin.
GET https://qr-studio.top/api/generate?data=https://example.com&errorCorrection=H&margin=2Encode a WiFi network as a QR code.
GET https://qr-studio.top/api/generate?data=WIFI:T:WPA;S:MyNetwork;P:MyPassword;;&size=600This image is loaded directly from the API:
<img src="https://qr-studio.top/api/generate?data=https://qr-studio.top&size=200" /><img src="https://qr-studio.top/api/generate?data=https://example.com&size=300" alt="QR Code" />curl -o qrcode.png "https://qr-studio.top/api/generate?data=https://example.com&size=512"const response = await fetch(
"https://qr-studio.top/api/generate?data=https://example.com&format=svg"
);
const svg = await response.text();import requests
response = requests.get(
"https://qr-studio.top/api/generate",
params={"data": "https://example.com", "size": 512}
)
with open("qrcode.png", "wb") as f:
f.write(response.content)Success (200)
Returns the QR code image directly with Content-Type: image/png or Content-Type: image/svg+xml. Cached for 24 hours.
Error (400)
{ "error": "Missing required parameter: data" }If you want monthly plans, marketplace discovery, and subscriber billing, QR Studio also exposes a dedicated RapidAPI-ready route with its own OpenAPI spec and recommended pricing tiers.
View the RapidAPI publishing docs