Risoluzione dei codici QR: quanti pixel e quanti DPI servono davvero a un codice QR

dal team KoloQRStampa

Un codice QR verde lime dentro una cornice nera arrotondata con la scritta "SCAN ME", e sotto un'etichetta bianca con la parola "Resolution" accanto a un pollice in su.

Un codice QR destinato alla stampa va esportato a 300 DPI alla sua dimensione finale di stampa, il che significa centimetri ÷ 2,54 × 300 pixel di larghezza. Un codice da 3 cm per un tent card ha bisogno di circa 354 pixel, un codice da 10 cm per un poster di circa 1.181 pixel e un codice da 30 cm per il grande formato di circa 3.543 pixel. Per gli schermi bastano 4 pixel per modulo.

Punti chiave

  • Per la stampa, un codice QR ha bisogno di 300 DPI alla sua dimensione finale di stampa. La larghezza in pixel è centimetri ÷ 2,54 × 300, quindi un codice da 5 cm ha bisogno di circa 591 pixel e uno da 20 cm di circa 2.362 pixel.
  • Un file vettoriale - SVG, PDF o EPS - non ha alcuna risoluzione. Memorizza il codice come geometria, quindi lo stesso file si stampa a 2 cm o a 2 m senza ammorbidirsi.
  • Non è la risoluzione a rendere scansionabile un codice QR. Lo fanno la dimensione fisica e il contrasto. La risoluzione decide solo se i bordi dei moduli restano netti invece di virare al grigio.
  • Un codice QR raster si stampa in modo pulito fino a circa larghezza in pixel ÷ 300 × 2,54 centimetri. Un PNG da 1024 × 1024 arriva a circa 8,7 cm; oltre, i bordi si ammorbidiscono.
  • Non salvare mai un codice QR in JPEG. La compressione JPEG aggiunge artefatti a onda proprio attorno al tipo di bordi netti in bianco e nero di cui un codice QR è fatto.

Che risoluzione deve avere un codice QR?

Quella formula vale per i file raster. Un codice QR vettoriale non ha una dimensione in pixel da scegliere, perché SVG, PDF ed EPS memorizzano il codice come forme anziché come una griglia di pixel. Se il codice andrà in stampa, esportare vettoriale elimina del tutto la questione della risoluzione, ed è il motivo per cui le tipografie chiedono file vettoriali.

Il numero che manda fuori strada è il DPI scritto nel file. Un PNG porta un valore DPI nei suoi metadati, ma quel valore non cambia un solo pixel. Quello che conta è la risoluzione effettiva: la larghezza in pixel divisa per la dimensione a cui il codice viene davvero collocato nel layout. Un codice da 600 pixel collocato a 10 cm in InDesign è un codice a 152 DPI, qualunque cosa dicano i suoi metadati.

Risoluzione e dimensione sono due problemi diversi, e solo uno dei due fa scansionare un codice

È la dimensione fisica a decidere se un codice QR può essere scansionato. La risoluzione decide se i bordi stampati sono nitidi. Un codice da 1 cm esportato a 4.000 pixel fallisce comunque a distanza di un braccio, e un codice da 20 cm esportato a 400 pixel si legge benissimo da tre metri nonostante i bordi visibilmente morbidi.

La fotocamera di un telefono decodifica un codice QR risolvendo i singoli moduli - i piccoli quadrati bianchi e neri che portano i dati. Come regola pratica, alla fotocamera servono circa due o tre dei suoi pixel per ogni modulo nell'immagine catturata, ed è per questo che distanza e dimensione fisica dominano. La risoluzione di stampa influisce solo su quanto nitidamente ogni confine tra moduli viene riprodotto sulla carta.

La conseguenza pratica: prima sistema la dimensione, poi la risoluzione. Un codice QR stampato ha bisogno di circa 1 cm di larghezza ogni 10 cm di distanza di scansione, con 2 × 2 cm come soglia pratica per la lettura ravvicinata. Una volta fissata la dimensione fisica, il conteggio dei pixel segue dalla formula, e non il contrario.

La formula per la stampa, nei due sensi

