Il contrasto è ciò che lo scanner legge davvero — progetta intorno a quello e la maggior parte delle palette del brand sopravvive.
Uno scanner non vede il rosso o il blu. Riduce l'immagine in scala di grigi e cerca una differenza chiaro-scuro tra i moduli e lo sfondo. Qualsiasi coppia di colori funziona se il gap di luminanza è abbastanza ampio, e qualsiasi coppia fallisce se non lo è — anche coppie che al tuo occhio sembrano nettamente diverse.
La misura utile è il rapporto di contrasto, lo stesso dell'accessibilità web. Nero su bianco è 21:1. In stampa, punta a 7:1 o meglio e tratta tutto sotto 4:1 come un codice che fallirà da qualche parte: una stanza buia, una fotocamera economica, un'etichetta consumata, un telefono tenuto di sbieco.
Due colori possono essere selvaggiamente diversi in tinta e quasi identici in luminosità. La tinta è ciò che vedi tu; la luminosità è ciò che vede lo scanner.
Moduli scuri su sfondo chiaro è ciò che ogni decoder si aspetta. È ciò che descrive la specifica, ed è ciò che scanner hardware, telefoni vecchi e scanner in-app assumono prima di tentare qualsiasi acrobazia.
I codici invertiti — moduli chiari su sfondo scuro — funzionano su molti telefoni moderni. La fotocamera iOS e Google Lens di solito li gestiscono. Ma tanti scanner in-app, Android più vecchi e quasi ogni scanner laser o imager dedicato non invertono, così un codice invertito ti fa perdere in silenzio una fetta di pubblico, senza messaggio di errore e senza modo di saperlo.
Se il progetto ha davvero bisogno di una superficie scura, non invertire. Stampa una lastra chiara dietro il codice — un pannello bianco o crema con tutta la zona silenziosa dentro — e tieni i moduli scuri. Sembra voluto e scansiona ovunque.
I rapporti di contrasto sotto sono approssimativi e calcolati alla maniera WCAG, colore del codice contro colore di sfondo. Tutto ciò che sta nella fascia sicura ha margine per la cattiva luce e le fotocamere economiche.
| Codice su sfondo | Contrasto approx. | Verdetto |
|---|---|---|
| Nero su bianco | 21:1 | Sicuro — il riferimento |
| Quasi nero #111827 su bianco | 17:1 | Sicuro, e più morbido del nero puro |
| Blu navy #0B1F3B su bianco | 16:1 | Sicuro |
| Verde scuro #14532D su bianco | 9:1 | Sicuro |
| Codice scuro su crema chiara #FAF5EC | 15:1+ | Sicuro — gli sfondi caldi vanno bene |
| Teal #0F766E su bianco | 5,5:1 | Limite — usabile in stampa, testalo |
| Grigio medio #808080 su bianco | 4:1 | Rischioso — fallisce in poca luce |
| Arancione #F97316 su bianco | 2,8:1 | Fallisce |
| Rosso scuro #8B0000 su nero | 2,1:1 | Fallisce |
| Blu pastello #A7D8F0 su bianco | 1,5:1 | Fallisce |
| Giallo #FFD700 su bianco | 1,4:1 | Fallisce in modo netto |
| Bianco su quasi nero #111827 | 17:1 | Alto contrasto ma invertito — evita in stampa |
Il rosso porta pochissima luminanza rispetto a quanto urla. Il rosso puro su nero misura circa 5:1 sulla carta ma crolla nella pratica, perché il canale rosso della fotocamera è il più rumoroso e l'illuminazione calda da interni sposta il bilanciamento del bianco ulteriormente contro di lui. Il rosso scuro su nero arriva vicino a 2:1 e semplicemente non decodifica.
La stessa trappola prende giallo e arancione dall'altro capo. All'occhio sembrano brillanti, così i designer li abbinano al bianco, dove il gap di luminanza è quasi zero. Giallo su bianco è circa 1,4:1 — un codice che vedi benissimo e che uno scanner non legge affatto.
I tre quadrati grandi agli angoli sono i pattern di ricerca, e un quadrato di allineamento più piccolo sta in basso a destra su tutti i codici tranne i più piccoli. Lo scanner li usa per localizzare il codice, capirne l'orientamento e correggere l'angolo prima di leggere un solo modulo di dati.
Devono restare la parte più scura e ad alto contrasto dell'immagine. Tingerli di un accento più chiaro, riempirli con un gradiente, contornarli con un tratto sottile o farci sovrapporre un logo o una foto sono tutti modi affidabili di costruire un codice che sta benissimo e scansiona a intermittenza.
Restilizzarne la forma è un altro discorso ed è lecito. I pattern di ricerca arrotondati o circolari tengono lo stesso rapporto chiaro-scuro cambiando il contorno, ed è per questo che esistono le opzioni di stile. Cambiarne il contrasto è la cosa da evitare.
Un gradiente sui moduli è sicuro solo se ogni passaggio supera il tuo pavimento di contrasto rispetto allo sfondo. Un gradiente che va dal blu navy profondo all'azzurro cielo scansionerà a un capo del codice e fallirà all'altro, il che è peggio di un fallimento netto perché supera il tuo primo test.
La maggior parte delle palette contiene qualcosa di abbastanza scuro da funzionare. Prendi il colore più scuro del brand, confrontalo col bianco, e se supera 7:1 puoi costruire l'intero codice da quello e restare comunque fedele al brand.
Se il colore del brand è chiaro o di mezzotono, spendilo altrove rispetto ai moduli: come sfondo dietro un codice quasi nero, come cornice o pannello intorno, come testo di invito all'azione sotto, o come logo al centro. Il codice resta scuro e tutto intorno porta il brand.
Un logo al centro aggiunge un vincolo suo. Tienilo sotto circa il 20-25 percento dell'area del codice e alza la correzione d'errore a Q (circa il 25 percento di recupero) o H (circa il 30 percento) così i moduli coperti si possono ricostruire.
Tre controlli prendono quasi tutto, e tutti richiedono meno tempo di una ristampa.
I colori si spostano tra schermo e stampa. Un blu navy RGB che misura 16:1 sul monitor può stampare visibilmente più chiaro in CMYK su carta non patinata, quindi la prova su carta è il controllo che conta.
Gratis, senza registrazione, e il codice non scade mai.
Hai il tuo codice? ☕ Offrimi un caffè — tiene questo strumento gratis per tutti.