Cinquanta coppie di colori per codici QR, e quali sopravvivono alla stampa

dal team KoloQRRicerca

Cartoncini bianchi con codici QR in otto colori diversi - blu notte, viola, sangue di bue, vinaccia, grigio, arancio, verde e giallo - su uno sfondo verde brillante, con un'etichetta nera arrotondata al centro con la scritta "50 QR Code Colour Pairs".

Delle cinquanta coppie codice-sfondo qui sotto, dieci superano il 7:1 e si stampano senza rischi, undici stanno fra 4:1 e 7:1 e appartengono agli schermi, e tredici scendono sotto 4:1 e non dovrebbero portare alcun codice QR. Lo schema dei fallimenti è costante: i colori di brand a mezzo tono. Ogni giallo, ogni arancio sopra l'Ambra 700 e ogni verde più chiaro del Verde foresta sta nel gruppo in fondo.

Punti chiave

  • Dieci delle cinquanta coppie superano il 7:1, l'obiettivo operativo per la stampa. Tutte e dieci sono un colore molto scuro su bianco o su una tinta quasi bianca.
  • Tredici scendono sotto 4:1. Ognuna di esse è un colore a mezzo tono o chiaro usato come codice invece che come sfondo: gialli, aranci, verdi medi, ciano medi.
  • Il fallimento è sistematico, non casuale. Un colore abbastanza scuro da stampare un codice QR leggibile è di solito più scuro del colore che un brand considera proprio.
  • Il rapporto di contrasto è aritmetica su due valori esadecimali, quindi ogni cifra di questa tabella è riproducibile invece che riportata. Per ottenerla non è stato stampato né scansionato alcun codice.
  • Il rapporto ti parla della coppia, non della stampa. Ingrossamento del punto, colore del supporto, lucido e la stessa esposizione della fotocamera stanno tutti fra un rapporto che passa e un codice che si legge dalla carta.
  • Invertire - codice chiaro su fondo scuro - può produrre un rapporto altissimo e fallire lo stesso, perché alcuni decodificatori danno per scontato lo scuro su chiaro e non provano mai l'altra polarità.

Cos'è il numero di questa tabella e cosa non è

Un rapporto di contrasto è la luminanza relativa del più chiaro di due colori divisa per quella del più scuro, traslata perché la scala vada da 1:1 con due colori identici a 21:1 con il nero su bianco. È la stessa cifra che WCAG usa per la leggibilità del testo, e si calcola invece di osservarla: linearizza ogni canale sRGB, pesali 0,2126 per il rosso, 0,7152 per il verde e 0,0722 per il blu, poi dividi.

Vale la pena enunciare quella definizione con precisione, perché è il motivo per cui ogni riga qui sotto è verificabile. Nessuno deve fidarsi di questa tabella. Due valori esadecimali e la formula danno lo stesso numero su qualsiasi macchina, che è un tipo di affermazione diverso da «l'abbiamo provato e ha funzionato».

Ed è anche il suo limite. Per produrre questa tabella non è stato stampato né scansionato alcun codice QR. La colonna del verdetto applica due soglie di design che questo sito già pubblica - circa 7:1 per la stampa e circa 4:1 per lo schermo - a un rapporto calcolato. È un filtro per decidere quali coppie vale la pena testare, non un sostituto del test.

Il motivo per cui quelle soglie stanno così sopra ciò che serve a un decodificatore è trattato nel test di contrasto minimo: il decodificatore open source che si può leggere si arrende intorno a 1,2:1, e tutto ciò che sta fra lì e 7:1 è margine per quello che la stampa fa a un codice dopo che il file è corretto.

Le dieci coppie che superano la stampa

Queste arrivano a 7:1 o meglio e hanno ancora margine per ingrossamento del punto, riflettanza della carta e una fonte di luce scomoda. Ognuna è un colore molto scuro su bianco.

CoppiaHexRapportoSicuro per
Nero su bianco#000000 su #FFFFFF21,00:1Stampa
Quasi nero su bianco#111111 su #FFFFFF18,88:1Stampa
Blu notte su bianco#0B1F3A su #FFFFFF16,52:1Stampa
Viola profondo su bianco#581C87 su #FFFFFF10,88:1Stampa
Bordeaux scuro su bianco#7F1D1D su #FFFFFF10,02:1Stampa
Vinaccia su bianco#9D174D su #FFFFFF7,88:1Stampa
Verde scuro su bianco#065F46 su #FFFFFF7,68:1Stampa
Grigio caldo su bianco#57534E su #FFFFFF7,63:1Stampa
Arancio bruciato su bianco#9A3412 su #FFFFFF7,31:1Stampa
Verde foresta su bianco#166534 su #FFFFFF7,13:1Stampa
L'arancio bruciato a 7,31:1 è la voce utile qui: è l'unico colore dell'elenco che un brand chiamerebbe arancio, ed è parecchi passi più scuro dell'arancio che la maggior parte dei brand possiede.

