Décodeur de QR Code
Décodeur de QR codes gratuit en ligne. Envoyez une photo ou utilisez votre caméra pour lire le texte ou l'URL d'un QR. Tout reste dans votre navigateur.
À propos du Décodeur de QR Code
Le Décodeur de QR Code lit les données cachées dans un QR (Quick Response), ce carré noir et blanc que l'on voit sur les affiches, les cartes de visite, les menus de restaurant, les emballages, les écrans de paiement et les billets d'événements. Vous pouvez soit envoyer une photo qui contient un QR, soit pointer la caméra de votre appareil vers un code, et l'outil extrait la charge textuelle, qui est le plus souvent une URL, mais peut aussi être des identifiants Wi-Fi, une fiche vCard, un e-mail, un SMS, un événement de calendrier, des coordonnées géographiques ou du texte libre. Le décodage a lieu entièrement dans votre navigateur grâce à la bibliothèque open source jsQR, qui implémente la norme ISO/IEC 18004 : elle localise les trois grands carrés repère aux coins, calcule la transformation de perspective, échantillonne les modules de données et exécute la correction d'erreurs Reed-Solomon pour récupérer les octets d'origine même si une partie du code est sale ou partiellement couverte. Aucune donnée d'image n'est envoyée à un serveur, ce qui rend l'outil sûr pour des QR qui contiendraient des informations personnelles comme des jetons de paiement, des mots de passe Wi-Fi ou des URL privées. Les versions de QR de 1 (21 x 21) à 40 (177 x 177) sont prises en charge, avec les quatre niveaux de correction d'erreurs L / M / Q / H.
Que fait ce décodeur de QR ?
Il prend soit une image que vous chargez soit le flux vidéo de votre caméra, repère tout QR présent dans l'image et restitue le texte ou l'URL initialement encodé. En interne, il implémente la spécification QR ISO/IEC 18004 : il détecte les trois motifs repères aux coins, calcule une déformation de perspective vers une grille parfaite, lit les modules de données, applique le masque de format et exécute la correction d'erreurs Reed-Solomon (ce qui permet aux QR de fonctionner même lorsqu'environ 30% de la surface est endommagée, selon le niveau de correction choisi à l'encodage). Le contenu décodé est le plus souvent une URL mais peut aussi être un Wi-Fi, un contact vCard, un e-mail, un SMS, une géolocalisation, un événement de calendrier ou du texte brut.
Quels types de fichiers et formats QR sont pris en charge ?
Tout format d'image matricielle que votre navigateur sait décoder : JPG, JPEG, PNG, GIF (première image seulement), BMP et WebP, plus HEIC sur Safari. Il n'y a pas de limite stricte de taille puisque rien n'est envoyé, mais l'outil redimensionne les images de plus de 1600 px de côté pour un décodage plus rapide. Les versions de QR allant de la 1 (21 x 21 modules) à la 40 (177 x 177 modules) sont prises en charge, avec les quatre niveaux de correction (L 7%, M 15%, Q 25%, H 30%), tous les motifs de masque, et les modes standard byte/UTF-8 ainsi que Kanji. Les QR inversés (blanc sur fond noir) sont également détectés automatiquement lors d'une seconde passe.
Le décodeur envoie-t-il mon image ou utilise-t-il les images de ma caméra ?
Non. L'image chargée est dessinée dans un Canvas à l'intérieur de la page et décodée par la bibliothèque jsQR exécutée dans le moteur JavaScript du navigateur ; l'onglet caméra utilise getUserMedia pour accéder au flux en local et ne stocke ni ne transmet jamais les images. Vous pouvez le vérifier dans l'onglet Réseau du navigateur : une fois la page chargée, scanner ne génère aucune requête sortante avec des données d'image. L'outil est donc adapté à des QR contenant des informations sensibles comme votre mot de passe Wi-Fi domestique, des secrets d'authentification à deux facteurs, des URL de paiement ou des cartes d'embarquement. La permission caméra est uniquement demandée par le navigateur pour accéder à l'appareil ; vous pouvez la révoquer à tout moment dans les paramètres du site.

Pourquoi le décodage a-t-il échoué ou renvoyé un mauvais texte ?
Les QR sont tolérants mais pas magiques. Causes habituelles d'échec : angle excessif (plus de 45 degrés par rapport à la perpendiculaire), flou de mouvement, faible contraste (papier fané, reflets sur écran de téléphone), code occupant moins d'environ 100 pixels de côté sur la photo, carrés repère endommagés ou absents, et reflets traversant la grille de données. Essayez une photo plus propre où le code est centré, bien éclairé, net, et occupe au moins le tiers du cadre. Pour des QR très petits dans une grande photo, recadrez d'abord. Les caméras fonctionnent mieux lorsque le QR remplit la majeure partie du viseur et que l'appareil est tenu stable pendant une à deux secondes. Si un code renvoie un texte incohérent, il peut utiliser un encodage non standard comme Shift-JIS Kanji sur une affiche japonaise.
Quels navigateurs et appareils sont pris en charge ?
Le décodeur fonctionne sur tous les navigateurs modernes prenant en charge HTML5 Canvas et JavaScript ES2017 : Chrome, Edge, Firefox, Safari, Opera et Samsung Internet, sur ordinateur comme sur mobile. L'onglet caméra nécessite l'API getUserMedia et une page servie en HTTPS (c'est le cas du site WuTools), ce que tous les navigateurs modernes prennent en charge. Sur iOS, la caméra fonctionne dans Safari à partir de la version 11. La bibliothèque jsQR ne pèse qu'environ 50 Ko compressée, donc l'outil se charge presque instantanément même sur des connexions mobiles lentes. Aucune exigence matérielle minimale au-delà de la RAM pour une image ; un téléphone de cinq ans l'exécute sans problème.
Le décodeur peut-il lire plusieurs QR codes dans une même image ?
L'implémentation actuelle lit un QR par image : elle renvoie le premier code valide détecté après la phase de recherche de coins. Si vous avez une feuille avec plusieurs QR, recadrez et scannez-les un par un, ou utilisez le mode caméra en pointant chaque code à tour de rôle. Le support multi-codes pourra arriver dans une future mise à jour ; l'algorithme jsQR peut être exécuté sur des régions superposées pour détecter plusieurs codes, mais cela ajoute de la complexité et du temps d'exécution. Notez que d'autres codes 2D comme Data Matrix, Aztec, MaxiCode et PDF417 utilisent des algorithmes différents et ne sont pas pris en charge par un décodeur réservé au QR ; il faudrait pour cela une bibliothèque plus généraliste.