A 300 DPI un pixel misura 0,0847 mm. Per passare da una dimensione stampata a un numero di pixel, moltiplica i centimetri per 118,1. Per fare il contrario, dividi la larghezza in pixel per 118,1.

Dimensione stampataPixel a 300 DPIPixel a 600 DPI
2 cm236 px472 px
3 cm354 px709 px
5 cm591 px1.181 px
10 cm1.181 px2.362 px
20 cm2.362 px4.724 px
30 cm3.543 px7.087 px
50 cm5.906 px11.811 px

Salire sopra i 300 DPI cambia raramente il risultato stampato di un codice QR. Un codice QR non ha sfumature fini né filetti sottili - è una griglia di blocchi pieni - quindi i 600 DPI producono soprattutto un file più pesante. L'eccezione è un codice molto piccolo, sotto circa 1,5 cm, dove raddoppiare la risoluzione evita che i pochi pixel che formano il bordo di ogni modulo si arrotondino in modo disuguale.

Includi la zona di silenzio nella misura. La zona di silenzio è il margine vuoto attorno a un codice QR che permette a uno scanner di rilevare dove il simbolo inizia e finisce, e lo standard prevede quattro moduli su ogni lato. Se i 5 cm nel layout riguardano solo la grafica nera, l'ingombro reale è maggiore, e il numero di pixel deve coprire tutto l'ingombro.

Quanto puoi stampare grande un PNG che hai già?

Un codice QR raster si stampa in modo pulito fino a circa larghezza in pixel ÷ 300 × 2,54 centimetri. Oltre quel punto, ogni bordo di modulo viene riprodotto con meno punti di quanti la stampante ne vorrebbe, e il passaggio dal nero al bianco inizia ad allargarsi.

Esportazione PNGDimensione massima a 300 DPIDimensione massima a 150 DPI (grande formato)
512 × 5124,3 cm8,7 cm
1024 × 10248,7 cm17,3 cm
2048 × 204817,3 cm34,7 cm
4096 × 409634,7 cm69,4 cm
8192 × 819269,4 cm138,7 cm

Questo tetto è il motivo per cui i limiti di risoluzione dei piani gratuiti sulle piattaforme QR contano. Uno strumento che esporta al massimo 1024 × 1024 pixel è uno strumento che, per la stampa, si ferma più o meno alla scala di una cartolina A6, a prescindere da cosa contenga il codice.

I bordi morbidi non cedono in modo elegante e in un unico passaggio visibile. Un codice con i bordi allargati di solito si legge ancora su un foglio bianco pulito e con buona luce, poi smette di funzionare su carta assorbente, in penombra o di sbieco - che è esattamente la situazione in cui finirà la tiratura stampata.

Il vero minimo è la dimensione del modulo, e si misura in millimetri

L'unità più piccola da tenere al sicuro in un codice QR stampato è il modulo, non il pixel. Come regola pratica, tieni i moduli stampati a 0,4 mm o più per la lettura ravvicinata con un telefono, e a 0,5 mm o più su carta assorbente come carta non patinata, cartone o scontrini, dove l'inchiostro allarga i moduli scuri.

Il numero di moduli dipende dalla versione del simbolo, che è fissata da quanti dati porta il codice. La versione 1 è di 21 × 21 moduli, e ogni passo aggiunge quattro moduli per lato, fino alla versione 40 a 177 × 177. Più caratteri nell'URL significano una versione più alta, che significa moduli più piccoli a parità di dimensione stampata.

VersioneModuliCon zona di silenzioIngombro con moduli da 0,5 mm
121 × 212914,5 mm
225 × 253316,5 mm
329 × 293718,5 mm
433 × 334120,5 mm
537 × 374522,5 mm
641 × 414924,5 mm
1057 × 576532,5 mm

Il minimo di 2 cm citato per i codici QR stampati è questo conto, non una convenzione. Un URL breve con correzione d'errore media si assesta attorno alla versione 3 o 4, e un simbolo di versione 4 con moduli da 0,5 mm è largo 20,5 mm compresa la sua zona di silenzio. Accorcia l'URL e il simbolo scende di una o due versioni, il che recupera millimetri veri a parità di dimensione stampata.