La lettura pratica di questo gruppo è che la palette stampabile è stretta e profonda. Blu notte, bordeaux scuro, vinaccia, verde scuro, viola profondo: sono questi i colori che funzionano, e un brand la cui identità vive a quell'estremo della propria palette può stampare un codice QR colorato senza pensarci.

Le undici coppie che appartengono a uno schermo

Queste stanno fra 4:1 e 7:1. Su un display, dove il contrasto è perfetto, la luce uniforme e i bordi netti, vanno bene. In stampa hanno speso il margine prima che l'inchiostro sia asciutto.

CoppiaHexRapportoSicuro per
Viola 700 su bianco#7E22CE su #FFFFFF6,98:1Solo schermo
Blu reale su bianco#1D4ED8 su #FFFFFF6,70:1Solo schermo
Rosso 700 su bianco#B91C1C su #FFFFFF6,47:1Solo schermo
Verde acqua 700 su bianco#0F766E su #FFFFFF5,47:1Solo schermo
Ciano 700 su bianco#0E7490 su #FFFFFF5,36:1Solo schermo
Blu 600 su bianco#2563EB su #FFFFFF5,17:1Solo schermo
Verde 700 su bianco#15803D su #FFFFFF5,02:1Solo schermo
Ambra 700 su bianco#B45309 su #FFFFFF5,02:1Solo schermo
Rosso 600 su bianco#DC2626 su #FFFFFF4,83:1Solo schermo
Pietra 500 su bianco#78716C su #FFFFFF4,80:1Solo schermo
Rosa 600 su bianco#DB2777 su #FFFFFF4,60:1Solo schermo
Il Viola 700 manca la soglia della stampa per 0,02. Trattare il 7:1 come un precipizio sarebbe sciocco, ma lo sarebbe altrettanto dare per chiusa senza una prova una coppia così vicina alla linea.

È la fascia in cui in realtà sta la maggior parte dei colori di brand, ed è quella che produce il fallimento tipico del codice che si leggeva in studio e non si è letto sullo scaffale. La prova in studio era su un monitor.

Le tredici coppie che non dovrebbero portare un codice

Sotto 4:1 un codice QR si affida alla tolleranza del decodificatore invece che alla propria leggibilità. Queste coppie a volte si leggono, su un buon telefono, con buona luce, a una dimensione generosa - il che è peggio del fallire del tutto, perché supera l'unica prova che qualcuno fa.

CoppiaHexRapportoSicuro per
Viola 500 su bianco#A855F7 su #FFFFFF3,96:1Nessuno dei due
Rosso 500 su bianco#EF4444 su #FFFFFF3,76:1Nessuno dei due
Blu 500 su bianco#3B82F6 su #FFFFFF3,68:1Nessuno dei due
Arancio 600 su bianco#EA580C su #FFFFFF3,56:1Nessuno dei due
Rosa 500 su bianco#EC4899 su #FFFFFF3,53:1Nessuno dei due
Ambra 600 su bianco#D97706 su #FFFFFF3,19:1Nessuno dei due
Oro su bianco#CA8A04 su #FFFFFF2,94:1Nessuno dei due
Arancio 500 su bianco#F97316 su #FFFFFF2,80:1Nessuno dei due
Ciano 500 su bianco#06B6D4 su #FFFFFF2,43:1Nessuno dei due
Verde 500 su bianco#22C55E su #FFFFFF2,28:1Nessuno dei due
Giallo 500 su bianco#EAB308 su #FFFFFF1,92:1Nessuno dei due
Lime su bianco#78D650 su #FFFFFF1,82:1Nessuno dei due
Giallo 400 su bianco#FACC15 su #FFFFFF1,53:1Nessuno dei due
Il giallo su bianco arriva a 1,53:1, vicino al punto in cui un decodificatore smette proprio di vedere un pattern invece di vederne uno debole.

Lo schema di questo gruppo è la conclusione che vale la pena portarsi via. Non è che alcune tinte falliscono e altre passano: è che la chiarezza è la variabile e la tinta no. Il verde compare in tutte e tre le fasce: il verde scuro passa a 7,68:1, il Verde 700 è solo da schermo a 5,02:1, il Verde 500 fallisce a 2,28:1. Il colore è la stessa idea tre volte; è cambiata solo la luminanza.

Codici scuri su supporti colorati

