ToolActToolAct

Décodeur QR

Scannez et décodez les images de codes QR en ligne. Prend en charge le glisser-déposer et le collage. Tout le traitement se fait dans votre navigateur.

Télécharger une image de code QR

Glissez-déposez une image de code QR ici

Prend en charge PNG, JPG, GIF, BMP, WebP et autres formats d'image courants

Vous pouvez aussi coller une image du presse-papiers avec Ctrl+V

Qu'est-ce que le décodage de code QR ?

Le décodeur de QR code lit une image contenant un QR code et extrait les données qui y sont stockées. Le résultat peut être une URL, du texte brut, une configuration Wi-Fi, une fiche contact, une référence de paiement ou une autre chaîne encodée. L’outil sert à inspecter un QR code avant de l’ouvrir, récupérer du texte depuis une capture d’écran, copier des données depuis un document ou aider à comprendre pourquoi un code ne se scanne pas correctement sur mobile. Un contenu décodé n’est pas automatiquement fiable: les liens doivent être vérifiés, car ils peuvent mener à du phishing, à des ressources expirées ou à des redirections inattendues.

Mode d'emploi

Comment l'utiliser

  1. Cliquez sur la zone de téléchargement pour sélectionner une image de QR code, ou glissez-déposez une image
  2. Vous pouvez aussi coller une image depuis le presse-papiers avec Ctrl+V (Cmd+V sur Mac)
  3. L'outil détecte et décode automatiquement le contenu du QR code
  4. Le résultat décodé s'affiche ci-dessous avec détection automatique du type de contenu (URL ou texte)
  5. Cliquez sur « Copier le résultat » pour copier le contenu décodé dans le presse-papiers

Conseils de décodage

  • Utilisez une image nette avec le QR code entièrement visible et une marge de silence suffisante autour pour une détection fiable.
  • Soyez prudent avec les liens décodés. Prévisualisez le texte et vérifiez le domaine avant d'ouvrir des URL provenant de QR codes inconnus.

Cas d’utilisation

Décoder des QR codes à partir d’images téléchargées ou colléesDéposez une image, sélectionnez un fichier ou collez une image depuis le presse-papiers et l’outil la dessine sur un canvas masqué avant de la lire. Pratique lorsque vous disposez d’une capture d’écran, d’une photo ou d’une image de QR code sauvegardée mais pas de scanner à portée de main.
Séparer les URLs du texte brut dans les résultatsAprès décodage, le contenu est classé comme URL lorsqu’il peut être analysé par le constructeur URL du navigateur, sinon il est traité comme du texte. Les résultats URL bénéficient d’une action d’ouverture dans un nouvel onglet, tandis que tous les résultats peuvent être copiés avec leur nombre de caractères affiché.
Vérifier la lisibilité d’un QR code pendant le travail de designComme le décodeur fonctionne directement à partir des pixels de l’image, il permet de vérifier si un QR code généré ou conçu se scanne encore après un redimensionnement, un changement de couleur, une capture d’écran ou une compression. Les lectures échouées produisent une erreur claire plutôt qu’une sortie silencieuse, ce qui facilite la comparaison côte à côte de deux variantes de design lors d’une revue de branding.
Lire les contenus longs Wi-Fi ou vCardLes chaînes Wi-Fi décodées affichent le SSID, le mot de passe et le type de sécurité à partir de l’image sans appareil photo, ce qui est utile pour vérifier une carte de réseau invité imprimée. Les résultats vCard peuvent être copiés et intégrés dans un formulaire de contact pour import manuel.
Inspecter les QR codes avant d’ouvrir le lienLisez toujours l’URL décodée avant de scanner l’image directement avec un téléphone, car les QR codes peuvent masquer des liens raccourcis, des pages de phishing ou des redirections expirées. Un résultat en texte brut décodé sans action de clic est un aperçu plus sûr qu’une redirection en un tap. Les navigateurs Chromium modernes exposent l’API BarcodeDetector qui est rapide mais ne gère pas bien les Micro-QR ni les codes endommagés ; la page se rabat alors sur une bibliothèque JS. La correction d’erreur Reed-Solomon aux niveaux M, Q ou H peut encore sauver une photo floue, mais les codes à haute densité ou à faible contraste échouent souvent et nécessitent une nouvelle capture avec plus de lumière et moins de distorsion.

