Skip to content

Guide

Normes QR Code : versions, correction d’erreurs et bonnes pratiques

Même carré, charges utiles très différentes — la norme vous laisse beaucoup de place pour créer des codes qui ne fonctionnent pas dans le monde réel.

By Published

Les QR codes semblent être un problème résolu jusqu’à ce que vous imprimiez 5 000 cartes de visite et qu’un tiers d’entre elles ne se scannent pas. La norme vous laisse beaucoup de place pour créer des codes valides qui ne fonctionnent néanmoins pas dans le monde réel. Ce guide couvre les parties de l’ISO/IEC 18004 qui comptent pour la conception et l’intégration, ainsi que les règles pratiques que la norme ne stipule pas mais que chaque QR code en production respecte.

La norme : ISO/IEC 18004

Les QR codes ont été inventés par Denso Wave en 1994 pour le suivi des pièces automobiles. Le format a été ouvert en 1999 et normalisé sous ISO/IEC 18004, actuellement dans sa révision 2015. Quiconque peut générer ou décoder des QR codes sans frais de licence ; la marque déposée du terme « QR Code » reste avec Denso Wave mais est librement licenciée à l’usage.

Vous pouvez générer n’importe lequel des codes décrits ci-dessous avec notre générateur de QR code, qui produit une sortie SVGadaptée aussi bien aux écrans qu’à l’impression — les vecteurs signifient que les motifs de détection restent nets à toute taille, d’un autocollant de 2 cm à un panneau d’affichage.

Versions 1 à 40

La versiond’un QR code détermine sa taille physique — mesurée en modules, pas en pixels. La version 1 fait 21×21 modules ; chaque version suivante ajoute 4 modules par côté, de sorte que la version 40 fait 177×177. La version dont vous avez besoin dépend de la longueur de la charge utile, du mode d’encodage et du niveau de correction d’erreurs. Un générateur choisit normalement la version la plus petite qui convient.

Capacité approximative au niveau de correction d’erreurs M (récupération de 15 %), le choix le plus courant :

  • Version 1 (21×21) : 14 caractères alphanumériques ou 20 caractères numériques.
  • Version 5 (37×37) : 122 caractères alphanumériques ou 202 caractères numériques — suffisant pour une URL typique.
  • Version 10 (57×57) : 395 alphanumériques ou 652 numériques.
  • Version 25 (117×117) : 1 853 alphanumériques ou 3 057 numériques.
  • Version 40 (177×177) : 4 296 alphanumériques ou 7 089 numériques — le maximum absolu.

La capacité diminue significativement aux niveaux de correction d’erreurs plus élevés. Au niveau H (30 %), le même code Version 40 ne contient qu’environ 1 852 caractères alphanumériques. Choisissez la version la plus basse possible — chaque étape multiplie le nombre de modules et oblige le scanner à se concentrer sur une grille plus serrée.

Les quatre niveaux de correction d’erreurs

Les QR codes utilisent la correction d’erreurs Reed-Solomon, le même algorithme utilisé dans les CD, DVD et les communications spatiales lointaines. Les mots de code sont entrelacés de sorte que les dommages locaux (une tache de café, une empreinte digitale, un autocollant) détruisent une petite fraction de chaque bloc plutôt que d’effacer une séquence contiguë de données.

  • L (Faible) — récupère ~7 %.Densité de données maximale. À utiliser uniquement pour des codes propres, grands, à l’écran.
  • M (Moyen) — récupère ~15 %. La valeur par défaut pour presque tout. Impression, écrans, emballage.
  • Q (Quartile) — récupère ~25 %. Petite impression, environnements légèrement contaminés, cartes plastifiées.
  • H (Élevé) — récupère ~30 %.Requis lors de la superposition d’un logo ; recommandé pour la signalétique extérieure, les emballages alimentaires, les étiquettes d’équipement dans des environnements sales.

Le pourcentage de récupération fait référence aux mots de code, pas aux modules — mais en pratique les deux sont suffisamment proches pour que concevoir pour le pourcentage soit une approximation raisonnable.

Modes d’encodage

