QR Code component
Codestype: "qr"Generates a scannable QR code from any string — URLs, coupon codes, Wi-Fi payloads — with configurable colors, margin and error-correction level.
Design JSON
{
"title": "QR code sample",
"description": "A dynamic QR code",
"dimensions": {
"width": 800,
"height": 420
},
"background": {
"color": "#ffffff"
},
"components": [
{
"id": "sample-qr",
"key": "link",
"type": "qr",
"position": {
"x": 290,
"y": 100
},
"rotation": 0,
"size": {
"width": 220,
"height": 220
},
"dynamic": true,
"properties": {
"value": "https://imejis.io",
"errorCorrectionLevel": "M",
"margin": 4,
"colorDark": "#000000",
"colorLight": "#ffffff",
"opacity": 1
}
}
]
}Like what you built? The full editor — canvas, templates and the render API — is free to start.
Open the editorQR Code examples
Real renders of the qr code — each one is the same component with different property values, and the API payload below each preview reproduces it exactly.
Event ticket check-in code
A per-attendee check-in QR encoding the unique ticket URL.
API overrides for this example
{
"link.value": "https://imejis.io/e/TKT-84721?utm_source=ticket"
}Coupon redemption code
A personal discount code encoded as plain text for in-store scanning.
API overrides for this example
{
"link.value": "SAVE20-9F3K7Q",
"link.colorDark": "#111827"
}All qr code styles
Every style rendered live — each is just a different set of property values on the same component, and each has its own page with a dedicated preview, use cases and API example.
Use cases
What developers typically build with the qr code component.
- Event tickets with a unique check-in QR per attendee
- Coupon images that encode a personal redemption code
- Print and packaging visuals linking to campaign landing pages
- Wi-Fi access cards for venues and rentals
Use it dynamically via the API
Set '<key>.value' (or just '<key>') to encode a different URL or string in every render; module colors are overridable as well.
Full API request with the sample design's current values — the playground above sends only the properties you change
curl --location 'https://render.imejis.io/v1/{{YOUR_DESIGN_ID}}' \
--header 'dma-api-key: {{YOUR_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
"link.value": "https://imejis.io",
"link.errorCorrectionLevel": "M",
"link.margin": 4,
"link.colorDark": "#000000",
"link.colorLight": "#ffffff",
"link.opacity": 1
}'Only send the properties you want to change — everything else keeps its design value. See the API documentation for all languages.
Property reference
Every property the qr code component accepts — in the editor, in design JSON, and as API overrides.
| Property | Type | Edits as | Default | Description |
|---|---|---|---|---|
| value | string | text | — | The string encoded into the QR code. |
| errorCorrectionLevel | 'L' | 'M' | 'Q' | 'H' | LMQH | "M" | QR error-correction level (higher survives more damage). |
| margin | number | 4 | 4 | Quiet-zone margin around the code in modules. |
| colorDark | color | #000000 | "#000000" | Color of the dark modules. |
| colorLight | color | #ffffff | "#ffffff" | Color of the light modules (background). |
| opacity | number | 1 | 1 | Overall component opacity from 0 (transparent) to 1 (opaque). |
| borderWidth | number | 0 | 0 | Border thickness in pixels around the component. |
| borderColor | color | transparent | "transparent" | Border color (any CSS color). |
| borderStyle | 'solid' | 'dashed' | 'dotted' | 'double' | 'none' | soliddasheddotteddoublenone | "solid" | Border line style. |
| borderRadius | number | 0 | 0 | Corner radius in pixels. |
| boxShadow | string | text | — | CSS box-shadow applied to the component, e.g. "0 4px 6px rgba(0,0,0,0.1)". |