Qr Code Generator
Pricing
from $1.00 / 1,000 results
Qr Code Generator
Generate your Custom QR Code From 1$/1000. PNG & SVG output, 9 style presets (rounded, dots, neon, elegant…), custom label & logo overlay, Wi-Fi/vCard/URL payloads. Batch mode, ZIP download, REST API & Standby. No watermark.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(1)
Developer
Alexandre Manguis
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
QR Code Studio
Generate stylish, branded QR codes from URLs, WiFi credentials, vCards, emails, SMS, phone numbers, geo links, and calendar events. Export as PNG, SVG, or a ready-to-use ZIP archive. Run as a standard Actor run or as a persistent Standby HTTP API.
Style presets
9 ready-to-use visual styles — no design skills required.

| Preset | Look |
|---|---|
classic | Black and white, square modules |
rounded | Dark, soft rounded corners |
dots | Circular dots with circular eyes |
elegant | Subtle rounded modules on a light grey background |
neon | Cyan on dark navy, green eyes |
soft | Warm yellow background, teal modules, red eyes |
inverted | White modules on a dark background |
terminal | Green on black, monospace feel |
brand | Blue modules on white, brand-ready |
Payload types
| Type | What it encodes |
|---|---|
raw | Any plain text or URL as-is |
url | URL with optional https:// normalization |
wifi | WiFi network credentials (SSID, password, encryption) |
vcard | Contact card (name, phone, email, website, company) |
email | Pre-filled email with recipient, subject, and body |
sms | Pre-filled SMS with phone number and message |
phone | Direct phone dial link |
geo | GPS coordinates and optional altitude |
event | iCalendar event (title, start, end, location, description) |
Quick start
Single QR code — URL
{"content": "https://apify.com","size": 512,"format": "png","stylePreset": "rounded"}
With a logo and label
{"content": "https://apify.com","size": 768,"format": "both","stylePreset": "elegant","logoUrl": "https://cdn.apify.com/apify_favicon.png","label": "Scan me","labelPosition": "bottom"}
WiFi credentials
{"payloadType": "wifi","payload": {"ssid": "Guest WiFi","password": "change-me","encryption": "WPA","hidden": false},"stylePreset": "soft","size": 512}
vCard contact
{"payloadType": "vcard","payload": {"fullName": "Jane Doe","organization": "Acme Corp","title": "Founder","phone": "+33123456789","email": "jane@acme.com","url": "https://acme.com"},"stylePreset": "brand"}
Batch — multiple QR codes in one run
{"size": 768,"format": "both","zipOutput": true,"requests": [{ "name": "website", "content": "https://acme.com", "stylePreset": "rounded" },{ "name": "wifi", "payloadType": "wifi", "payload": { "ssid": "Office", "password": "secret", "encryption": "WPA" }, "stylePreset": "dots" },{ "name": "contact", "payloadType": "vcard", "payload": { "fullName": "Jane Doe", "phone": "+33123456789", "email": "jane@acme.com" }, "stylePreset": "brand" }]}
Input fields
| Field | Type | Default | Description |
|---|---|---|---|
content | string | — | Text or URL to encode. |
requests | array | — | Batch mode — one QR code per item; each item can override any field. |
payloadType | string | raw | raw, url, wifi, vcard, email, sms, phone, geo, or event. |
payload | object | — | Structured payload for non-raw types. |
format | string | png | png, svg, both, dataUrl, or json. |
size | integer | 512 | Output size in pixels (width and height). |
margin | integer | 4 | Quiet zone width. Keep 4 for best scanner compatibility. |
errorCorrectionLevel | string | H | L, M, Q, or H. Use H with a logo. |
stylePreset | string | rounded | One of the 9 style presets listed above. |
foregroundColor | string | preset | Module color. Hex recommended. |
backgroundColor | string | preset | Background color. |
transparentBackground | boolean | false | Transparent background (PNG/SVG). |
moduleStyle | string | preset | square, rounded, or dots. |
eyeStyle | string | preset | square, rounded, or circle. |
logoUrl | string | — | Public image URL for a center logo. |
logoBase64 | string | — | Base64 or data URL logo. |
logoSizeRatio | number | 0.2 | Logo size relative to QR size (0.08–0.32). |
logoBackgroundColor | string | — | Color behind the logo (improves contrast). |
label | string | — | Short text above or below the QR code. |
labelPosition | string | bottom | top or bottom. |
labelFontSize | integer | auto | Font size for the label in pixels. |
storeFiles | boolean | true | Save PNG/SVG files to the key-value store. |
includeBase64 | boolean | false | Embed data URLs directly in dataset rows. |
zipOutput | boolean | true | Bundle all files into a QR_CODES_ZIP archive. |
zipFilename | string | auto | Custom ZIP archive filename. |
filenamePrefix | string | qr | Prefix for all generated filenames. |
normalizeUrl | boolean | true | Auto-add https:// to bare domains. |
failOnError | boolean | false | Stop the run on the first error (default: log and continue). |
Output
Dataset item (one row per QR code)
{"success": true,"index": 0,"requestId": "website","content": "https://acme.com","payloadType": "raw","formats": ["png", "svg"],"size": 768,"width": 768,"height": 820,"stylePreset": "rounded","pngFileName": "qr-0001-website.png","pngUrl": "https://api.apify.com/v2/key-value-stores/.../records/...","svgFileName": "qr-0001-website.svg","svgUrl": "https://api.apify.com/v2/key-value-stores/.../records/...","generatedAt": "2026-01-01T12:00:00.000Z"}
Key-value store records
| Key | Content |
|---|---|
QR_0001_... | Individual PNG or SVG file |
OUTPUT | JSON summary with total count and per-item status |
QR_CODES_ZIP | ZIP archive with all generated files (when enabled) |
Standby HTTP API
When run in Standby mode, the Actor exposes a persistent HTTP endpoint. Useful for integrations that need on-demand QR codes without running a full Actor job.
Get an image directly
$curl "https://YOUR-STANDBY-URL/qr?content=https%3A%2F%2Fapify.com&format=png&stylePreset=rounded" --output qr.png
Get a JSON response
curl -X POST "https://YOUR-STANDBY-URL/generate" \-H "Content-Type: application/json" \-d '{"content":"https://apify.com","format":"both","stylePreset":"brand"}'
Batch endpoint
curl -X POST "https://YOUR-STANDBY-URL/batch" \-H "Content-Type: application/json" \-d '{"requests":[{"content":"https://apify.com"},{"content":"Hello"}]}'
Client examples
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('YOUR_USERNAME/qr-code-studio').call({content: 'https://apify.com',size: 512,format: 'both',stylePreset: 'rounded',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].pngUrl);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("YOUR_USERNAME/qr-code-studio").call(run_input={"content": "https://apify.com","size": 512,"format": "both","stylePreset": "rounded",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["pngUrl"])
Production tips
- Use
errorCorrectionLevel: "H"whenever you embed a logo — it allows the QR to remain scannable even with the logo covering part of the data. - Keep
marginat4unless your design guarantees enough quiet zone around the code. - Always test transparent and custom-color QR codes with multiple phone cameras before printing.
- For bulk runs, use
storeFiles: trueandzipOutput: trueto download all files in one archive. - In batch mode, set
nameon each request for readable filenames and dataset rows.
Keywords
qr code generator, qr code apify, bulk qr codes, batch qr code, branded qr code, stylish qr code, qr code with logo, qr code png, qr code svg, qr code wifi, qr code vcard, qr code contact, qr code email, qr code sms, qr code geo, qr code calendar, qr code api, standby api, qr code zip, qr code dataset, qr code automation, qr code no-code, apify actor