FREE

Référence API

Générez des QR codes via HTTP. Aucune clé API ni authentification requise.

Point de Terminaison

GEThttps://qrwing.com/api/qr

Retourne une image directement. Tous les paramètres sont passés comme arguments de chaîne de requête. CORS est ouvert — le point de terminaison peut être appelé depuis n'importe quelle origine.

Démarrage Rapide

# URL QR as PNG (default) https://qrwing.com/api/qr?type=url&url=https://qrwing.com # Blue SVG with dots style https://qrwing.com/api/qr?type=url&url=https://qrwing.com&format=svg&fg=1d4ed8&style=dots # WiFi QR https://qrwing.com/api/qr?type=wifi&ssid=HomeNetwork&password=mypassword&encryption=WPA
# curl curl -o qr.png "https://qrwing.com/api/qr?type=url&url=https://qrwing.com" # HTML img tag <img src="https://qrwing.com/api/qr?type=url&url=https://qrwing.com" alt="QR Code" />

Paramètres

ParamètreTypeDéfautDescription
type requiredstringQR code type. See supported types below.
format optionalsvg | png | webppngOutput image format.
size optionalinteger300Output size in pixels (50–2000).
margin optionalinteger4Quiet zone in modules (0–20).
ec optionalL | M | Q | HMError correction level. Higher = more redundancy.
fg optionalhex000000Foreground (dot) color as 6-digit hex (no #).
bg optionalhexffffffBackground color as 6-digit hex (no #).
transparent optionalbooleanfalseTransparent background (SVG/WebP/PNG).
style optionalsquare | dots | roundedsquareDot style.

Types de QR Codes

Passez type= avec l'une des valeurs ci-dessous. Chaque type nécessite ses propres paramètres de contenu.

urlURL
urlFull URL including https://
textTexte
textPlain text content
emailE-mail
emailEmail address
subjectEmail subject (optional)
bodyEmail body (optional)
phoneTéléphone
phonePhone number with country code
smsSMS
phonePhone number
messagePre-filled message (optional)
wifiWiFi
ssidNetwork name (SSID)
passwordWiFi password
encryptionWPA | WEP | nopass
hiddentrue if network is hidden
vcardvCard
nameFull name (required)
orgOrganization
phonePhone number
emailEmail address
urlWebsite URL
addressStreet address
locationLocalisation
latLatitude
lngLongitude
querySearch query instead of coordinates
whatsappWhatsApp
phonePhone number with country code (no +)
messagePre-filled message (optional)
telegramTelegram
usernameTelegram username (without @)
messagePre-filled message (optional)
calendarÉvénement
titleEvent title (required)
startStart datetime ISO 8601
endEnd datetime ISO 8601
locationEvent location
descriptionEvent description
allDaytrue for all-day events
youtubeYouTube
urlYouTube video, channel, or playlist URL
twitterTwitter / X
usernameTwitter/X username (without @)
facebookFacebook
urlFacebook page or profile URL
linkedinLinkedIn
urlLinkedIn profile or page URL
instagramInstagram
usernameInstagram username (without @)
bitcoinBitcoin
addressBitcoin address (required)
amountAmount in BTC (optional)
labelPayment label (optional)
messagePayment message (optional)
zoomZoom
urlFull Zoom meeting URL (preferred)
meetingIdMeeting ID (if no URL)
passwordMeeting password (optional)
appstoreApp Store
iosUrlApple App Store URL
androidUrlGoogle Play Store URL
paypalPayPal
usernamePayPal.me username
amountRequest amount (optional)
currencyCurrency code (optional)

Exemples en Direct

Cliquez sur n'importe quelle URL pour l'ouvrir dans votre navigateur et voir le QR code généré.

Réponse

En cas de succès, l'API retourne le binaire de l'image avec l'en-tête Content-Type approprié :

FormatContent-Type
pngimage/png
svgimage/svg+xml
webpimage/webp

En cas d'erreur, l'API retourne du JSON avec un statut 400 ou 500 :

{"error": "Missing required parameter: type"}

Mise en Cache & Limites de Débit

Les réponses incluent Cache-Control: public, max-age=86400 afin que les images soient mises en cache pendant 24 heures par les navigateurs et les CDN.

L'API est gratuite et ne nécessite pas d'authentification. Nous vous demandons d'éviter les requêtes automatisées excessives. Pour la génération en masse (>1 000 QR codes/jour), veuillez nous contacter.

Exemples d'Intégration

HTML

<img src="https://qrwing.com/api/qr?type=url&url=https://qrwing.com&size=200" alt="QR Code" width="200" height="200" />

JavaScript (fetch)

const url = new URL("https://qrwing.com/api/qr"); url.searchParams.set("type", "url"); url.searchParams.set("url", "https://qrwing.com"); url.searchParams.set("format", "svg"); url.searchParams.set("fg", "1d4ed8"); const response = await fetch(url); const svgText = await response.text(); document.getElementById("qr").innerHTML = svgText;

Python

import requests response = requests.get( "https://qrwing.com/api/qr", params={ "type": "url", "url": "https://qrwing.com", "format": "png", "size": 400, "style": "dots", "fg": "7c3aed", } ) with open("qr.png", "wb") as f: f.write(response.content)

PHP

$params = http_build_query([ 'type' => 'url', 'url' => 'https://qrwing.com', 'format' => 'png', 'size' => 300, ]); $img = file_get_contents("https://qrwing.com/api/qr?" . $params); file_put_contents('qr.png', $img);