Le contraste est ce qu'un scanner lit vraiment — concevez autour de cela et la plupart des chartes survivent.
Un scanner ne voit ni le rouge ni le bleu. Il réduit l'image en niveaux de gris et cherche une différence clair-foncé entre les modules et le fond. Toute paire de couleurs fonctionne si l'écart de luminance est assez large, et toute paire échoue s'il ne l'est pas — y compris des paires qui paraissent très différentes à l'œil.
La mesure utile est le rapport de contraste, le même que pour l'accessibilité web. Le noir sur blanc fait 21:1. Pour l'impression, visez 7:1 ou mieux et traitez tout ce qui est sous 4:1 comme un code qui échouera quelque part : pièce sombre, caméra bon marché, étiquette usée, téléphone tenu de biais.
Deux couleurs peuvent être très différentes en teinte et presque identiques en luminosité. La teinte, c'est ce que vous voyez ; la luminosité, c'est ce que le scanner voit.
Des modules foncés sur fond clair, c'est ce que chaque décodeur attend. C'est ce que décrit la spécification, et c'est ce que les lecteurs matériels, les anciens téléphones et les scanners intégrés aux applis supposent avant d'essayer quoi que ce soit de plus malin.
Les codes inversés — modules clairs sur fond sombre — fonctionnent sur beaucoup de téléphones modernes. La caméra iOS et Google Lens s'en sortent en général. Mais beaucoup de scanners intégrés aux applis, d'anciens Android et presque tous les lecteurs laser ou imageurs dédiés n'inversent pas, donc un code inversé vous fait perdre silencieusement une part de public, sans message d'erreur et sans moyen de le savoir.
Si le design a vraiment besoin d'une surface sombre, n'inversez pas. Imprimez une plaque claire derrière le code — un panneau blanc ou crème avec toute la zone de silence à l'intérieur — et gardez les modules foncés. Cela a l'air voulu, et cela scanne partout.
Les rapports de contraste ci-dessous sont approximatifs et calculés à la manière WCAG, couleur du code contre couleur du fond. Tout ce qui est dans la zone sûre garde de la marge pour la mauvaise lumière et les caméras bon marché.
| Code sur fond | Contraste approx. | Verdict |
|---|---|---|
| Noir sur blanc | 21:1 | Sûr — la référence |
| Presque noir #111827 sur blanc | 17:1 | Sûr, plus doux que le noir pur |
| Marine #0B1F3B sur blanc | 16:1 | Sûr |
| Vert foncé #14532D sur blanc | 9:1 | Sûr |
| Code foncé sur crème clair #FAF5EC | 15:1+ | Sûr — les fonds chauds conviennent |
| Sarcelle #0F766E sur blanc | 5,5:1 | Limite — utilisable en impression, à tester |
| Gris moyen #808080 sur blanc | 4:1 | Risqué — échoue en faible lumière |
| Orange #F97316 sur blanc | 2,8:1 | Échoue |
| Rouge foncé #8B0000 sur noir | 2,1:1 | Échoue |
| Bleu pastel #A7D8F0 sur blanc | 1,5:1 | Échoue |
| Jaune #FFD700 sur blanc | 1,4:1 | Échoue nettement |
| Blanc sur presque noir #111827 | 17:1 | Fort contraste mais inversé — à éviter à l'impression |
Le rouge porte très peu de luminance pour ce qu'il a l'air criard. Le rouge pur sur noir mesure environ 5:1 sur le papier mais s'effondre en pratique, parce que le canal rouge de la caméra est le plus bruité et que l'éclairage intérieur chaud décale encore la balance des blancs contre lui. Le rouge foncé sur noir tombe vers 2:1 et ne se décode tout simplement pas.
Le même piège attrape le jaune et l'orange par l'autre bout. Ils se lisent comme clairs à l'œil, donc les graphistes les associent au blanc, où l'écart de luminance est presque nul. Le jaune sur blanc fait environ 1,4:1 — un code que vous voyez clairement et qu'un scanner ne lit pas du tout.
Les trois grands carrés dans les coins sont les motifs de détection, et un plus petit carré d'alignement se trouve près du bas droit sur tous les codes sauf les plus petits. Le scanner s'en sert pour localiser le code, en déduire l'orientation, et corriger l'angle avant de lire le moindre module de données.
Ils doivent rester la partie la plus foncée et au plus fort contraste de l'image. Les teinter d'une couleur d'accent plus claire, les remplir d'un dégradé, les cerner d'un trait fin, ou laisser un logo ou une photo les recouvrir sont autant de façons sûres de fabriquer un code qui a l'air superbe et scanne par intermittence.
Restyler leur forme est une autre affaire, et c'est très bien. Des motifs de détection arrondis ou circulaires gardent le même rapport clair-foncé tout en changeant le contour, c'est pourquoi les options de style existent. Changer leur contraste, voilà ce qu'il faut éviter.
Un dégradé sur les modules n'est sûr que si chaque stop dépasse votre plancher de contraste par rapport au fond. Un dégradé qui va du bleu marine profond au bleu ciel pâle scannera à un bout du code et échouera à l'autre, ce qui est pire qu'un échec franc parce que cela passe votre premier test.
La plupart des chartes contiennent quelque chose d'assez foncé pour fonctionner. Prenez la couleur la plus sombre de la marque, vérifiez-la sur blanc, et si elle dépasse 7:1 vous pouvez construire tout le code avec et rester dans la charte.
Si la couleur de marque est claire ou moyenne, dépensez-la ailleurs que dans les modules : comme fond derrière un code presque noir, comme cadre ou panneau autour, comme texte d'appel sous le code, ou comme logo au centre. Le code lui-même reste foncé et tout autour porte la marque.
Un logo central ajoute sa propre contrainte. Gardez-le sous environ 20 à 25 % de la surface du code et montez la correction d'erreur à Q (environ 25 % de récupération) ou H (environ 30 %) pour que les modules couverts puissent être reconstruits.
Trois contrôles attrapent presque tout, et chacun prend moins de temps qu'une réimpression.
Les couleurs bougent entre l'écran et la presse. Un marine RVB mesurant 16:1 sur votre écran peut s'imprimer nettement plus clair en CMJN sur un papier non couché, donc le BAT papier est le contrôle qui compte.
Gratuit, sans inscription, et votre code n'expire jamais.
Vous avez votre code ? ☕ Offrez-moi un café — cela garde cet outil gratuit pour tout le monde.