Les QR codes ont quatre modes d’encodage de données, et le générateur bascule entre eux selon le contenu :

  1. Numérique (0-9). 3,33 bits par chiffre. Le mode le plus compact ; utile pour les numéros de série, les numéros de téléphone et les identifiants de suivi.
  2. Alphanumérique. 5,5 bits par caractère. Couvre 0-9, A-Z(majuscules uniquement), l’espace et la ponctuation $ % * + - . / :. Les URL tiennent si vous les mettez en majuscules ; certains scanners normalisent avant d’ouvrir le lien.
  3. Octets (8 bits).8 bits par octet. Le repli pour tout ce qui est en dehors de l’ensemble alphanumérique ; presque toujours du texte UTF-8 dans les codes modernes.
  4. Kanji.13 bits par caractère pour Shift-JIS Kanji. Plus dense que le mode Octet pour le texte japonais, mais uniquement pris en charge si l’encodeur et le scanner s’accordent sur Shift-JIS. La plupart des codes japonais modernes utilisent UTF-8 en mode Octet pour la sécurité.

Un seul QR code peut changer de mode en cours de charge utile, de sorte qu’un numéro de série plus une URL peut se compresser plus que l’un ou l’autre seul. Les bons générateurs font cela automatiquement.

Ajout structuré

Pour les charges utiles plus longues que ce que la version 40 peut supporter, la norme permet de diviser un seul message en jusqu’à 16 codes en utilisant l’ajout structuré. Chaque pièce porte un en-tête identifiant sa position dans la séquence et un octet de parité pour vérifier l’ensemble du message. La prise en charge du scanner est limitée aux lecteurs industriels ; les appareils photo des téléphones de consommation traitent presque universellement chaque code de manière indépendante. Ne comptez pas sur l’ajout structuré pour quoi que ce soit destiné au grand public.

Micro QR

Les codes Micro QR (versions M1-M4) réduisent le format pour l’étiquetage dans des espaces restreints. M1 fait 11×11 modules et ne contient que 5 caractères numériques ; M4 fait 17×17 et contient jusqu’à 35 numériques, 21 alphanumériques ou 15 octets. Ils sont utiles pour les étiquettes de circuits imprimés et les marquages de circuits intégrés ; les scanners des téléphones de consommation les prennent en charge, mais les bibliothèques de webcam de bureau ne le font pas toujours.

Règles de conception qui déterminent si le code se scanne

Trois choses comptent plus que tout le reste dans la norme :

  1. Contraste.Modules sombres sur fond clair. Le rapport de contraste entre le premier plan et l’arrière-plan doit être d’au moins 4:1 ; vérifiez les nuanciers dans notre sélecteur de couleur avant d’imprimer. Les codes inversés (clair sur sombre) sont autorisés par la norme mais rejetés par beaucoup de scanners, en particulier les anciennes applications de caméra Android.
  2. Zone de silence.Une marge de 4 modules de couleur de fond de chaque côté. L’omettre — généralement parce qu’un designer a voulu intégrer le code dans une mise en page serrée — est la cause la plus courante d’échec de scan sur du matériel produit professionnellement.
  3. Taille des modules.À la distance normale de l’appareil photo du téléphone (15-30 cm), les modules doivent faire au moins 0,4 mm de large pour se scanner de manière fiable. Pour les affiches destinées à être scannées depuis l’autre côté d’une pièce, utilisez la règle « distance ÷ 10 = largeur minimale du code ». Un code destiné à être scanné depuis 2 m doit faire au moins 20 cm de côté.

La personnalisation des couleurs est autorisée dans ces contraintes. Un bleu foncé ou vert foncé sur crème, c’est bien. Un pastel sur blanc, non — le contraste tombe en dessous du seuil de détection.

Formats de charge utile reconnus par les scanners des téléphones

  • URL. Collez simplement l’URL. Incluez le schéma https:// ; certains scanners refusent les codes sans. Gardez les URL courtes pour rester dans une version basse — utilisez notre outil d’URLpour vérifier l’encodage.
  • Wi-Fi. Format : WIFI:T:WPA;S:NomRéseau;P:MotDePasse;H:false;;. Reconnu par les applications de caméra iOS et Android. Définissez H:true pour les réseaux cachés.
  • Contact vCard. Charge utile vCard 3.0 ou 4.0 standard entre BEGIN:VCARD et END:VCARD. Les téléphones proposent d’ajouter le contact directement.
  • SMS / tel / mailto.Schémas d’URI standard (sms:+33612345678?body=Bonjour, tel:+33612345678, mailto:[email protected]?subject=Bonjour). Universellement pris en charge.
  • Geo. geo:48.8566,2.3522 ouvre l’application de cartes par défaut. iOS peut nécessiter le repli Apple-spécifique http://maps.apple.com/?ll=…sur les versions plus anciennes.