Esporta un numero intero di pixel per modulo

Dividi la larghezza di esportazione per il numero di moduli, zona di silenzio compresa. Se il risultato non è un numero intero, alcuni moduli verranno resi un pixel più larghi di altri e ogni bordo di modulo prenderà un alone grigio di antialiasing. Scegliere una larghezza di esportazione che divide esattamente elimina entrambi i problemi.

Un esempio concreto: un codice di versione 3 è largo 37 moduli compresa la sua zona di silenzio. Esportarlo a 591 pixel - la cifra esatta per 5 cm a 300 DPI - dà 15,97 pixel per modulo. Esportarlo invece a 592 pixel dà esattamente 16, ogni modulo è identico agli altri, e la dimensione stampata cambia di un terzo di millimetro.

Gli aloni grigi contano perché gli scanner binarizzano l'immagine prima di decodificarla: ogni pixel viene forzato a nero o a bianco rispetto a una soglia. Un bordo netto cade dallo stesso lato di quella soglia con qualsiasi illuminazione. Un bordo grigio e morbido cambia lato al variare della luce, il che sposta il confine apparente del modulo e mangia il margine di errore del decodificatore.

È una questione che riguarda solo il raster. Un'esportazione vettoriale non ha una griglia di pixel, quindi i bordi dei moduli sono matematicamente esatti a ogni dimensione e il problema non si pone.

Quale formato esportare

FormatoTipoTetto di risoluzioneUsalo per
SVGVettorialeNessunoStampa di qualsiasi dimensione, grande formato, consegna alla tipografia, modifica in Illustrator o Figma
PDFVettorialeNessunoInvio a una tipografia, inserimento nel layout di un documento
EPSVettorialeNessunoVecchi flussi di stampa che lo richiedono
PNGRaster, senza perditaLarghezza in pixel ÷ 300 × 2,54 cmSchermi, email, slide, social, piccole stampe a dimensione nota
JPEGRaster, con perditaNon adattoNiente - gli artefatti di compressione danneggiano i bordi dei moduli

Scegli il vettoriale ogni volta che il codice verrà stampato, e il raster ogni volta che verrà mostrato su uno schermo. Questa sola regola risolve la maggior parte dei problemi di risoluzione prima che nascano, perché è sul lato stampa che i tetti di risoluzione fanno danni, mentre sul lato schermo una dimensione fissa in pixel è proprio ciò che il mezzo vuole.

Il JPEG merita una regola netta. Il JPEG comprime scartando il dettaglio ad alta frequenza, e un codice QR è quasi interamente dettaglio ad alta frequenza: migliaia di passaggi bruschi dal nero al bianco. Il risultato è una debole ondulazione attorno a ogni modulo, che sopravvive fino alla stampa e riduce il contrasto proprio dove il decodificatore lo misura. KoloQR, un generatore di codici QR gratuito con codici QR circolari e di forma personalizzata, esporta SVG e PNG per questo motivo e non offre affatto il JPEG.

Attenzione agli sfondi trasparenti nelle esportazioni PNG. Una zona di silenzio trasparente non è una zona di silenzio bianca: posata su uno sfondo scuro o a motivi, il margine sparisce e lo scanner perde il confine del simbolo. Esporta su bianco pieno, a meno che il layout non collochi davvero il codice su una superficie chiara e uniforme.

Risoluzione per schermi, presentazioni e video

