QR code generator
qr_generateGenerate QR codes as SVG or PNG for links, text, Wi-Fi, vCards, email, SMS, calls, or map locations, with size, color, shape, and optional logo controls.
Instructions
Make a QR code as SVG or PNG for a link, plain text, Wi-Fi login, contact card (vCard 3.0), email, SMS, phone call or map location. Same encoder as the website (qrcode.js: versions 1-40, error correction L/M/Q/H, smallest version that fits, best mask), UTF-8 so Arabic/emoji work. Options: size in px, quiet-zone margin, colours, square/rounded/dots modules, and an optional centre logo (forces level H). Returns the file path, the exact encoded text, version, module count and contrast warnings. Max about 2.9 KB of data at level L. Web version: https://s3eidat.github.io/qr-studio/
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | email: recipient address. | |
| ecc | No | Error correction: L 7%, M 15% (default), Q 25%, H 30%. A logo forces H. | M |
| url | No | url: web address; "https://" is added when no scheme is given. | |
| body | No | email: message body. | |
| logo | No | Optional centre logo image (path or base64, max 5 MB). Covers ~22% of the code; error correction becomes H. | |
| mode | No | Encoding mode. "byte" (UTF-8, what the website uses), "auto" (numeric/alphanumeric when the text allows, smaller codes), or force one. | byte |
| size | No | Image width/height in px (default 1024). | |
| ssid | No | wifi: network name. | |
| text | No | text: any text (encoded exactly as given). | |
| type | No | What the code holds. Default: "url" if url is given, else "text". | |
| No | vcard: email address. | ||
| label | No | geo: optional place label (?q=). | |
| phone | No | vcard/sms/tel: phone number. | |
| shape | No | Module shape. Rounded/dots also round the three finder squares. | square |
| format | No | Output format. | png |
| hidden | No | wifi: the network is hidden. | |
| margin | No | Quiet zone in modules (default 4; under 2 may not scan). | |
| output | No | Where to write the result: a file path, or a folder ending in "/". Default: the server output folder (a temp folder unless --out-dir is set). | |
| address | No | vcard: address. | |
| company | No | vcard: company. | |
| message | No | sms: message text. | |
| subject | No | email: subject. | |
| version | No | QR version 1-40 (size), or 0 = smallest that fits (default). | |
| website | No | vcard: website. | |
| jobTitle | No | vcard: job title. | |
| lastName | No | vcard: last name. | |
| latitude | No | geo: latitude, -90..90. | |
| password | No | wifi: password (ignored for open networks). | |
| security | No | wifi: WPA (WPA/WPA2/WPA3, default), WEP, or nopass (open). | |
| firstName | No | vcard: first name. | |
| longitude | No | geo: longitude, -180..180. | |
| background | No | Background colour, hex (default #ffffff). | #ffffff |
| foreground | No | Module colour, hex (default #0d0f12). | #0d0f12 |
| returnBase64 | No | Also return the output as base64 in the result (only for small files). Default false. |