Suivi et URL raccourcies

De nombreux codes marketing utilisent une URL raccourcie non pas pour économiser des caractères mais pour suivre les scans et donner à l’imprimeur une porte de sortie si l’URL de destination change. Le compromis : l’utilisateur atterrit sur la redirection avant d’atteindre votre site, ce qui ajoute de la latence et révèle le domaine du raccourcisseur dans l’aperçu. Si vous contrôlez la destination, préférez votre propre domaine court à un raccourcisseur public — la redirection est plus rapide et l’aperçu affiche votre marque.

La conclusion honnête

Choisissez le niveau de correction d’erreurs M sauf si vous avez une raison spécifique d’aller plus haut. Gardez l’URL courte pour que la version reste basse. Respectez la zone de silence. Testez sur au moins deux téléphones — idéalement un Android plus ancien — dans des conditions d’éclairage réalistes avant que le code parte à l’impression. La plupart des échecs QR ne sont pas des bugs de générateur ; ce sont des violations de zone de silence, de contraste ou de taille de module qui semblaient correctes sur l’épreuve de conception et ont échoué en conditions réelles.

Frequently asked questions

Quel niveau de correction d’erreurs devrais-je choisir ?
Le niveau M (15 %) est une valeur par défaut raisonnable pour les écrans et l’impression propre. Passez au niveau Q (25 %) si le code sera imprimé en petite taille, plastifié sous un film réfléchissant, ou risque de se salir — menus de restaurant, signalétique extérieure, étiquettes d’équipement. Le niveau H (30 %) est requis quand vous souhaitez superposer un logo au centre. Le niveau L (7 %) n’a de sens que lorsque vous avez besoin d’une densité de données maximale et que le code sera scanné dans des conditions idéales.
Quelle est la taille minimale d’impression d’un QR code ?
Le minimum pratique est une taille de module d’environ 0,4 mm à une distance de scan standard. Pour un code Version 3 (29×29 modules), cela donne une taille imprimée d’environ 12 mm de côté. En dessous, l’autofocus de l’appareil photo commence à avoir du mal. Si vous avez besoin d’un format plus petit, utilisez un Micro QR code (versions M1-M4) — il peut contenir jusqu’à 35 caractères numériques mais se scanne de manière fiable jusqu’à environ 8 mm.
Pourquoi mon code avec un logo se scanne-t-il encore ?
Correction d’erreurs Reed-Solomon. Le code stocke suffisamment de données redondantes pour reconstruire les modules manquants ; au niveau H, jusqu’à 30 % du code peut être illisible et le scanner récupère quand même la charge utile. Les logos doivent rester dans la zone centrale et ne jamais couvrir l’un des trois grands carrés de détection de position dans les coins.
Qu’est-ce que la zone de silence et quelle taille doit-elle avoir ?
La zone de silence est la marge vide autour du code qui permet au scanner de trouver la limite. La norme exige 4 modules d’espace vide de chaque côté. L’omettre est la raison la plus courante pour laquelle un code valide ne se scanne pas — l’appareil photo voit l’image environnante comme faisant partie du motif et le détecteur abandonne.
Un QR code peut-il être rectangulaire ?
Pas un QR code standard — ceux-ci sont toujours carrés. Le rMQR (Rectangular Micro QR) de Denso Wave est une norme ISO séparée (ISO/IEC 23941) pour les codes rectangulaires, mais la prise en charge des scanners est limitée aux contextes d’inventaire industriel. Si vous avez besoin d’un code-barres non carré, regardez plutôt PDF417 ou Data Matrix.
Quels formats de charge utile les appareils photo des téléphones reconnaissent-ils ?
L’URL est universel. Au-delà : `WIFI:` rejoint un réseau, `mailto:` ouvre un brouillon d’e-mail, `tel:` et `sms:` ouvrent le composeur ou l’application de messagerie, `geo:` ouvre les cartes, et une charge utile vCard (`BEGIN:VCARD…END:VCARD`) ajoute un contact. iOS et Android les reconnaissent tous sans application. Évitez les préfixes personnalisés — ils nécessitent un lecteur dédié.

Related

Published May 31, 2026