Free QR code API
The QR Code Crafter API generates static QR assets through a public Netlify Function endpoint. It works with URL, WiFi, vCard, event, location, payment, app store, social profile, and plain text payloads.
Headless agents and server-side integrations should use the OpenAPI contract and HTTP endpoints. In supported visible browser contexts, the proposed WebMCP standard adds declarative generate_qr markup and supplemental runtime tools such as generate_bulk_qr. The same request shape can return SVG, PNG, JPG, WebP, PDF, or EPS files.
For batch work, the bulk endpoint accepts CSV or row objects and returns a ZIP archive with generated files plus manifest.csv and manifest.json. The public workflow is intentionally bounded to 50 rows so agents can automate safely without creating runaway jobs.
Use the API when you need repeatable QR generation without accounts, redirect lock-in, or scan-limit surprises. For campaign reporting, encode UTM-tagged destination URLs before generating the static QR code.
Independent feature review
Reviewed on
Key decisions
Free public endpoint
Call /.netlify/functions/generate-qr with GET parameters or a POST JSON body. Optional API keys are supported for issued credentials.
Agent-readable discovery
Use /ai.txt, /.well-known/openapi.json, and /openapi.yaml for headless discovery. Browser agents can additionally inspect /.well-known/webmcp.json and the tools registered in their current page context.
Published agent recipes
OpenAPI GenerateQrRequest includes x-agent-recipes and WebMCP includes api.agentRecipes so agents can reuse deterministic payload examples for each supported QR content type.
Six export formats
Generate SVG, PNG, JPG, WebP, PDF, and EPS assets from the same request structure.
Bulk ZIP generation
Call /.netlify/functions/generate-qr-bulk with up to 50 rows to receive a ZIP containing QR files and machine-readable manifests.
Verifiable output metadata
POST responses include byte length and dimensions, while GET responses expose matching headers so agents can validate saved assets.
Optional API keys
Requests can include X-Agent-Api-Key when credentials are issued, while public access remains available unless enforcement is enabled.
API request options
| Option | Accepted values | Use |
|---|---|---|
| endpoint | GET or POST /.netlify/functions/generate-qr | Generate a single static QR asset from an encoded payload |
| bulk endpoint | POST /.netlify/functions/generate-qr-bulk | Generate a ZIP archive from CSV rows or row objects |
| bulk limit | 1-50 rows per request | Keep browser agents and public automation bounded |
| format | svg, png, jpg, webp, pdf, eps | Choose the output asset type |
| size | 256-4096 | Set image dimensions for raster and layout exports |
| dimensions | px for SVG/raster, pt for PDF/EPS | Verify generated asset width and height before saving |
| byteLength | Returned in JSON and X-QR-Bytes | Confirm decoded bytes match the response metadata |
| discovery | OpenAPI, WebMCP, ai.txt, llms.txt | Let browser agents, crawlers, and API clients discover parameters without guessing |
| errorCorrectionLevel | L, M, Q, H | Use H when adding a logo or printing in tough conditions |
How agents should call the QR code API
The API is intentionally small: send the QR payload, choose a format, and verify the returned file metadata before handing the asset to another workflow.
Prefer POST for automation
POST JSON keeps long payloads, vCards, calendar events, and logo data URLs out of query strings and returns base64 data with filename metadata.
Use GET for direct downloads
GET query parameters return the binary QR asset directly and expose X-QR-Width, X-QR-Height, X-QR-Unit, and X-QR-Bytes headers.
Register through WebMCP when available
WebMCP is a proposed standard that requires a supported visible browser tab or webview. Live pages expose generate_qr as declarative form markup plus supplemental runtime tools such as generate_bulk_qr; headless clients should use the OpenAPI HTTP endpoints instead.
Validate every saved file
Check contentType, extension, byteLength, and dimensions before writing the SVG, PNG, JPG, WebP, PDF, or EPS asset to downstream storage.
Batch QR code generation through the bulk endpoint
Use the bulk endpoint when an agent needs many static QR files for labels, classrooms, packaging, menus, event badges, or campaign assets.
Send CSV or row objects
POST rows as filename,value CSV or as JSON objects with value and optional filename. The endpoint normalizes filenames and rejects empty or oversized rows before generating files.
Choose one shared export format
Set SVG, PNG, JPG, WebP, PDF, or EPS once for the batch. Prefer SVG for high-volume agent workflows and PDF or EPS for print handoff.
Use Accept: application/zip for direct downloads
Agents can request a binary ZIP directly, or request JSON to receive base64 ZIP data, byte length, file count, and manifest details.
Inspect manifest files
Every ZIP includes manifest.csv and manifest.json so downstream systems can match source rows to generated filenames, statuses, and byte counts.
Static QR payloads the API supports
The endpoint encodes the exact payload you provide. Build the right payload string first, then generate the QR file in the format your workflow needs.
Marketing and content links
Encode HTTPS URLs, UTM-tagged campaign links, app store pages, social profiles, menus, PDF landing pages, and Google review links.
Device actions
Encode WiFi strings, mailto links, SMS actions, phone links, WhatsApp links, calendar events, map coordinates, and vCard contact payloads.
Payment and payment-link payloads
Encode validated PIX, UPI, PhonePe-compatible UPI, Swish, SEPA/GiroCode, PromptPay, VietQR, Swiss QR-bill, iDEAL, MobilePay/Vipps, QRIS, PayPal, Venmo, Cash App, and crypto wallet payloads or provider links after confirming the payment details in your own workflow.
Print and design output
Use SVG, PDF, or EPS for production artwork, and PNG, JPG, or WebP for quick digital publishing and previews.
Agent integration checklist
- Read /ai.txt or /.well-known/openapi.json first so the client uses the current endpoint, request schema, and supported formats.
- Use POST JSON for vCard, event, WiFi, payment, and logo workflows where payloads may be long or contain reserved URL characters.
- Use /.netlify/functions/generate-qr-bulk for batches up to 50 rows, and include Accept: application/zip when the agent needs a direct ZIP download.
- Set a descriptive User-Agent so QR Code Crafter can identify automated integrations.
- Honor 429 and 503 Retry-After headers before retrying requests.
- In browser agents, inspect the tools registered in the current page context; a WebMCP manifest alone does not make a tool callable. Use the OpenAPI HTTP endpoint for headless clients.
- Decode the base64 data field from POST responses and save it with the returned extension.
- Verify byteLength, dimensions, fileCount, and manifest metadata before handing QR files to another workflow.
- Run a live smoke test across each content payload and export format before relying on the API in production.
Guides: print
Free QR code API should be treated as a publishing workflow, not only a generated image. Confirm the destination, choose the export format, test the finished asset, and assign an owner before it appears in public material.
Before using Free QR code API in print, packaging, signage, email, documents, apps, or automation, keep a release note with the encoded value, file name, export format, placement, owner, and test result. That record makes later corrections possible.
URL QR code: HTTPS
For Free QR code API, verify that the encoded URL, contact detail, payment instruction, file, or app action is accurate, controlled by the right team, available on mobile, and appropriate for the people who may scan it.
Select format
Keep SVG, PDF, or EPS masters for print, packaging, signs, and design tools. Use PNG, JPG, WebP, or SVG for websites, email, documents, and digital placements, and avoid unexpected compression of the final code.
scan
Scan the browser preview, downloaded file, placed layout, exported PDF, CMS upload, email preview, and physical proof from realistic distances, angles, lighting, and devices before release.
Company
Record the QR owner, destination, source file, export format, placement, publish date, test devices, review date, and replacement trigger so long-lived static codes remain trustworthy.
QR code API
When many QR files are needed, use consistent names, manifest checks, OpenAPI or WebMCP parameters, and output-format validation before handing assets to design, print, or content teams.
static vs dynamic QR codes
Review Free QR code API after campaign changes, rebrands, domain moves, payment-detail updates, app-store changes, document migrations, or analytics changes so public QR codes do not point to stale or unsafe destinations.
Feedback
Add readable destination text, a short URL, support contact, or printed instruction where scanning is business-critical, accessibility-sensitive, or likely to happen with poor connectivity.
Accessibility
Place nearby text that explains the scan action, keep contrast high, avoid tiny placements, and ensure the destination works with mobile browsers, screen readers, reduced-motion settings, and keyboard navigation.
Generate a QR code through the API
- 1
Choose single or bulk generation
Use generate-qr for one asset, or generate-qr-bulk when an agent needs a bounded ZIP archive of many static QR files.
- 2
Build the payloads
Prepare the final URL, WiFi string, vCard, event, payment URI, text, CSV, or row objects exactly as scanners should read them.
- 3
Choose the output format
Select SVG, PDF, or EPS for print workflows, or PNG, JPG, or WebP for digital publishing and previews.
- 4
Verify the response
Confirm success, content type, byte length, dimensions, and extension before saving or returning the QR asset.
Frequently asked questions
What is the QR Code Crafter API endpoint?
Use /.netlify/functions/generate-qr with either GET query parameters or a POST JSON body for one QR code. Use /.netlify/functions/generate-qr-bulk with POST JSON when you need a ZIP archive of up to 50 QR files.
Can the API generate QR codes in bulk?
Yes. POST CSV rows or row objects to /.netlify/functions/generate-qr-bulk. The endpoint returns either JSON with base64 ZIP data or a direct application/zip response when the request includes Accept: application/zip.
Is this a QR code generator API?
Yes. QR Code Crafter is a QR code generator API for static files: send a payload to generate QR codes as SVG, PNG, JPG, WebP, PDF, or EPS. Teams looking for an API QR code generator, qrcode API, QR API, or generate QR code API workflow can use the same public endpoint.
Is the QR code API free to use?
Public generation is available without an account unless API key enforcement is enabled for a specific deployment. If you have an issued key, include X-Agent-Api-Key and design clients to handle 401 responses.
Which file formats can the API return?
The public contract supports SVG, PNG, JPG, WebP, PDF, and EPS output formats.
Can browser agents use WebMCP to generate QR codes?
Yes, when a supported visible browser context exposes document.modelContext or navigator.modelContext. Live pages expose generate_qr declaratively and register supplemental tools such as generate_bulk_qr. WebMCP is a proposed standard and does not provide a headless transport, so server-side agents should use the OpenAPI HTTP endpoints.
Does the API create dynamic tracking QR codes?
No. The API creates static QR assets. To measure campaign visits, encode a UTM-tagged URL or a redirect URL you control before generating the QR code.