Overview
The QR Gen API works perfectly with n8n's HTTP Request node. Since the API requires no authentication, you don't need to configure any credentials — just add an HTTP Request node, point it at the API, and you have QR codes in your workflow.
Common use cases for QR codes in n8n workflows:
- Generate QR codes for new products added to a Shopify store
- Create event tickets with unique QR codes from a Google Sheets trigger
- Auto-generate UPI payment QR codes when an invoice is created
- Send WiFi QR codes to guests via email when they book an Airbnb
- Attach QR codes to Slack messages or Discord notifications
Basic Setup: HTTP Request Node
Add an HTTP Request node to your workflow with these settings:
| Setting | Value |
|---|---|
| Method | GET |
| URL | https://qrgenapp.com/api/qr |
| Authentication | None |
| Response Format | File |
Add query parameters:
| Name | Value |
|---|---|
data | {{ $json.url }} (or any expression) |
format | png |
size | 512 |
ec | H |
Set Response Format to File so n8n treats the PNG response as a binary file you can pass to email, Slack, Google Drive, or other nodes.
Using POST with JSON Body
For WiFi strings, vCards, or other complex data, switch to POST:
| Setting | Value |
|---|---|
| Method | POST |
| URL | https://qrgenapp.com/api/qr |
| Body Content Type | JSON |
| Response Format | File |
JSON body:
{
"data": "WIFI:T:WPA;S:{{ $json.network_name }};P:{{ $json.password }};;",
"format": "png",
"size": 512,
"ec": "H"
}Example Workflow: Google Sheets to QR Code Email
This workflow reads URLs from a Google Sheet and sends QR codes via email:
- Trigger: Schedule Trigger (runs daily) or Google Sheets Trigger (on new row)
- Read: Google Sheets node — reads rows with a
urlandemailcolumn - Generate QR: HTTP Request node — calls QR Gen API with
{{ $json.url }}as the data parameter, response format set to File - Email: Send Email node — attaches the QR code binary from the previous node
The HTTP Request node configuration:
{
"method": "GET",
"url": "https://qrgenapp.com/api/qr",
"qs": {
"data": "={{ $json.url }}",
"format": "png",
"size": "512",
"ec": "H"
},
"responseFormat": "file"
}Example Workflow: Invoice to UPI QR Code
Automatically generate a UPI payment QR when an invoice is created:
- Trigger: Webhook node (receives invoice data from your billing system)
- Build UPI URI: Set node — creates the UPI string:
upi://pay?pa={{ $json.upi_id }}&pn={{ $json.business_name }}&am={{ $json.amount }} - Generate QR: HTTP Request node — sends the UPI URI to QR Gen API
- Send: WhatsApp / Email / Slack node — delivers the QR code to the customer
SVG Output for Web Embedding
If you need to embed QR codes in HTML emails or web pages, request SVG format instead:
{
"data": "https://example.com",
"format": "svg",
"size": 256,
"color": "1a1a1a"
}Set the response format to Text (not File) when using SVG, since the response is an XML string you can embed directly in HTML.
Tips
- No credentials needed. The API is completely free and requires no authentication. Don't add credential configuration — it's unnecessary.
- Use expressions for dynamic data. Reference previous node output with
{{ $json.fieldName }}in the data parameter. - Set response format to File for images. This ensures PNG output is treated as binary data you can pass to email, storage, or messaging nodes.
- Use error correction H for printed QR codes. If the QR code will be printed on physical materials, use
ec=Hfor maximum error tolerance. - Batch with Split In Batches. If generating many QR codes, use n8n's Split In Batches node to avoid overwhelming the API with concurrent requests.
See the full API Reference for all parameters.
Add QR codes to your n8n workflows
No credentials needed. Just add an HTTP Request node and go.
Full API Reference