La correction d'erreur d'un QR code est une redondance intégrée qui permet au code de rester lisible lorsqu'une partie est sale, abîmée ou masquée. Il existe quatre niveaux : L récupère environ 7 % des données, M environ 15 %, Q environ 25 % et H environ 30 %. Les niveaux élevés sont plus robustes mais rendent le code plus dense.
Comment fonctionne la correction d'erreur d'un QR code
Un QR code ne se contente pas de stocker votre texte une seule fois en espérant que tout se passe bien. À sa création, les données sont découpées en blocs d'octets appelés mots de code, puis des mots de code de correction supplémentaires sont calculés et ajoutés. Cette opération repose sur une méthode mathématique appelée code de Reed-Solomon, de la même famille que les techniques utilisées depuis des décennies dans les CD, les DVD et la transmission de données.
Quand un téléphone scanne le code, il lit tous les mots de code. Si certains sont illisibles ou erronés à cause d'une rayure, d'une tache ou d'un logo posé par-dessus, le lecteur utilise les mots de code supplémentaires pour reconstituer les parties manquantes. Tant que les dégâts restent dans les limites du niveau choisi, le scan réussit et vous ne remarquez rien.
Le niveau de correction d'erreur est inscrit dans une petite zone du code appelée informations de format, enregistrée deux fois pour que le lecteur puisse la lire de façon fiable.
Les quatre niveaux : L, M, Q et H
Chaque niveau échange de l'espace de stockage contre de la robustesse. Les pourcentages ci-dessous indiquent approximativement la part des données du code qui peut être restaurée.
- Niveau L (Low, faible), environ 7 %. Le plus de données dans le plus petit code. Convient aux usages propres, en intérieur ou à l'écran, où les dégâts sont peu probables.
- Niveau M (Medium, moyen), environ 15 %. Un réglage équilibré et courant par défaut. Adapté à la plupart des supports imprimés comme les flyers, les menus et les cartes de visite.
- Niveau Q (Quartile), environ 25 %. Une protection supplémentaire pour les codes qui risquent de se salir ou de s'user, par exemple sur des emballages, des étiquettes ou en atelier.
- Niveau H (High, élevé), environ 30 %. La robustesse maximale. Souvent choisi pour la signalétique extérieure, les environnements difficiles ou les codes avec un logo au centre.
Ces chiffres décrivent des données récupérables, pas « vous pouvez masquer 30 % de l'image ». Un dégât mal placé, surtout sur les trois grands carrés d'angle, peut empêcher la lecture même si la surface touchée est faible.
Le compromis : robustesse contre densité
La correction d'erreur n'est pas gratuite. Les mots de code supplémentaires prennent de la place dans le code. Pour un même contenu, un niveau plus élevé signifie :
- Plus de modules, ces petits carrés noirs et blancs
- Une « version » de QR code plus grande, qui va de 21 × 21 modules pour la version 1 à 177 × 177 pour la version 40
- Des carrés individuels plus petits à taille d'impression égale
Les petits carrés sont plus difficiles à distinguer pour un appareil photo, surtout de loin, en faible lumière ou sur un téléphone ancien. Choisir le niveau H pour une longue adresse web sur une minuscule étiquette peut donc rendre le code moins fiable, et non plus fiable.
La solution consiste généralement à réduire les données. Un lien court, comme les liens qr-th.com/r/ utilisés par les codes dynamiques de QR-TH, garde le contenu bref. Cela laisse la place à un niveau de correction plus élevé sans rendre le code trop dense. Notre guide QR code statique ou dynamique explique le fonctionnement des liens courts.
Quel niveau choisir ?
Utilisez ce guide simple :
- Affiché sur un écran ou imprimé proprement en intérieur ? Le niveau L ou M suffit.
- Support marketing imprimé classique, comme des menus, des flyers ou des affiches ? Le niveau M est un choix par défaut fiable.
- Risque d'être rayé, mouillé, sali ou partiellement masqué ? Choisissez Q.
- Logo au centre, panneau extérieur ou conditions difficiles ? Choisissez H, et gardez des données courtes.
- Quel que soit votre choix, testez le code imprimé sur plusieurs téléphones, à la distance et sous l'éclairage réels.
Beaucoup de générateurs de QR code choisissent automatiquement un niveau adapté, et l'augmentent souvent lorsque vous ajoutez un logo. Si votre outil vous laisse le choix, pensez à l'endroit où vivra le code plutôt que de toujours viser le maximum.
Correction d'erreur et logos
Placer un logo au centre d'un QR code fonctionne grâce à la correction d'erreur : le logo masque certains modules, et le lecteur les reconstitue à partir des données redondantes. Quelques règles garantissent la fiabilité :
- Utilisez le niveau H, ou au moins Q, quand vous ajoutez un logo.
- Gardez un logo raisonnablement petit et centré. Restez bien en dessous du niveau de récupération maximal, car les dégâts réels, les reflets et le flou consomment aussi cette marge d'erreur.
- Ne couvrez jamais les trois grands carrés de repérage des coins ni la zone de silence autour du code.
- Gardez un contraste fort entre le code et le fond.
Pour d'autres conseils graphiques, lisez notre article sur les bonnes pratiques de design de QR code.
Ce que la correction d'erreur ne peut pas réparer
La correction d'erreur est puissante, mais elle a ses limites. Elle ne sauvera pas un code qui présente :
- Un contraste insuffisant, comme du gris clair sur blanc ou du foncé sur foncé
- Aucune zone de silence, parce que le code est imprimé collé à d'autres éléments graphiques
- Des motifs de repérage abîmés dans les coins
- Des carrés trop petits pour être distingués à la distance de lecture
- Une forte déformation, par exemple sur une surface très courbée
- Des reflets dus à un pelliculage brillant qui effacent de grandes zones
La correction d'erreur ne rend pas non plus un code plus sûr. Un QR code de niveau H peut très bien pointer vers un site dangereux, et un autocollant frauduleux collé sur un vrai code se scanne parfaitement. En cas de doute sur un code, scannez le QR code en ligne avec QR-TH pour voir la destination avant que quoi que ce soit ne s'ouvre.
FAQ
Quel est le meilleur niveau de correction d'erreur ?
Il n'existe pas de meilleur niveau unique. M est un bon choix par défaut pour la plupart des usages imprimés, tandis que H convient aux logos et aux conditions extérieures ou difficiles. Choisissez selon l'endroit où le code sera utilisé.
Un niveau de correction plus élevé rend-il le QR code plus grand ?
Pour les mêmes données, oui. Il ajoute des modules : soit le code imprimé s'agrandit, soit chaque carré devient plus petit.
Peut-on mettre un logo sur n'importe quel QR code ?
Seulement si la correction d'erreur est suffisante pour couvrir la zone masquée : utilisez donc Q ou H. Gardez un logo petit, à l'écart des carrés d'angle, et testez toujours avant d'imprimer.
Peut-on changer le niveau de correction après l'impression ?
Non. Le niveau fait partie du motif imprimé. Pour le changer, il faut générer et imprimer un nouveau code.
Vous voulez un code qui reste lisible dans la vraie vie ? Créez-le avec le générateur de QR code gratuit de QR-TH, gardez un contenu court et testez-le sur deux ou trois téléphones avant d'imprimer.