Qu'est-ce que Scanner QR ?
Le Scanner QR décode les QR codes standard depuis une image téléversée ou l'appareil photo arrière de votre appareil. Déposez une capture d'écran, une photo d'affiche, de reçu, de carte d'embarquement ou de carte de visite sur la zone de dépôt : le texte décodé apparaît en quelques secondes — les URL deviennent des liens cliquables, les charges Wi-Fi sont signalées pour que vous puissiez copier le mot de passe en toute sécurité, les blocs vCard sont reconnus et les secrets otpauth:// pour l'authentification à deux facteurs sont étiquetés comme sensibles pour vous rappeler de les manipuler avec précaution. Le mode appareil photo s'appuie sur la caméra arrière en direct via l'API standard getUserMedia et un décodeur image par image qui s'arrête automatiquement dès qu'un code valide est trouvé. Tout tourne côté client grâce à la bibliothèque open source jsQR — les octets d'image et les images de la caméra ne quittent jamais votre navigateur, ce qui est essentiel quand ce que vous scannez est un mot de passe Wi-Fi, une adresse de portefeuille crypto ou un code de récupération 2FA. Fonctionne hors ligne une fois la page chargée.
Quand dois-je utiliser cet outil ?
- Collez rapidement le mot de passe Wi-Fi depuis l'affichage mural d'un café dans votre téléphone sans retaper une longue chaîne aléatoire.
- Récupérez l'URL derrière le QR d'un menu de restaurant dans un navigateur classique quand l'application de scan par défaut ouvre un wrapper plein de pubs.
- Enregistrez un nouveau contact depuis la vCard d'une carte de visite directement dans votre carnet d'adresses, au lieu de saisir manuellement les coordonnées.
- Décodez un QR 2FA depuis une capture d'écran pour réinscrire un nouveau téléphone sans perdre l'accès à un compte protégé par une application d'authentification.
Comment scanner un QR code depuis une image ou l'appareil photo ?
- 1Choisissez votre source d'entrée : « Téléverser une image » pour une photo ou une capture d'écran, ou « Utiliser l'appareil photo » pour décoder des images en direct depuis votre appareil.
- 2Si vous téléversez, glissez-déposez l'image sur la zone en pointillés ou cliquez pour ouvrir le sélecteur de fichiers — PNG, JPG, GIF et WebP sont tous pris en charge.
- 3Si vous utilisez l'appareil photo, touchez « Démarrer l'appareil photo » et acceptez l'invite d'autorisation ; pointez l'objectif arrière vers le QR code jusqu'à ce qu'un résultat vert apparaisse.
- 4Regardez le badge de classification de la charge (URL, Wi-Fi, vCard, etc.) pour savoir quel type de donnée vient de sortir du code.
- 5Cliquez sur « Copier » pour placer la chaîne décodée dans votre presse-papiers, ou cliquez directement sur le lien URL si la charge est une adresse web.
Questions fréquemment posées
Mon image ou le flux de l'appareil photo sont-ils envoyés à votre serveur ?
Absolutely not — the QR scanner runs entirely in your browser using the JavaScript ZXing-js library, a port of the battle-tested ZXing (Zebra Crossing) barcode decoding engine originally written in Java. When you upload an image file, it is read directly into a Canvas element via the FileReader API and decoded in memory; it never touches a network socket. When you use the live camera mode, the MediaDevices.getUserMedia() Web API streams frames from your camera directly into a video element, and still frames are captured onto a Canvas for decoding — all within the browser process, with no frames sent anywhere outside your device. WikiPlus has no backend endpoints that receive image data, and there is no telemetry capturing what codes you scan or what data they contain. This architecture is intentional: QR codes often carry sensitive payloads such as authentication tokens, personal URLs, payment addresses, or private text, and processing them locally ensures that data stays private. You can verify this yourself by opening your browser's DevTools Network tab before scanning — you will see zero outbound requests during the decode operation. The library supports multiple barcode symbologies and decodes synchronously in the main thread, making results near-instantaneous. As a practical tip, for best privacy on sensitive QR codes such as 2FA setup keys or payment links, use this tool in airplane mode after the page has loaded — everything will work identically with no network at all.
Pourquoi le mode appareil photo ne démarre-t-il pas ?
Camera access in browsers is governed by the Permissions API and the MediaDevices.getUserMedia() specification, both of which impose strict requirements that can cause startup failures in several ways. The most common reason is that the browser either has not been granted camera permission for this site, or a previous denial is cached — check your browser's site settings and reset the camera permission, then reload the page. A second frequent cause is that getUserMedia() requires a secure context: the page must be served over HTTPS or from localhost; if you somehow access it over plain HTTP, the API is entirely unavailable. On mobile devices, many browsers route camera access through the system-level permission manager, so even if the browser permission appears granted, the operating system permission for that browser app may be off — check iOS Settings or Android App Permissions. If another application such as a video call app currently holds an exclusive lock on the camera, the browser may receive a NotReadableError or TrackStartError and fail silently or with a generic message. On desktops with multiple cameras — a built-in webcam plus a USB device — the browser may try to open the wrong device; refreshing sometimes selects the correct one, or you can modify the facingMode constraint if the tool exposes that option. Finally, some privacy-focused browsers or browser extensions block getUserMedia() entirely. As a practical tip, if camera mode keeps failing, switch to the image upload mode instead — screenshot a QR code and upload it for equally accurate results.
Quels types de QR codes peut-il lire ?
The scanner uses ZXing-js, which supports a broad range of one-dimensional and two-dimensional barcode symbologies beyond standard QR codes. In the 2D category it decodes QR Code (all versions 1–40, including Micro QR), Data Matrix, Aztec Code, and PDF417. In the 1D barcode category it handles EAN-13, EAN-8, UPC-A, UPC-E, Code 39, Code 93, Code 128, ITF (Interleaved 2 of 5), Codabar, RSS-14, and RSS Expanded. Standard QR codes can encode URL, plain text, Wi-Fi credentials, vCard contact data, geographic coordinates, calendar events, email addresses, phone numbers, and arbitrary binary data — the scanner returns the raw decoded string regardless of content type, so all of these work. QR code version capacity ranges from version 1 (21×21 modules, up to 41 alphanumeric characters) to version 40 (177×177 modules, up to 4,296 alphanumeric characters or 2,953 bytes of binary data). Inverted QR codes — white modules on a dark background — are supported by some builds of ZXing; if decoding fails on an inverted code, inverting the image manually before uploading usually resolves it. Damaged or partially obscured codes are recoverable up to the erasure tolerance of the error-correction level embedded in the code (7% for level L up to 30% for level H). All decoding runs entirely in your browser — no data leaves your device. As a practical tip, crop tightly around the QR code before uploading for significantly faster and more reliable detection, especially on complex photographic backgrounds.
Pourquoi le décodage a-t-il échoué sur ma photo pourtant très nette ?
A visually clean QR code in a photo can still defeat a decoder for several technical reasons. The most common culprit is perspective distortion: if the code was photographed at an angle rather than face-on, the modules become trapezoidal, and while ZXing includes a perspective-correction pass, extreme angles beyond roughly 30 degrees can push it past recovery. Lighting is the second major factor — a glare hotspot or deep shadow that appears subtle to the human eye can cross the binary threshold and flip critical modules from black to white in the sampled pixel data. JPEG compression is another frequent cause: JPEG uses discrete cosine transform encoding that blurs high-frequency transitions, which are exactly the sharp black-to-white edges a QR decoder relies on. If the image was re-compressed multiple times, edge ringing artifacts can corrupt finder pattern detection. Very small QR codes in high-resolution photos can also fail because the decoder's finder-pattern search operates on a fixed scale — downsampling the image so the QR occupies a larger portion of the frame often resolves this. Dark or low-contrast color combinations, such as dark navy on black, may look readable to your eye but fall below the luminance contrast threshold the binarization algorithm needs. All processing runs entirely in your browser — no data leaves your device. As a practical tip, open the photo in any image editor, crop to just the QR code, boost contrast slightly, save as PNG rather than JPEG, and then try the upload again — this resolves the vast majority of stubborn failures.
Le contenu de cette page est disponible sous CC BY 4.0.