Stampare su qualcosa di diverso dal bianco abbassa il rapporto, perché i moduli chiari del codice sono la carta. Kraft, avorio, riciclata e carte colorate partono tutte più in basso di quanto suggerisca il file, e il file non può dirti di quanto.

CoppiaHexRapportoSicuro per
Nero su crema#000000 su #FDF6E319,47:1Stampa
Nero su beige#000000 su #F5F5DC18,98:1Stampa
Antracite su bianco sporco#1A1A1A su #F7F7F516,23:1Stampa
Blu Oxford su quasi bianco#14213D su #FCFCFC15,57:1Stampa
Blu notte su azzurro pallido#0B1F3A su #EFF6FF15,18:1Stampa
Blu Oxford su ambra pallido#14213D su #FEF3C714,35:1Stampa
Antracite su grigio medio#1A1A1A su #D4D4D811,78:1Stampa
Bordeaux scuro su rosso pallido#7F1D1D su #FEF2F29,16:1Stampa
Verde foresta su verde pallido#166534 su #F0FDF46,81:1Solo schermo
Grigio scuro su grigio 400#333333 su #9CA3AF4,98:1Solo schermo
Una tinta pallida costa meno di quanto sembri. Il nero su crema perde 1,53 rispetto al nero su bianco, che è nulla. A costare è il colore del codice che si schiarisce, non la carta che si scurisce.

Le ultime due righe sono quelle istruttive. Il verde foresta su bianco passava a 7,13:1; lo stesso verde su una tinta verde pallido scende a 6,81:1 e non supera più la soglia della stampa. Una tinta appena visibile ha spostato una coppia promossa nella fascia marginale.

I codici chiari su fondi scuri sono un'altra domanda

Invertire un codice QR - moduli chiari su sfondo scuro - produce facilmente rapporti alti, e il rapporto non è il problema. Il problema è che la formula del rapporto di contrasto è simmetrica e i decodificatori non lo sono.

CoppiaHexRapportoSicuro per
Bianco su nero#FFFFFF su #00000021,00:1Da testare
Bianco sporco su quasi nero#F5F5F5 su #11111117,32:1Da testare
Bianco su blu notte#FFFFFF su #0B1F3A16,52:1Da testare
Giallo 400 su quasi nero#FACC15 su #11111112,33:1Da testare
Lime su quasi nero#78D650 su #11111010,38:1Da testare
Blu 400 su blu notte#60A5FA su #0B1F3A6,50:1Da testare
Il giallo arriva a 12,33:1 invertito e a 1,53:1 nel verso giusto. Stesso colore, stessa formula, esiti opposti - una buona illustrazione del perché il rapporto da solo non decide nulla.

Un codice QR è specificato come moduli scuri su sfondo chiaro, e sebbene molti decodificatori provino la polarità invertita, non tutti lo fanno e nessuno lo promette. È una questione di parco scanner più che di colore, e nessun rapporto le risponde. Se un progetto chiede un codice invertito, la colonna del verdetto dice di testarlo, perché testare è l'unico modo per saperlo.

Cosa il rapporto non ti dice

Quattro cose stanno fra un rapporto che passa e un codice che si legge dalla carta, e nessuna è visibile nel file.

  • Ingrossamento del punto. Ogni macchina fa crescere leggermente le aree scure. Su un codice QR significa che i moduli chiari si stringono, il che abbassa il contrasto effettivo esattamente alla scala a cui campiona un decodificatore.
  • Supporto. Il rapporto presume che lo sfondo sia il colore del file. Su carta non patinata, riciclata o colorata non lo è, e la carta sta facendo metà del lavoro.
  • Finitura. Una plastificazione lucida può mettere un riflesso speculare su una parte del simbolo per quanto buona sia la coppia sottostante. Un codice a 21:1 sotto un riflesso è un codice a 1:1 in quel punto.
  • Esposizione della fotocamera. Un telefono misura tutta la scena. Un codice piccolo su una grande superficie chiara viene esposto per la superficie, e arriva al decodificatore più piatto di come è uscito dalla tipografia.

Per questo la colonna del verdetto è scritta come una soglia e non come una promessa. Superare il 7:1 significa che la coppia non è il motivo per cui il codice fallisce; non significa che il codice non fallirà.

Come controllare una coppia che non è in questa tabella

