Endpoint
Retorna uma imagem diretamente. Todos os parâmetros são passados como argumentos na query string. O CORS está aberto — o endpoint pode ser chamado de qualquer origem.
Início Rápido
Parâmetros
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
| type required | string | — | QR code type. See supported types below. |
| format optional | svg | png | webp | png | Output image format. |
| size optional | integer | 300 | Output size in pixels (50–2000). |
| margin optional | integer | 4 | Quiet zone in modules (0–20). |
| ec optional | L | M | Q | H | M | Error correction level. Higher = more redundancy. |
| fg optional | hex | 000000 | Foreground (dot) color as 6-digit hex (no #). |
| bg optional | hex | ffffff | Background color as 6-digit hex (no #). |
| transparent optional | boolean | false | Transparent background (SVG/WebP/PNG). |
| style optional | square | dots | rounded | square | Dot style. |
Tipos de QR Code
Passe type= com um dos valores abaixo. Cada tipo requer seus próprios parâmetros de conteúdo.
emailE-mailemailEmail addresssubjectEmail subject (optional)bodyEmail body (optional)phoneTelefonephonePhone number with country codesmsSMSphonePhone numbermessagePre-filled message (optional)wifiWiFissidNetwork name (SSID)passwordWiFi passwordencryptionWPA | WEP | nopasshiddentrue if network is hiddenvcardvCardnameFull name (required)orgOrganizationphonePhone numberemailEmail addressurlWebsite URLaddressStreet addresslocationLocalizaçãolatLatitudelngLongitudequerySearch query instead of coordinateswhatsappWhatsAppphonePhone number with country code (no +)messagePre-filled message (optional)telegramTelegramusernameTelegram username (without @)messagePre-filled message (optional)calendarEventotitleEvent title (required)startStart datetime ISO 8601endEnd datetime ISO 8601locationEvent locationdescriptionEvent descriptionallDaytrue for all-day eventsyoutubeYouTubeurlYouTube video, channel, or playlist URLtwitterTwitter / XusernameTwitter/X username (without @)facebookFacebookurlFacebook page or profile URLlinkedinLinkedInurlLinkedIn profile or page URLinstagramInstagramusernameInstagram username (without @)bitcoinBitcoinaddressBitcoin address (required)amountAmount in BTC (optional)labelPayment label (optional)messagePayment message (optional)zoomZoomurlFull Zoom meeting URL (preferred)meetingIdMeeting ID (if no URL)passwordMeeting password (optional)appstoreApp StoreiosUrlApple App Store URLandroidUrlGoogle Play Store URLpaypalPayPalusernamePayPal.me usernameamountRequest amount (optional)currencyCurrency code (optional)Exemplos ao Vivo
Clique em qualquer URL para abri-la no seu navegador e ver o QR code gerado.
Simple URL QR — PNG
https://qrwing.com/api/qr?type=url&url=https://qrwing.comURL — SVG, blue, large
https://qrwing.com/api/qr?type=url&url=https://qrwing.com&format=svg&fg=1d4ed8&size=500URL — dots style, colored
https://qrwing.com/api/qr?type=url&url=https://qrwing.com&style=dots&fg=7c3aed&bg=faf5ffResposta
Em caso de sucesso, a API retorna o binário da imagem com o cabeçalho Content-Type apropriado:
| Formato | Content-Type |
|---|---|
| png | image/png |
| svg | image/svg+xml |
| webp | image/webp |
Em caso de erro, a API retorna JSON com status 400 ou 500:
Cache e Limites de Taxa
As respostas incluem Cache-Control: public, max-age=86400 para que as imagens sejam armazenadas em cache por 24 horas por navegadores e CDNs.
A API é gratuita e não tem requisito de autenticação. Pedimos que você evite requisições automatizadas excessivas. Para geração em massa (>1.000 QR codes/dia), por favor entre em contato conosco.