Su uno schermo, punta ad almeno 4 pixel CSS per modulo ed esporta al doppio per i display ad alta densità. Per un codice di versione 3 a 37 moduli compresa la zona di silenzio, sono circa 150 pixel CSS mostrati, esportati a 300 pixel così resta nitido su un dispositivo 2×.

  • Sito web ed email: PNG da 300–600 px, mostrato a 150–300 px. Qualsiasi cosa più piccola inizia a perdere definizione dei moduli sugli schermi a densità standard.
  • Diapositive di presentazione: dimensiona il codice per la sala, non per la slide. Un codice letto da dieci metri ha bisogno di circa 1 metro di larghezza proiettata secondo la regola della distanza, il che è di solito impraticabile - metti anche l'URL sulla slide.
  • Video e trasmissioni: il codice deve sopravvivere alla compressione dello streaming e restare a schermo abbastanza a lungo da essere scansionato. Tienilo grande, tienilo fermo per almeno otto o dieci secondi, e aspettati che la compressione con compensazione del movimento lo ammorbidisca.
  • Scansione da schermo a schermo: un codice mostrato su un telefono e scansionato da un altro telefono funziona, ma riflessi e bande dovute alla frequenza di aggiornamento causano più fallimenti della risoluzione. Alza prima la luminosità del display.

Risoluzione per stampanti termiche, incisione e ricamo

Fai coincidere la dimensione del modulo con il passo dei punti del dispositivo, invece di scegliere un valore di DPI. Una stampante termica per scontrini stampa tipicamente a 203 DPI, dove un punto misura 0,125 mm, quindi un modulo di esattamente 4 punti fa 0,5 mm e ogni modulo cade su un numero intero di punti. Tre punti danno 0,375 mm, che è sotto la soglia pratica sulla carta per scontrini.

La carta per scontrini è il supporto comune più ostile ai codici QR. È assorbente, a basso contrasto, termicamente irregolare, e sbiadisce. Tieni i codici sugli scontrini a 2 cm o più, usa l'URL più breve possibile così la versione del simbolo resta bassa, e stampa sotto l'URL in testo semplice - un codice sbiadito senza alternativa è un vicolo cieco per il cliente.

Per l'incisione laser, la marcatura a micropunti e il ricamo il vincolo è la testa di marcatura, non i DPI. Manda grafica vettoriale, fatti confermare la dimensione minima di dettaglio che la macchina riesce a tenere, e mantieni il modulo a quella misura o sopra, con un margine. I codici incisi e ricamati perdono contrasto più che nitidezza, quindi prova un campione fisico sotto la luce in cui il codice verrà davvero letto.

Stampa in grande formato: quando i 300 DPI sono uno spreco

Le stampanti di grande formato lavorano di solito a 100–150 DPI perché il risultato si guarda da lontano, e i codici QR seguono la stessa logica. Un codice da 60 cm esportato a 300 DPI è un file da 7.087 pixel che nessuna stampante per striscioni riprodurrà a quella fedeltà, mentre lo stesso codice a 150 DPI è di 3.543 pixel e si stampa identico.

Manda vettoriale per qualsiasi cosa sopra i 30 cm circa. A quella scala il file raster diventa abbastanza grande da essere scomodo, e una tipografia chiederà comunque SVG, PDF o EPS. Il vettoriale sopravvive anche al ridimensionamento che capita quando la misura di uno striscione cambia a produzione avviata, cosa che una grafica raster non fa.

Dimensiona un codice grande per la posizione di lettura ravvicinata più realistica, non per quella più lontana. Le persone si avvicinano a un poster. Un codice dimensionato per una lettura da tre metri si legge anche da un metro, ma un codice dimensionato per un metro non si può leggere da tre: quindi la misura ravvicinata è l'errore sicuro.

Perché un codice QR stampato sembra sfocato - e quali cause rompono davvero la scansione

Cosa vediCausaRompe la scansione?
Bordi dei moduli morbidi e sfocatiFile raster stampato oltre il suo tetto di risoluzioneA volte - restringe il margine del decodificatore
Alone grigio attorno a ogni moduloPixel per modulo non interi, o un'esportazione ingranditaA volte - con illuminazione scarsa
Bordi puntinati o ondulatiSalvato in JPEG a un certo punto del flusso di lavoroA volte - si combina male con qualsiasi altro difetto
Moduli che sbavano l'uno dentro l'altroAllargamento dell'inchiostro su carta assorbente, o moduli sotto 0,4 mmSpesso
Codice nitido che fallisce lo stessoDimensione fisica troppo piccola, contrasto basso o zona di silenzio mancanteSempre

