
QR code trop dense : pourquoi, et comment l'alléger
Un QR code qui ressemble à un buisson de minuscules carrés ne dit qu'une chose : ce qu'il contient est long. La densité n'est ni un style, ni un réglage de qualité, ni un curseur qu'un générateur pourrait baisser sur demande. Elle résulte de trois éléments, et en pratique seul le premier dépend de vous.
La réclamation arrive d'habitude avec une épreuve imprimée en pièce jointe. Le code paraissait très bien dans la maquette à l'écran, et sur papier à 20 mm c'est une texture grise que deux téléphones sur trois refusent de scanner. Personne n'a touché au design entre ces deux moments. Quelqu'un a ajouté des paramètres au lien.
La densité est une sortie, pas une option
Le processus est mécanique : l'encodeur examine votre contenu, choisit le mode de compactage adapté, compte les bits, y ajoute les données de contrôle réclamées par le niveau de correction d'erreurs retenu, puis retient la plus petite version capable d'absorber le total. La version 1 mesure 21 modules de côté, la version 2 en mesure 25, puis chaque palier ajoute quatre modules par côté jusqu'aux 177 de la version 40. L'échelle des versions détaille ce qui évolue aussi au fil de cette montée.
Il n'existe aucun point de cette séquence où une préférence pour un symbole d'aspect plus aéré pourrait s'appliquer. Raccourcissez le contenu et la version descend. Laissez le contenu tel quel et elle ne descendra pas, quoi que vous fassiez à la maquette, aux couleurs ou à la taille imprimée.
Ce que coûte une URL de suivi, compté en modules
Les chiffres tranchent plus vite que la discussion. Notre générateur fixe la correction d'erreurs au niveau H : lisez donc la colonne H.
Un lien de redirection court, d'une vingtaine à une trentaine de caractères, atterrit en mode octet et tient dans la version 4, qui porte 34 octets au niveau H. Cela fait une grille de 33 par 33. Ajoutez un jeu complet de paramètres de campagne et le même lien monte à environ 110 caractères, ce qui demande la version 10 et ses 119 octets. Cela fait 57 par 57.
Même carré imprimé, deux objets très différents. À une largeur de symbole de 30 mm, le premier donne à chaque module 30 divisés par 33, soit environ 0,91 mm. Le second donne 30 divisés par 57, soit environ 0,53 mm. Le design n'a pas changé. La chaîne s'est allongée, et chaque module s'est resserré pour lui faire place.
C'est pourquoi les paramètres de campagne sont la chose la plus coûteuse que la plupart des gens mettent dans un code imprimé. Minuscules, points d'interrogation, signes égal et tirets bas se trouvent tous hors du jeu de caractères alphanumérique : une URL est donc tassée à un octet plein par caractère, sans aucune astuce de compression à sa disposition. Cent caractères de suivi en plus, ce sont cent octets en plus, et ce sont les octets qui poussent la version vers le haut.
Le niveau H fait partie de la réponse ici
La correction d'erreurs n'est pas une couche boulonnée sur le flanc du symbole. Elle vit dans les mêmes modules que les données, donc un niveau plus haut laisse moins de place au contenu à version donnée. Notre générateur utilise le niveau H, sans réglage possible, et c'est un arbitrage délibéré : H est le niveau qui tolère un logo au centre et une surface qu'on manipule.
Le coût se voit sous forme de densité. Cette même URL de 110 caractères tient dans la version 7 au niveau M, qui porte 122 octets et donne une grille de 45 par 45. Au niveau H, il lui faut la version 10 et 57 par 57. Chaîne identique, trois versions d'écart, uniquement parce qu'une part plus grande de chaque symbole est faite de données de contrôle plutôt que de contenu utile. Les quatre niveaux et ce que chacun récupère traitent l'arbitrage en termes généraux. Ce qu'il faut en retenir pour un code d'aspect trop fin, c'est que le levier à votre disposition est le contenu, pas le niveau.
Pourquoi une redirection produit un symbole visiblement plus aéré
Mettez une destination de 200 caractères derrière une redirection et le symbole n'encode pas 200 caractères. Il encode la redirection, qui est courte et reste courte quelle que soit la croissance de la destination. Les paramètres de campagne, les identifiants de session et le contenu de lien profond vivent tous de l'autre côté de ce saut, là où la longueur ne coûte rien.
Un code aéré et un code dense peuvent donc pointer vers exactement la même page. L'un porte l'adresse ; l'autre porte un pointeur vers elle. C'est le plus grand levier de densité disponible pour quiconque imprime petit, et c'est mécaniquement la raison d'être d'un code dynamique. La mesure survit au déplacement, puisque la redirection compte le scan au passage : les paramètres n'ont jamais eu besoin d'être dans l'encre pour être comptés.
À l'impression, la conséquence porte sur la taille du module, pas du code
Agrandir l'impression ne réduit pas le nombre de modules. Cela augmente la taille du module, qui est le chiffre décidant si un appareil photo peut lire le symbole tout court, et les maquettes ont rarement la place de grandir.
Une seule division donne la réponse. Prenez la largeur imprimée du symbole, zone de silence exclue, et divisez-la par le nombre de modules en largeur. En dessous de 0,4 mm par module environ, la plupart des appareils photo de téléphone commencent à échouer, et ce plancher remonte sur un papier absorbant, à basse résolution d'impression et sous une mauvaise lumière.
Passez les deux exemples précédents dans trois largeurs :
- Version 4, 33 modules de large : 0,61 mm à 20 mm de large, 0,76 mm à 25 mm, 0,91 mm à 30 mm.
- Version 10, 57 modules de large : 0,35 mm à 20 mm de large, 0,44 mm à 25 mm, 0,53 mm à 30 mm.
L'URL de 110 caractères à 20 mm passe déjà sous le plancher avant même d'atteindre une presse. Posez-la sur un papier non couché et l'étalement de l'encre resserre les intervalles clairs entre modules sombres voisins jusqu'à en refermer certains, et c'est la panne qui ressemble à une bavure et se lit comme rien du tout. Dans un flux de production matriciel, le plancher équivalent est d'environ quatre pixels imprimés par module, et c'est là que la résolution pour l'impression reprend la question.
Raccourcir le contenu, dans l'ordre qui rapporte
- Déplacez les paramètres de suivi vers la destination. La plus grosse coupe disponible, et elle ne change rien à ce que vous pouvez mesurer.
- Raccourcissez l'hôte et le chemin. Un domaine court avec un identifiant de trois caractères bat une URL enfouie dans des dossiers du site principal.
- Supprimez ce que personne ne lit : identifiants de session, étiquettes de source déjà présentes dans le chemin, valeurs de formulaire préremplies, paramètres par défaut qui valent de toute façon la valeur par défaut.
- Sur une carte de visite, retirez la photo, la note et le second site web. Une photo pousse une vCard vers le plafond du format et hors d'une carte de visite tout court.
- Alors seulement, augmentez la taille imprimée, et vérifiez le résultat face à la distance de lecture plutôt qu'au trou dans la maquette. Le guide des tailles porte ces chiffres.
Et en France ?
Les adresses de pages françaises sont souvent plus longues que leurs équivalents anglais : articles, prépositions et mots composés s'accumulent, comme dans /nos-offres/generateur-de-qr-code-pour-les-restaurants-et-les-bars. Chaque caractère ajoute des modules au code.
Deux solutions. Pour une page destinée à être imprimée, prévoyez une adresse courte et sans accents, comme /menu ou /offre-ete. Ou utilisez un code dynamique : il n'encode qu'une courte redirection, et la page finale peut garder une adresse longue et optimisée pour le référencement sans alourdir le code imprimé.
Le diagnostic en une minute
Comptez les modules le long du bord supérieur, du bord extérieur d'un carré d'angle à celui de l'autre, sans la marge. Retirez 17 et divisez par quatre : vous obtenez la version. Mesurez ensuite la largeur imprimée du code et divisez-la par le nombre de modules pour connaître la taille réelle d'un module.
Si le résultat se tient confortablement au-dessus d'un demi-millimètre, le code n'est pas trop dense et le problème est ailleurs : un reflet, un contraste, une marge rognée, une destination morte. Essayez de le flasher avec le plus vieux téléphone de la maison pour voir lequel de ces défauts se manifeste. Si le résultat tombe sous 0,4 mm, vous avez trouvé le problème, et c'est dans la chaîne que vit le remède.


