Enqre
Retour au blog

Publié le 06/08/2026

Comment fonctionne un QR code ? À quoi sert chaque partie du motif

Comment fonctionne un QR code ? À quoi sert chaque partie du motif

Un téléphone lit un QR code en un dixième de seconde environ, et la procédure est toujours la même : trouver les trois carrés d'angle, établir la grille, lire une bande qui indique comment le reste est encodé, défaire un brouillage, puis réassembler les données et réparer ce qui est abîmé.

Chaque carré du motif appartient à l'une de ces étapes. Voici laquelle.

Les trois carrés d'angle : trouver et orienter

Les grands carrés dans trois coins sont les motifs de repérage. C'est ce qu'un scanner cherche en premier, et leur rapport de bandes claires et sombres — 1:1:3:1:1 le long de toute ligne passant par le centre — est délibérément rare dans les images ordinaires, pour que la caméra les repère même dans une photo chargée.

Trois, et non quatre : c'est toute l'astuce, trois coins définissent où est le haut. D'où la lecture à l'envers ou de biais — et d'où le fait qu'un coin masqué tue le code entièrement, quelle que soit la correction d'erreur payée.

Les lignes pointillées : fixer la grille

Entre les repères courent des lignes de modules alternés — les motifs de synchronisation. Ils indiquent au scanner combien de modules fait le code en largeur, pour poser une grille sur l'image et savoir où tombe chaque cellule. Sans eux, une photo un peu tournée dériverait à mi-parcours.

Les petits carrés : corriger une surface courbe

À partir de la version 2 apparaissent de plus petits motifs d'alignement. Ce sont des points de référence qui permettent de défaire la distorsion : un code sur une bouteille, une étiquette courbe, une photo prise de côté. Plus le code est grand, plus il en porte.

La bande près des coins : les réglages

Autour des repères se trouve l'information de format : le niveau de correction d'erreur et laquelle des huit masques a été appliquée. Elle se lit avant les données, car sans elle les données sont indéchiffrables. Elle a sa propre petite protection, distincte du niveau choisi — raison pour laquelle les « 30 % de dégâts » ne l'ont jamais concernée.

Le masquage : pourquoi deux codes du même lien diffèrent

Les données brutes produisent souvent de grandes plages vides ou des rayures, qui perturbent une caméra — pire, elles peuvent imiter un motif de repérage. L'encodeur combine donc les données par XOR avec l'un de huit masques, note le résultat et garde le meilleur.

C'est pourquoi la même URL donne des motifs visiblement différents selon l'outil, et pourquoi on ne peut rien « lire » à l'œil dans la disposition des points.

Comment les données sont disposées

Elles s'écrivent en colonnes de deux modules de large, en partant du bas à droite et en serpentant vers le haut, puis le bas, puis le haut — autour des motifs fonctionnels, jamais à travers. Quatre modes d'encodage existent et l'encodeur prend le plus compact qui convient : numérique, alphanumérique, octet (qui couvre les URL ordinaires) et kanji.

La taille s'appelle version, de 1 à 40 — de 21×21 modules à 177×177, quatre modules de plus par côté à chaque pas. Au maximum, une version 40 à la correction la plus basse contient environ 7 089 chiffres ou 4 296 caractères alphanumériques. Personne n'imprime cela : aucune caméra de téléphone ne résout une grille aussi dense à taille raisonnable.

La correction d'erreur : la seconde copie

Une partie de chaque code est constituée de données Reed-Solomon — une seconde copie mathématique qui permet de reconstruire l'illisible. Quatre niveaux : environ 7 %, 15 %, 25 % et 30 % de la zone de données récupérables, de L à H.

Ce budget paie le logo au centre, la rayure, la pluie sur l'autocollant. Il explique aussi qu'un niveau plus élevé densifie le motif : les données de récupération occupent de la place.

La bordure blanche fait partie du code

La zone de silence — quatre modules de vide tout autour — n'est pas décorative. C'est ainsi que le scanner sait où le code s'arrête et où commence le monde. Une bordure décorative collée au motif la supprime, et c'est l'une des causes les plus fréquentes d'un beau code imprimé qui ne scanne pas.

Ce que contient réellement un code dynamique

Idée fausse répandue : un code dynamique stockerait votre destination et se mettrait à jour tout seul. Impossible — le motif est figé dès l'impression.

Ce qu'il encode est un lien court : un domaine et une poignée de caractères. Le scan ouvre ce lien court, qui renvoie là où le code pointe actuellement. Changez la destination et tous les exemplaires imprimés suivent, car rien du motif imprimé n'a besoin de changer.

Effet pratique à connaître : comme un lien court ne fait que quelques dizaines de caractères, le code reste à une version basse, avec de gros modules robustes. Un code statique portant une longue URL à paramètres exige une grille bien plus dense à taille physique égale — précisément le code qui échoue sur une affiche.

Réponses rapides

  • Que sont les trois grands carrés ? Les motifs de repérage : localisation et orientation.
  • Pourquoi ça scanne à l'envers ? Trois coins suffisent à définir le haut.
  • Et les petits carrés à l'intérieur ? Les motifs d'alignement, contre la distorsion.
  • Pourquoi deux codes du même lien diffèrent ? Le masquage : le meilleur des huit est retenu.
  • Quelle capacité ? Jusqu'à environ 7 089 chiffres au maximum — bien au-delà de l'imprimable.
  • La bordure blanche est-elle optionnelle ? Non, c'est ainsi qu'on trouve les bords.
  • Un code dynamique stocke-t-il mon lien ? Non, un lien court qui redirige.

À lire ensuite