L'ultima riga è quella che conta. La maggior parte dei codici QR che falliscono sul campo è perfettamente nitida. Sono troppo piccoli per la distanza, stampati in una coppia di colori senza contrasto sufficiente, o impaginati con la zona di silenzio tagliata via da un designer che aveva bisogno di spazio. La risoluzione è il problema visibile e raramente quello reale.

La separazione dei colori è una trappola imparentata che nessuna risoluzione risolve. Un codice scuro stampato in un nero ricco o in un colore Pantone che va leggermente fuori registro prenderà aloni colorati sui bordi dei moduli in CMYK. Usa un unico colore scuro pieno e tieni lo sfondo davvero chiaro.

Puoi ingrandire un codice QR che hai già?

Rigeneralo, invece di ingrandirlo. Ingrandire un codice QR raster interpola nuovi pixel a partire da quelli esistenti, il che trasforma i bordi netti dei moduli in sfumature - esattamente il difetto che abbassa il margine di scansione. I dati originali non ci sono più e nessun filtro li recupera.

In pratica due regole coprono tutti i casi:

  • Se puoi rigenerare il codice, fallo ed esporta vettoriale. Rigenerare richiede meno tempo di qualsiasi riparazione, e il risultato non ha alcun tetto. In KoloQR l'esportazione SVG è gratuita e senza filigrana, quindi non c'è nulla da valutare.
  • Se non puoi rigenerarlo - il codice arriva da un cliente, da un fornitore o da un vecchio file di stampa - ingrandiscilo di un fattore intero con interpolazione nearest-neighbour, mai bicubica né con un upscaling «intelligente» basato sull'IA. Il nearest-neighbour a 2× o 4× duplica i pixel e tiene netti i bordi; gli algoritmi di sfumatura li sfocano e possono inventare dettagli che nel simbolo non c'erano mai stati.

Vettorializzare a mano un codice esistente è l'ultima risorsa ed è più affidabile di quanto sembri, perché un codice QR è una griglia di quadrati identici. Ricalcalo a scala intera, verifica che la griglia dei moduli sia uniforme, e scansiona il risultato sia su un iPhone sia su un telefono Android prima che si avvicini a una tiratura.

Meglio di entrambe le strade è decodificare il vecchio codice e ricostruirlo dall'URL. Scansiona il codice esistente, leggi la destinazione e genera un simbolo nuovo da quella stringa - il nuovo codice è matematicamente pulito e hai anche verificato dove punta davvero il vecchio, cosa che vale la pena sapere prima di ristamparlo.

Checklist di risoluzione prima della stampa

  1. Fissa la dimensione fisica. Decidi la dimensione fisica in base alla distanza di scansione - circa 1 cm di larghezza del codice ogni 10 cm di distanza, e mai sotto i 2 cm.
  2. Controlla la dimensione dei moduli. Larghezza stampata ÷ moduli, zona di silenzio compresa. Punta a 0,4 mm o più, 0,5 mm su carta non patinata.
  3. Scegli il formato. Esporta vettoriale per la stampa, raster per gli schermi.
  4. Calcola i pixel. Se esporti in raster, calcola i pixel: cm ÷ 2,54 × 300, poi arrotonda per eccesso a un numero intero di pixel per modulo.
  5. Conferma il DPI effettivo. Controllalo nel file di impaginazione, non nel valore DPI dei metadati dell'immagine.
  6. Verifica che la zona di silenzio sia sopravvissuta al layout. Quattro moduli di spazio libero su tutti e quattro i lati.
  7. Controlla il formato del file. Conferma che il file sia PNG o vettoriale, mai JPEG, e che nessun passaggio del flusso di lavoro lo abbia risalvato come JPEG.
  8. Stampa e scansiona una prova. Stampa una prova a dimensione finale sul supporto reale, e scansionala con un iPhone e un telefono Android nell'illuminazione in cui il codice vivrà.

L'ultimo passo è quello che intercetta ciò che il conto non vede. L'allargamento dell'inchiostro, la lucidità della plastificazione, il colore del supporto e la luce ambientale sono tutti invisibili a schermo e decidono tutti se il codice funziona nella stanza.