Quasi ogni palette di brand contiene un colore che non è fra i cinquanta. Il controllo dura pochi secondi ed è lo stesso usato per costruire la tabella.

  1. Ricava il rapporto dai due valori esadecimali. Metti il colore del codice e quello dello sfondo nel verificatore di contrasto QR. Restituisce la stessa cifra usata da questa tabella, per qualsiasi coppia.
  2. Confrontalo con il lavoro, non con un numero unico. Circa 7:1 per qualsiasi cosa stampata, circa 4:1 per un codice che verrà mostrato solo su uno schermo. Sotto 4:1, cambia il colore invece della dimensione.
  3. Se fallisce, scurisci invece di cambiare tinta. I fallimenti di questa tabella sono un problema di chiarezza. Un arancio di brand che fallisce a 2,80:1 di solito ha un fratello più scuro nella stessa palette che supera il 7:1 e si legge ancora come il brand.
  4. Misura il file esportato, non il campione colore. Il validatore di codici QR legge l'export finito e riporta il contrasto che contiene davvero, insieme a zona di silenzio e dimensione del modulo. Una sfumatura o uno sfondo morbido cambiano la risposta data dai campioni.
  5. Fai la scala prima di una tiratura grande. La scala di contrasto nel test di contrasto minimo produce una soglia per i tuoi telefoni e il tuo supporto, che è l'unico numero che descrive il tuo lavoro invece del caso generale.

Per il lato di design della stessa decisione - quali parti di un codice possono prendere colore e dove sta un accento - i codici QR colorati trattano la collocazione invece dell'aritmetica.

Crea il tuo codice QR

Gratis, senza account e senza filigrana. Scegli una forma, aggiungi un logo, controlla il contrasto ed esporta in SVG, PDF, EPS o PNG: un codice statico senza abbonamento dietro.

Genera codice QR

Questions? Answered

Progetta a circa 7:1 per la stampa e a circa 4:1 per lo schermo. I decodificatori accettano molto meno - quello open source che si può leggere si arrende vicino a 1,2:1 - ma tutto ciò che sta fra lì e 7:1 è margine per ingrossamento del punto, carta, riflessi ed esposizione della fotocamera. Una coppia sotto 4:1 si affida alla tolleranza invece che alla leggibilità.

Non come codice in sé. Il Giallo 400 su bianco misura 1,53:1 e il Giallo 500 misura 1,92:1, entrambi ben sotto qualsiasi soglia utilizzabile. Il giallo funziona come sfondo con sopra un codice molto scuro, e funziona invertito su quasi nero a 12,33:1 - ma un codice giallo su fondo chiaro no.

La maggior parte dei colori di brand sta fra 4:1 e 7:1, che basta su un display e non basta sulla carta. Uno schermo dà contrasto perfetto, luce uniforme e bordi netti; la stampa spende tutti e tre in ingrossamento del punto, riflettanza e riflessi. La prova sul monitor era quella più facile.

Misura 21:1, quanto il nero su bianco, e va comunque testato. La norma QR specifica moduli scuri su sfondo chiaro. Molti decodificatori provano la polarità invertita e alcuni no, quindi un codice invertito è una questione di parco scanner a cui nessuna cifra di contrasto risponde.

Non di per sé. Il nero su crema misura 19,47:1 e il nero su beige 18,98:1, entrambi ben sopra la soglia della stampa. A rovinare i codici è il colore del pattern che si schiarisce, non la carta che si scurisce. La combinazione da evitare è un codice scuro su un supporto a mezzo tono.

No, e la tabella non lo sostiene. Ogni rapporto è calcolato dai due valori esadecimali con la formula standard della luminanza relativa, il che rende ogni cifra riproducibile invece che riportata. La colonna del verdetto applica a quel numero soglie di design pubblicate. Se una coppia precisa sopravviva a una macchina precisa è una prova, non un calcolo.

Linearizza ogni canale sRGB dei due colori, pesali 0,2126 per il rosso, 0,7152 per il verde e 0,0722 per il blu per ottenere la luminanza relativa, poi dividi la maggiore per la minore aggiungendo 0,05 a ciascuna. Qualsiasi calcolatore di contrasto WCAG fa la stessa aritmetica, compreso quello di questo sito.

Solo fino a un certo punto, ed è la leva sbagliata. La dimensione aiuta un decodificatore a risolvere i moduli; il contrasto è ciò che gli permette di distinguerli. Un codice a 2:1 stampato a 10 cm è un pattern grande e piatto. Cambia prima il colore, poi dimensionalo per la distanza di lettura.

Perché KoloQR?

  • Crea codici QR per siti web, menù, Wi-Fi, PDF e biglietti da visita
  • Personalizza colori, loghi e forme uniche
  • Scarica file PNG e SVG di alta qualità
  • Pensato sia per la stampa che per il digitale
Genera codice QR
Un semplice codice QR nero accanto allo stesso codice ridisegnato come un cerchio con i colori del brand