Quanto piccolo può essere stampato un codice QR? Le dimensioni, calcolate
Non esiste un'unica dimensione minima per un codice QR. Abbiamo eseguito cinque payload reali attraverso il nostro encoder per i conteggi dei moduli, quindi li abbiamo convertiti in millimetri.
Novità qui: Versione del simbolo e conteggio dei moduli per cinque tipi di payload reali a tutti e quattro i livelli di correzione degli errori, calcolati con l'encoder che MostlyQR fornisce, quindi convertiti in millimetri stampati — quindi la dimensione minima è derivata dal tuo payload invece di essere quotata come un numero generico.
Ogni guida alla stampa dei codici QR ti fornisce un singolo numero. Due centimetri. Un pollice. Tre centimetri per l’imballaggio. Questi numeri sono stime mascherate da standard, e sono sbagliati in entrambe le direzioni: troppo grandi per un link breve su un biglietto da visita, pericolosamente troppo piccoli per una vCard su un’etichetta di bottiglia.
La risposta reale è una divisione, e puoi farla prima di stampare qualsiasi cosa.
# Perché non esiste una singola dimensione minima
Un codice QR non è un’immagine che si riduce. È una griglia di moduli — i piccoli quadrati — e il numero di moduli è fissato dal tuo contenuto, non da te. Ventuno caratteri di collegamento breve richiedono una griglia 25×25. Una vCard con un nome, un numero di telefono e un’email richiede 49×49. Stampa entrambi a 25 mm e avrai stampato due cose molto diverse: nel primo, ogni modulo è largo 0,76 mm; nel secondo, 0,44 mm.
Il modulo è quello che la stampante deve mantenere e la fotocamera deve risolvere. Quindi la domanda “quanto può essere piccolo il mio codice QR” è davvero “quanto può essere piccolo un modulo e quanti ne ho” — e la seconda metà è calcolabile.
# Quanto costa il tuo contenuto in moduli
Abbiamo eseguito cinque tipi di contenuto attraverso l’encoder che MostlyQR effettivamente fornisce (buildMatrix nel nostro packages/qr, che avvolge la libreria MIT node-qrcode) a tutti e quattro i livelli di correzione degli errori. Il numero dopo la barra è la dimensione della griglia — i moduli su un lato, non contando la zona di sicurezza.
| Payload | Characters | EC L | EC M | EC Q | EC H |
|---|---|---|---|---|---|
| short link | 21 | v2 / 25 | v2 / 25 | v2 / 25 | v3 / 29 |
| Wi-Fi join (WPA) | 47 | v3 / 29 | v4 / 33 | v4 / 33 | v6 / 41 |
| campaign URL with UTM tags | 87 | v5 / 37 | v6 / 41 | v7 / 45 | v9 / 53 |
| long product URL | 116 | v6 / 41 | v7 / 45 | v9 / 53 | v10 / 57 |
| vCard (name, org, phone, email, URL) | 135 | v6 / 41 | v8 / 49 | v9 / 53 | v11 / 61 |
Queste sono le stringhe esatte, così puoi riprodurre ogni riga:
https://mqr.sh/AB12CD
WIFI:T:WPA;S:CafeGuest;P:coffee-and-cake-2026;;
https://example.com/spring-menu?utm_source=poster&utm_medium=qr&utm_campaign=spring2026
https://example.com/collections/spring-2026/products/heirloom-tomato-seed-pack-organic?variant=4471029&ref=packaging
BEGIN:VCARD ⏎ VERSION:3.0 ⏎ N:Celar;Max ⏎ FN:Max Celar ⏎ ORG:MostlyQR ⏎
TEL:+3861234567 ⏎ EMAIL:max@mostlyqr.com ⏎ URL:https://mostlyqr.com ⏎ END:VCARD
L’intervallo è il punto. Su contenuti ordinari e quotidiani, la griglia va da 25 a 61 moduli per lato — un fattore di 2,4 nella densità lineare, prima che qualcuno abbia scelto un formato di carta.
# Se controlli questa tabella, controllala con le stringhe
Il solo conteggio dei caratteri non riprodurrà quei numeri, ed è utile sapere perché prima di concludere che li abbiamo sbagliati.
Un encoder QR non tratta ogni carattere come un byte. Sceglie una modalità di codifica per ogni sequenza di caratteri — numerica (3⅓ bit per cifra), alfanumerica (5½ bit, ma solo per cifre, lettere maiuscole e una manciata di simboli), o byte (8 bit) — e un buon encoder divide un contenuto in diversi segmenti per ottenere il totale più economico. Lo facciamo noi. Ecco quello che ha effettivamente scelto:
| Payload | Segments |
|---|---|
| short link | Byte:14 + Alphanumeric:7 |
| Wi-Fi join | Alphanumeric:10 + Byte:37 |
| campaign URL | Byte:83 + Numeric:4 |
| long product URL | Byte:95 + Numeric:7 + Byte:14 |
| vCard | Alphanumeric:11 + Byte:1 + Alphanumeric:11 + Byte:44 + Numeric:10 + Byte:49 + Alphanumeric:9 |
Se invece codifichi gli stessi conteggi di caratteri come una singola sequenza di byte, ottieni una tabella diversa e più grande — v3/29 per il collegamento breve al livello Q invece di v2/25, e v7/45 per la vCard al livello L invece di v6/41. Entrambe le tabelle sono corrette; descrivono contenuti diversi.
Questo ti dà una leva gratuita, se i tuoi collegamenti brevi usano uno slug maiuscolo. https://mqr.sh/AB12CD si divide in byte + alfanumerico perché lo schema e l’host sono minuscoli. Scrivi l’intero URL in maiuscolo — HTTPS://MQR.SH/AB12CD — e diventa un singolo segmento alfanumerico di 21 caratteri: al livello L è v1, 21 moduli, un’intera versione più piccola della forma mista. (Ai livelli M e Q questa particolare stringa rimane a v2/25 — sta già beneficiando della coda alfanumerica; il guadagno si vede al livello L, e cresce con la lunghezza della sequenza maiuscola.) Lo schema e l’host sono insensibili alle maiuscole, quindi l’URL si risolve in modo identico; il percorso no, quindi funziona solo se il tuo slug è genuinamente maiuscolo. I nostri lo sono.
# Lo stesso 25 mm, cinque codici diversi
Ora fissi la larghezza stampata e leggi quello che ti rimane per ogni contenuto. Questo è (larghezza ÷ (moduli + 8)), l’8 essendo la zona di sicurezza obbligatoria di quattro moduli su ogni lato:
| Payload | EC M module size at 25mm | EC H module size at 25mm |
|---|---|---|
| short link | 0.76mm | 0.68mm |
| Wi-Fi join | 0.61mm | 0.51mm |
| campaign URL with UTMs | 0.51mm | 0.41mm |
| long product URL | 0.47mm | 0.38mm |
| vCard | 0.44mm | 0.36mm |
Lo stesso quadrato sulla pagina. Il doppio della dimensione delle caratteristiche da un’estremità della tabella all’altra. Un negozio di stampa che è a suo agio nel mantenere 0,5 mm in modo pulito produrrà un codice collegamento breve perfetto e una vCard marginale dal layout identico.
# La larghezza minima, dall’altra direzione
La maggior parte delle persone arriva con la domanda opposta: non “cosa ottengo a 25 mm” ma “quanto piccolo posso andare”. Scegli una dimensione del modulo che il tuo processo di stampa può effettivamente mantenere — 0,5 mm è un limite comune per la stampa offset e digitale decente su carta patinata — e la larghezza segue:
| Payload | EC M | EC H |
|---|---|---|
| short link | 16.5mm | 18.5mm |
| Wi-Fi join | 20.5mm | 24.5mm |
| campaign URL with UTMs | 24.5mm | 30.5mm |
| long product URL | 26.5mm | 32.5mm |
| vCard | 28.5mm | 34.5mm |
Questo è l’intervallo che Internet comprime in “circa 2 cm”. Alle estremità di esso, 2 cm è o il 20% più grande di quello che ti serve o il 40% più piccolo di quello che puoi permetterti.
Se la tua stampante mantiene 0,33 mm — stampa al setaccio fine, digitale buona, nessuna carta assorbente — dividi questi per 1,5. Se stai stampando su cartone ondulato, tessuto o qualsiasi cosa che diffonde l’inchiostro, va dall’altra parte e assume 1 mm.
# La leva più grande è l’URL, non la stampante
Guarda di nuovo la prima tabella. Il collegamento breve e l’URL del prodotto lungo sono le stesse informazioni — entrambi portano qualcuno alla stessa pagina — e uno di loro è 25 moduli mentre l’altro è 45.
Questo è l’intero gioco. Ogni millimetro di dimensione del modulo che acquisti argomentando con la tua stampante, puoi ottenerlo gratuitamente accorciando quello che il codice codifica. Un collegamento breve dinamico è di 21 caratteri indipendentemente da quanto sia lungo la destinazione, e ha un secondo vantaggio che conta di più su una tiratura: puoi cambiare dove punta dopo che l’inchiostro è asciutto, quindi un codice che sopravvive alla sua pagina di destinazione non diventa un vicolo cieco.
Per qualsiasi cosa che verrà stampata piccola — un biglietto da visita, un’etichetta, l’angolo di un menu — codifica un collegamento breve e reindirizza. Codificare l’URL completo della campagna con i suoi tag UTM direttamente nel codice ti costa 16 moduli per lato e non compra nulla che un reindirizzamento non possa fare meglio.
# Cosa ti costa la correzione degli errori in termini di dimensione
La correzione degli errori aggiunge ridondanza in modo che un codice danneggiato o parzialmente coperto possa comunque essere letto. Non è gratuita, e le tabelle precedenti la determinano il prezzo:
- short link, M → H: 25 → 29 moduli (+16% lineare)
- Wi-Fi join, M → H: 33 → 41 (+24%)
- vCard, M → H: 49 → 61 (+24%)
Un quarto di larghezza in più, per un codice che sopravvive all’usura, stampato su imballaggio, o parzialmente coperto da un logo. Su un poster, dove lo spazio è libero, scegli il livello H e smettila di pensarci. Su un’etichetta dove hai solo 30 mm, il livello M con un collegamento breve batte il livello H con un URL lungo — il contenuto più breve sta portando più robustezza di quanto farebbe la correzione di errore extra.
Se stai coprendo il centro con un logo, il compromesso si sposta duramente verso H, e c’è un budget misurato per quanto grande può essere il logo.
# Cosa questo non misura
Tutto quanto sopra riguarda il simbolo. È aritmetica su un encoder, è esatto, e puoi rieseguirlo. È anche solo metà di quello che decide se un codice stampato scansiona:
- Non abbiamo testato la distanza di scansione con fotocamere reali. La regola pratica del settore — la larghezza del codice dovrebbe essere approssimativamente un decimo della distanza da cui desideri scannerizzarlo — è ampiamente citata e non l’abbiamo verificata. Trattala come punto di partenza per poster e segnaletica, non come misurazione.
- La diffusione dell’inchiostro, il substrato e il contrasto non sono nei numeri. Un modulo di 0,4 mm su carta patinata e un modulo di 0,4 mm su cartone ondulato non sono lo stesso modulo.
- La qualità della fotocamera varia enormemente. Un telefono di cinque anni in un ristorante buio è il vero test, e è quello che dovresti effettivamente eseguire: stampa il codice alla dimensione che intendi, sulla carta che intendi, e scannerizzalo con il telefono peggiore dell’ufficio.
L’ultimo non è una riserva, è il consiglio. L’aritmetica ti dice quali dimensioni vale la pena testare. Il test ti dice se funziona.
# Rieseguire questo da soli
Ogni tabella sopra è stampata da uno script piuttosto che digitata nell’articolo, e lo script è nel repository in draft/mostlyqr/seo/benchmarks/print-size.js. Esegue buildMatrix sulle cinque stringhe sopra, scarica i segmenti della modalità di codifica, stampa la tabella di controllo della modalità byte accanto a quella reale, e deriva le figure in millimetri. Se qualsiasi numero qui è sbagliato, quel file è dove è sbagliato.
# La versione breve
- Codifica un collegamento breve, non l’URL completo — è l’unica leva che cambia la griglia invece della carta.
- Cerca il conteggio dei moduli del tuo contenuto sopra, o calcolalo.
- Moltiplica (moduli + 8) per il modulo più piccolo che il tuo processo di stampa mantiene pulitamente. Questa è la tua larghezza minima. (Se stai inserendo il codice in uno dei nostri modelli, un poster in A3 e un volantino in A4 lasciano entrambi molto più spazio di quanto ne abbia bisogno un contenuto qui.)
- Stampalo a quella dimensione, sulla carta reale, e scannerizzalo con un telefono cattivo.
Se desideri che il codice porti un’immagine e i dati, la domanda sulla dimensione diventa ancora più acuta — una fotografia ha bisogno di una griglia molto più densa per essere visibile affatto, che abbiamo misurato separatamente per codici QR fotografici.
Domande frequenti
Qual è la dimensione minima per un codice QR?
Non c'è un numero. Il codice è una griglia di moduli, e quanti moduli ha bisogno dipende interamente da quanti dati metti. Un collegamento breve al livello di correzione degli errori M è 25 moduli attraverso; lo stesso codice che trasporta una vCard è 49. Stampato alla stessa larghezza, i moduli del secondo sono quasi metà della dimensione — quindi uno di loro si scansiona a 17 mm e l'altro no. Elabora prima il tuo conteggio dei moduli, quindi scegli una larghezza.
Un URL più lungo rende il codice QR più grande?
Lo rende più denso, il che equivale alla stessa cosa. Nelle nostre misurazioni un collegamento breve di 21 caratteri si codifica in 25 moduli al livello M, e un URL di prodotto di 116 caratteri a 45. Stampa entrambi 25 mm di larghezza e i moduli sono rispettivamente 0,76 mm e 0,47 mm. Accorciare l'URL è il modo più economico per rendere stampabile un codice piccolo — non costa nulla ed è l'unica leva che cambia la griglia piuttosto che la carta.
Una correzione degli errori più elevata rende il codice più grande?
Sì, e di più di quanto la maggior parte delle persone si aspetti. Passare dal livello M al livello H ha aggiunto tra 4 e 12 moduli per lato in tutti e cinque i payload — per la vCard, 49 moduli sono diventati 61, che è un aumento del 25% nella dimensione lineare che devi stampare. Il livello H di solito vale la pena se il codice verrà maneggiato, stampato su imballaggio o parzialmente coperto da un logo, ma è una decisione di dimensione, non un aggiornamento gratuito.
Quanto spazio bianco ha bisogno un codice QR intorno a sé?
Quattro moduli su ogni lato. Quella zona tranquilla è parte del simbolo, non decorazione — i lettori la usano per trovare i bordi — quindi appartiene all'aritmetica. Ogni larghezza stampata in questo articolo è calcolata come (moduli + 8) × dimensione del modulo esattamente per questo motivo.
- I codici QR fotografici funzionano davvero? I nostri risultati del test di decodificaUn codice QR che è una fotografia potrebbe sembrare che funzioni peggio. Abbiamo misurato il nostro con un decoder reale — sfocato, ridimensionato e letto come legge un lettore.
- Quanto grande può essere il logo su un codice QR? L'abbiamo misurato"Correzione degli errori al 30%" non è un budget per il logo. Abbiamo fatto buchi sempre più grandi nei codici a ogni livello EC finché un decoder reale non ha rinunciato, e abbiamo registrato dove si è rotto.