Questions? Answered

300 DPI alla dimensione finale di stampa, che è lo standard per la stampa offset e digitale. Per il grande formato letto da lontano, 150 DPI bastano e producono un file molto più leggero. Il DPI scritto nei metadati di un file è solo un'etichetta - è il numero di pixel alla dimensione di collocamento a determinare davvero la qualità di stampa.

Circa 591 pixel a 300 DPI, da 5 ÷ 2,54 × 300. Arrotonda per eccesso a un numero intero di pixel per modulo - 592 pixel per un simbolo da 37 moduli danno esattamente 16 pixel per modulo ed eliminano i bordi con antialiasing. A 600 DPI lo stesso codice da 5 cm è di 1.181 pixel, cosa raramente necessaria a quella dimensione.

Sì per gli schermi, e sì per la stampa fino a circa 8,5 cm a 300 DPI. Oltre, i bordi dei moduli iniziano ad ammorbidirsi. Un PNG da 1000 × 1000 non basta per un poster, un adesivo da vetrina o uno striscione - quelli richiedono un file vettoriale, o un'esportazione raster dimensionata con la formula per la stampa.

No, oltre il punto in cui i bordi dei moduli sono già netti. La scansione dipende dalla dimensione fisica dei moduli, dal contrasto e dalla zona di silenzio, non dal numero di pixel. Un codice da 4.000 pixel stampato a 1 cm fallisce a distanza di un braccio, e un codice da 400 pixel stampato a 20 cm si legge dall'altra parte di una stanza.

SVG per tutto ciò che va stampato, PNG per tutto ciò che sta su uno schermo. L'SVG memorizza il codice come geometria, quindi si adatta a qualsiasi dimensione con bordi matematicamente esatti e senza alcun tetto di risoluzione. Il PNG è fisso alle dimensioni in pixel con cui è stato esportato, che è ciò che uno schermo vuole e ciò che a un lavoro di stampa prima o poi non basta più.

Di solito per la dimensione, il contrasto o la zona di silenzio, più che per la risoluzione. Le cause più comuni sono un codice rimpicciolito per entrare in un layout, moduli sotto 0,4 mm che sbavano insieme su carta assorbente, una zona di silenzio tagliata, la plastificazione lucida che rimanda la luce dentro la fotocamera e una coppia di colori scuro su scuro. Un codice nitido con uno di questi difetti fallisce lo stesso.

Solo se è vettoriale. Un codice QR raster perde definizione dei bordi quando viene ingrandito, perché l'interpolazione inventa pixel intermedi e trasforma i confini netti in sfumature. Se il codice va ingrandito e non esiste un vettoriale, ingrandiscilo di un fattore intero con interpolazione nearest-neighbour, oppure scansiona il vecchio codice e generane uno nuovo dall'URL.

Tecnicamente sì, in pratica no. La compressione JPEG scarta il dettaglio ad alta frequenza e un codice QR non è altro che dettaglio ad alta frequenza, quindi attorno a ogni modulo compaiono deboli anelli che riducono il contrasto proprio sui bordi che il decodificatore misura. Usa PNG per il raster e SVG o PDF per la stampa. Controlla che nessun passaggio del flusso di lavoro risalvi in silenzio il file come JPEG.

Fai coincidere il passo dei punti della stampante invece di scegliere un valore di DPI. Una stampante termica a 203 DPI ha un punto da 0,125 mm, quindi un modulo di 4 punti fa 0,5 mm e cade in modo regolare sulla griglia. Tieni i codici sugli scontrini a 2 cm o più, usa un URL breve per mantenere bassa la versione del simbolo, e stampa sotto l'URL in testo, perché la stampa termica sbiadisce.

No, ma cambia il livello di correzione d'errore, che cambia la versione del simbolo e quindi la dimensione dei moduli. Un logo centrale richiede la correzione d'errore H, che riserva circa il 30% del simbolo ai dati di recupero e spinge in alto la versione. A parità di dimensione stampata, versioni più alte significano moduli più piccoli - quindi un codice con logo spesso va stampato un po' più grande, non esportato con più pixel.

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