Principe technique

Le décodage de QR code est un pipeline de traitement d'images en plusieurs étapes qui localise le code dans une photographie ou une capture d'écran, corrige la distorsion de perspective, seuille l'image en noir et blanc, lit la grille de modules, applique la correction d'erreur et décode les données selon le mode d'encodage. Cet outil utilise la bibliothèque jsQR, qui implémente le pipeline complet en JavaScript s'exécutant sur le thread principal du navigateur. La première étape consiste à localiser les trois motifs de repérage — les marqueurs caractéristiques 7x7 en forme de carré dans carré dans carré situés aux coins supérieur gauche, supérieur droit et inférieur gauche de chaque QR code. jsQR scanne l'image pour trouver des séquences de pixels noirs et blancs alternés correspondant au ratio 1:1:3:1:1 caractéristique d'une coupe transversale de motif de repérage, quelle que soit la rotation. Une fois trois repères localisés, leurs centroïdes définissent le quadrilatère de délimitation du code. La correction de perspective transforme le quadrilatère en une grille carrée à l'aide d'une matrice d'homographie calculée à partir des quatre points de coin. Cette étape est essentielle car les QR codes sont rarement photographiés de face — la correction redresse le code pour que chaque module (le carré noir ou blanc représentant un bit) tombe sur une grille régulière. La taille du module est déterminée par les dimensions du motif de repérage et le numéro de version, qui est lu depuis les bandes d'information de format adjacentes aux repères. La binarisation de l'image convertit les valeurs de pixels en niveaux de gris en noir et blanc purs. jsQR utilise une approche de seuillage local : au lieu d'un seuil global unique (qui échoue sous un éclairage inégal ou des ombres), il calcule des seuils pour de petites régions de l'image, le rendant robuste aux dégradés et au vignettage courants dans les photos de smartphone. La correction d'erreur utilise les codes Reed-Solomon tels que spécifiés dans ISO/IEC 18004:2015. Les QR codes supportent quatre niveaux de correction d'erreur : L (~7 % de récupération), M (~15 %), Q (~25 %) et H (~30 %). Les mots de données et les mots de correction d'erreur sont entrelacés en blocs ; jsQR effectue le calcul de syndromes et applique l'algorithme de Berlekamp-Massey pour localiser et corriger les erreurs dans la capacité nominale du code. Si les dommages dépassent le niveau de correction, le décodage échoue plutôt que de renvoyer des données corrompues. Enfin, le flux de bits décodé est interprété selon l'indicateur de mode d'encodage dans les quatre premiers bits : numérique (0001, 10 bits pour 3 chiffres), alphanumérique (0010, 11 bits pour 2 caractères), octet (0100, 8 bits par caractère, généralement UTF-8 ou Latin-1), kanji (1000, 13 bits par caractère en Shift JIS), ou ECI (0111, Extended Channel Interpretation pour la spécification des jeux de caractères). L'outil affiche la chaîne décodée et détecte automatiquement s'il s'agit d'une URL (en tentant l'analyse avec new URL()) ou d'un texte brut.

  • Détection des motifs de repérage : jsQR scanne les lignes pour trouver des séquences de pixels noirs/blancs alternés correspondant au ratio 1:1:3:1:1 — trois tels motifs à environ angles droits les uns par rapport aux autres confirment la présence et l'orientation d'un QR code quelle que soit la rotation.
  • Correction de perspective : une matrice d'homographie calculée à partir des quatre points de coin détectés projette le quadrilatère déformé sur une grille carrée — cette étape est essentielle car les photos du monde réel capturent rarement les QR codes de face.
  • Binarisation adaptative : le seuillage local divise l'image en petites régions et calcule des seuils par région, rendant le décodeur robuste face à un éclairage inégal, des ombres et des dégrader qui feraient échouer un seuil global.
  • Correction d'erreur Reed-Solomon (ISO/IEC 18004) : quatre niveaux (L/M/Q/H) offrent 7 à 30 % de récupération de données — l'algorithme de Berlekamp-Massey localise les positions d'erreur et l'algorithme de Forney calcule les amplitudes de correction ; si les dommages dépassent le niveau, le décodage échoue proprement.
  • Détection du mode d'encodage : les quatre premiers bits de données indiquent le mode — numérique (0001, efficace pour les chiffres), alphanumérique (0010, pour A-Z 0-9 et symboles), octet (0100, pour les données UTF-8/Latin-1 arbitraires), kanji (1000, pour Shift JIS) et ECI (0111, pour la spécification du jeu de caractères).
  • Version et grille de modules : les versions de QR code vont de 1 (21x21 modules) à 40 (177x177), chaque version ajoutant 4 modules par côté — la version est lue depuis les bandes d'information de format près des motifs de repérage, et le nombre de modules détermine la densité de la grille d'échantillonnage.
  • Exécution locale dans le navigateur : l'image est dessinée sur un élément Canvas masqué, getImageData() extrait le tampon de pixels RGBA brut, et jsQR le traite entièrement dans le thread principal du navigateur — aucune donnée image n'est envoyée à un serveur, et le canvas est collecté par le ramasse-miettes une fois le décodage terminé.

