Lecteur de codes QR et codes-barres

Choisissez, déposez ou collez une image, ou utilisez la caméra. Les formats disponibles dépendent de BarcodeDetector dans votre navigateur.

Fonctionne localement dans votre navigateur
Toute l’analyse reste dans ce navigateur. Rien n’est téléversé ni envoyé à une API.
Source d’image ou de caméra

Déposez une image ici ou choisissez un fichier image local

Valeurs décodées
  • Choisissez une image, déposez-en une ici ou démarrez la caméra pour la décoder localement.
Choisissez une image

Le décodage utilise la fonctionnalité BarcodeDetector du navigateur. L'image reste sur cet appareil ; l'accès à la caméra n'est demandé que lorsque vous le démarrez.

Lire les codes QR et les codes-barres courants sans téléverser une image

Chrome et Edge offrent actuellement la prise en charge la plus large de BarcodeDetector. Si votre navigateur ne l'expose pas, utilisez un navigateur actuel compatible et conservez l'image locale.

Comment décoder un code QR ou un code-barres depuis une image

Choisissez une image, déposez-la sur la page, collez-la depuis le presse-papiers, ou démarrez la caméra et capturez une image. La lecture est assurée par l'interface BarcodeDetector du navigateur : la photo n'est donc pas téléversée. Dans une session mesurée, la page n'a envoyé aucune requête contenant l'image et le seul trafic externe était l'analyse d'audience du site.

Vous obtenez les formats que votre navigateur expose. La page interroge d'abord BarcodeDetector.getSupportedFormats() et ne demande que l'intersection avec la liste qu'elle connaît ; c'est pourquoi une même image peut être lue dans un navigateur et rester muette dans un autre.

  1. Choisissez une image avec le sélecteur, déposez-la sur la zone de dépôt, collez-la dans le panneau, ou appuyez sur Démarrer la caméra et visez le code.
  2. Appuyez sur Décoder l'image pour une image choisie, déposée ou collée, ou sur Capturer et décoder pour une image de la caméra. Un fichier qui n'est pas une image et un fichier de plus de 15 Mo sont refusés avec un message au lieu de tenter une lecture.
  3. Lisez la liste des résultats : chaque entrée indique le format annoncé par le navigateur et le texte décodé, et une image contenant plusieurs codes produit plusieurs entrées.
  4. Appuyez sur Copier la sortie pour placer toutes les valeurs dans le presse-papiers, une ligne format : valeur par code.
  5. Appuyez sur Effacer pour abandonner l'image et les valeurs avant la suivante.

Quels formats sont lus et ce que la page fait de votre image

Quels codes ce navigateur peut lire

Mesuré dans Chrome 153 sous macOS, les formats exposés étaient QR code, Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-E, ITF, Data Matrix, Aztec et PDF417. Une image QR de test, un Code 128, un EAN-13 et un Code 39 ont été décodés avec leur contenu exact ; une image UPC-A est revenue en EAN 13, car cette version n'expose pas upc_a. Le Micro QR n'est pas dans la liste non plus : un symbole Micro QR n'a pas été détecté, alors qu'un QR code classique portant le même contenu l'a été.

Deux codes QR dans une même image ont été renvoyés en une seule lecture, et les résultats conservent l'ordre annoncé par le navigateur. Le décodeur appartenant au navigateur, un navigateur sans BarcodeDetector le signale au chargement et refuse de décoder au lieu de deviner.

Ce que la page fait de votre image

Le fichier est lu dans la page avec FileReader et transmis à BarcodeDetector.detect() sous forme d'image. Les images déposées ou collées suivent le même chemin ; une capture de la caméra est dessinée sur un canvas et lue à partir de là. Le fichier doit être une image et rester sous 15 Mo : un PNG de 30 Mo a été refusé avec un message.

Rien n'est téléversé : l'image ne fait jamais partie d'une requête. La taille en pixels limite moins qu'il n'y paraît — une image de test de 9000 x 9000 a été lue en une seconde environ — et un fichier que le navigateur ne peut pas lire comme image est désormais signalé au lieu de ne rien faire.

Caméra et lectures répétées

La caméra ne s'ouvre qu'à l'appui sur Démarrer la caméra, et le navigateur demande l'autorisation à ce moment-là. L'image est décodée à l'appui sur Capturer et décoder, et Arrêter la caméra libère le flux et masque l'aperçu ; il n'y a pas d'analyse continue pendant que la vidéo tourne.

Chaque lecture repart de zéro : deux appuis sur Décoder l'image pour la même photo donnent les mêmes valeurs, et une lecture sans résultat le dit en laissant la liste vide. Le texte décodé est affiché comme du texte : un code QR contenant du balisage HTML est affiché, pas interprété.

Outils récents :