Exemples

QR code URL

Charge décodée : https://example.com
Type :       URL
Action :     le scanner ouvre le lien dans le navigateur système après confirmation

QR code texte brut

Charge décodée : This is text content
Type :       Texte
Action :     le scanner copie le texte dans le presse-papiers ou l'affiche dans une fiche de résultat

QR code d'identifiants WiFi

Charge décodée : WIFI:T:WPA;S:NetworkName;P:Password;;
Type :       WiFi (WPA2)
Action :     les téléphones reconnaissant le format proposent « Se connecter à NetworkName ? » et rejoignent le réseau avec le mot de passe fourni

Carte de contact vCard

Charge décodée : BEGIN:VCARD\nVERSION:3.0\nFN:Jane Doe\nTEL:+1-555-0142\nEMAIL:jane@example.com\nEND:VCARD
Type :       Carte de contact
Action :     les téléphones proposent de créer une nouvelle entrée dans le carnet d'adresses à partir des champs analysés

FAQ

L'image est-elle téléversée pour le décodage ?

Non. Le décodage s'exécute dans votre navigateur via WebAssembly ou du JS pur. Les octets de l'image sont lus localement ; rien n'est envoyé à un serveur.

Quelles méthodes de saisie sont prises en charge ?

Téléversez un fichier, collez une image depuis le presse-papiers ou glissez-déposez un fichier image. L'image est traitée dans votre navigateur et n'est jamais téléversée vers un serveur.

Que renvoie le décodeur ?

Le texte décodé brut. La page détecte si le résultat est une URL ou du texte simple et affiche un badge en conséquence. S'il s'agit d'une URL, un bouton Ouvrir l'URL est proposé.

Pourquoi mon QR ne se décode-t-il pas ?

Causes courantes : flou, faible contraste, reflets, inclinaison de perspective ou code partiellement masqué. Recadrez plus près, augmentez la luminosité, tenez le téléphone stable à 90° de la surface. Les QR codes au niveau de correction L ne récupèrent presque aucun dommage ; le niveau H tolère une occultation significative.

Peut-il décoder les QR codes des captures d'écran et des PDF ?

Les captures d'écran se décodent généralement bien car elles ont un contraste parfait et aucune distorsion de perspective. Pour les PDF, faites d'abord une capture d'écran de la section QR, puis téléversez l'image.

Dois-je ouvrir toutes les URL contenues dans le QR ?

Non. Les QR codes sont un vecteur de phishing connu (« quishing ») car l'URL est cachée à l'intérieur du visuel. Inspectez l'URL décodée avant de l'ouvrir : la page affiche l'URL complète pour que vous puissiez lire le domaine. Méfiez-vous des domaines avec des fautes de frappe, des adresses IP et des URL raccourcies qui cachent la vraie destination.

Peut-il décoder plusieurs QR dans une même image ?

La page détecte un QR code par image. Si vous avez une image avec plusieurs codes, recadrez chacun séparément et téléversez-les individuellement pour des résultats les plus fiables.