Jak mały może być wydrukowany kod QR? Rozmiary, wyliczone
Nie ma jednego minimalnego rozmiaru kodu QR. Pięć prawdziwych ładunków przepuściliśmy przez nasz koder, by policzyć moduły, a potem zamieniliśmy je na milimetry.
Co nowego tutaj: Liczba wersji i modułów dla pięciu prawdziwych typów ładunków na wszystkich czterech poziomach korekcji błędów, obliczona naszym koderem MostlyQR, a następnie przeliczona na milimetry wydruku — minimalny rozmiar wynika więc z twojego ładunku, a nie jest podawany jako jedna ogólna liczba.
Każdy poradnik o drukowaniu kodów QR podaje jedną liczbę. Dwa centymetry. Jeden cal. Trzy centymetry dla opakowań. Te liczby to zgadywanki przebrane za standardy i są błędne w obu kierunkach: za duże dla krótkiego linku na wizytówce, niebezpiecznie za małe dla vCard na etykiecie butelki.
Prawdziwa odpowiedź to dzielenie, które możesz wykonać, zanim cokolwiek wydrukujesz.
# Dlaczego nie ma jednego minimalnego rozmiaru
Kod QR nie jest obrazkiem, który się zmniejsza. Jest siatką modułów — małych kwadracików — a liczba modułów jest ustalana przez twoje dane, a nie przez ciebie. Dwadzieścia jeden znaków krótkiego linku wymaga siatki 25×25. vCard z imieniem, numerem telefonu i adresem e-mail wymaga 49×49. Wydrukuj oba w 25 mm i wydrukujesz dwie bardzo różne rzeczy: w pierwszym module mają 0.76 mm szerokości, w drugim 0.44 mm.
Moduł to to, co drukarka musi utrzymać, a aparat musi rozpoznać. Więc pytanie „jak mały może być mój kod QR” to tak naprawdę pytanie „jak mały może być jeden moduł i ile ich mam” — a druga połowa jest obliczalna.
# Ile twoje dane kosztują w modułach
Przepuściliśmy pięć typów danych przez koder, którego faktycznie używa MostlyQR (buildMatrix w naszym packages/qr, który opakowuje bibliotekę MIT node-qrcode), przy wszystkich czterech poziomach korekcji błędów. Liczba po ukośniku to rozmiar siatki — liczba modułów na jednym boku, bez strefy ciszy.
| Dane | Znaki | EC L | EC M | EC Q | EC H |
|---|---|---|---|---|---|
| krótki link | 21 | v2 / 25 | v2 / 25 | v2 / 25 | v3 / 29 |
| Dołączenie do Wi-Fi (WPA) | 47 | v3 / 29 | v4 / 33 | v4 / 33 | v6 / 41 |
| kampanijny URL z tagami UTM | 87 | v5 / 37 | v6 / 41 | v7 / 45 | v9 / 53 |
| długi URL produktu | 116 | v6 / 41 | v7 / 45 | v9 / 53 | v10 / 57 |
| vCard (imię, organizacja, telefon, e-mail, URL) | 135 | v6 / 41 | v8 / 49 | v9 / 53 | v11 / 61 |
To są dokładne ciągi znaków, więc możesz odtworzyć każdy wiersz:
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:Novak;Ana ⏎ FN:Ana Novak ⏎ ORG:MostlyQR ⏎
TEL:+4420790000 ⏎ EMAIL:anna@example.org ⏎ URL:https://mostlyqr.com ⏎ END:VCARD
Rozrzut jest istotą sprawy. W zwykłych, codziennych danych siatka waha się od 25 do 61 modułów na bok — czynnik 2.4 w gęstości liniowej, zanim ktokolwiek wybierze format papieru.
# Jeśli sprawdzasz tę tabelę, sprawdź ją ciągami znaków
Sama liczba znaków nie odtworzy tych liczb i warto wiedzieć dlaczego, zanim uznasz, że się pomyliliśmy.
Koder QR nie traktuje każdego znaku jako bajtu. Wybiera tryb kodowania dla każdego ciągu znaków — numeryczny (3⅓ bita na cyfrę), alfanumeryczny (5½ bita, ale tylko dla cyfr, wielkich liter i kilku symboli) albo bajtowy (8 bitów) — i dobry koder dzieli dane na kilka segmentów, aby uzyskać najtańszą sumę. Nasz tak robi. Oto co faktycznie wybrał:
| Dane | Segmenty |
|---|---|
| krótki link | Byte:14 + Alphanumeric:7 |
| Dołączenie do Wi-Fi | Alphanumeric:10 + Byte:37 |
| kampanijny URL | Byte:83 + Numeric:4 |
| długi URL produktu | Byte:95 + Numeric:7 + Byte:14 |
| vCard | Alphanumeric:11 + Byte:1 + Alphanumeric:11 + Byte:44 + Numeric:10 + Byte:49 + Alphanumeric:9 |
Zakoduj te same liczby znaków jako jeden ciąg bajtów i dostaniesz inną, większą tabelę — v3/29 dla krótkiego linku na poziomie Q zamiast v2/25, i v7/45 dla vCard na poziomie L zamiast v6/41. Obie tabele są poprawne; opisują różne dane.
Daje to darmową dźwignię, jeśli twoje krótkie linki mają wielkie litery w slugu. https://mqr.sh/AB12CD dzieli się na bajt + alfanumeryczny, ponieważ schemat i host są pisane małymi literami. Napisz cały URL wielkimi literami — HTTPS://MQR.SH/AB12CD — a stanie się jednym 21-znakowym segmentem alfanumerycznym: na poziomie L to v1, 21 modułów, cała wersja mniej niż forma mieszana. (Na poziomach M i Q ten konkretny ciąg zostaje przy v2/25 — już korzysta z alfanumerycznego ogona; zysk pojawia się na L i rośnie wraz z długością ciągu wielkich liter.) Schemat i host nie rozróżniają wielkości liter, więc URL działa identycznie; ścieżka już tak, więc to zadziała tylko wtedy, gdy twój slug naprawdę jest pisany wielkimi literami. Nasze są.
# Ten sam kwadrat 25 mm, pięć różnych kodów
Teraz ustal stałą szerokość wydruku i odczytaj, co zostaje każdym danym. To jest (szerokość ÷ (moduły + 8)), gdzie 8 to obowiązkowe cztery moduły strefy ciszy z każdej strony:
| Dane | Rozmiar modułu EC M przy 25 mm | Rozmiar modułu EC H przy 25 mm |
|---|---|---|
| krótki link | 0.76 mm | 0.68 mm |
| Dołączenie do Wi-Fi | 0.61 mm | 0.51 mm |
| kampanijny URL z UTM | 0.51 mm | 0.41 mm |
| długi URL produktu | 0.47 mm | 0.38 mm |
| vCard | 0.44 mm | 0.36 mm |
Ten sam kwadrat na stronie. Dwukrotna różnica wielkości elementu między jednym końcem tabeli a drugim. Drukarnia, która swobodnie utrzyma 0.5 mm, wyprodukuje idealny kod krótkiego linku i marginalny vCard z identycznego układu.
# Minimalna szerokość, od drugiej strony
Większość osób przychodzi z odwrotnym pytaniem: nie „co dostanę przy 25 mm”, lecz „jak mały mogę zejść”. Wybierz rozmiar modułu, który twój proces drukarski faktycznie utrzyma — 0.5 mm to typowe minimum dla offsetu i przyzwoitego druku cyfrowego na powlekanym papierze — a szerokość wynika z tego:
| Dane | EC M | EC H |
|---|---|---|
| krótki link | 16.5 mm | 18.5 mm |
| Dołączenie do Wi-Fi | 20.5 mm | 24.5 mm |
| kampanijny URL z UTM | 24.5 mm | 30.5 mm |
| długi URL produktu | 26.5 mm | 32.5 mm |
| vCard | 28.5 mm | 34.5 mm |
To ten zakres, który internet streszcza jako „mniej więcej 2cm”. Na jego krańcach 2cm to albo 20% więcej, niż potrzebujesz, albo 40% mniej, niż możesz sobie pozwolić.
Jeśli twoja drukarka utrzyma 0.33 mm — dobry sitodruk, dobry druk cyfrowy, bez chłonnego podłoża — podziel te wartości przez 1.5. Jeśli drukujesz na tekturze falistej, tkaninie albo czymkolwiek, co rozlewa tusz, idź w drugą stronę i zakładaj 1 mm.
# Największa dźwignia to URL, nie drukarka
Spójrz jeszcze raz na pierwszą tabelę. Krótki link i długi URL produktu niosą tę samą informację — oba prowadzą do tej samej strony — a jeden ma 25 modułów, podczas gdy drugi 45.
To cała gra. Każdy milimetr rozmiaru modułu, który kupujesz, kłócąc się z drukarzem, możesz dostać za darmo, skracając to, co kod koduje. Dynamiczny krótki link ma 21 znaków, niezależnie od długości miejsca docelowego, i ma drugą zaletę, która ma większe znaczenie przy nakładzie: możesz zmienić, dokąd wskazuje, gdy tusz już wyschnie, więc kod, który przeżywa swoją stronę docelową, nie staje się ślepą uliczką.
Dla wszystkiego, co będzie drukowane małe — wizytówki, etykiety, róg menu — koduj krótki link i przekierowanie. Kodowanie pełnego URL kampanii z tagami UTM bezpośrednio w kodzie kosztuje cię 16 modułów z każdej strony i nie kupuje niczego, czego przekierowanie nie robi lepiej.
# Ile korekcja błędów kosztuje rozmiar
Korekcja błędów dodaje redundancję, dzięki czemu uszkodzony lub częściowo zakryty kod nadal się odczyta. Nie jest darmowa, a powyższe tabele ją wyceniają:
- krótki link, M → H: 25 → 29 modułów (+16% liniowo)
- Dołączenie do Wi-Fi, M → H: 33 → 41 (+24%)
- vCard, M → H: 49 → 61 (+24%)
Ćwierć więcej szerokości za kod, który przeżyje zarysowanie, wydruk na opakowaniu albo częściowe przysłonięcie logo. Na plakacie, gdzie miejsce jest darmowe, wybierz poziom H i przestań o tym myśleć. Na etykiecie, gdzie 30 mm to wszystko, co masz, poziom M z krótkim linkiem pokonuje poziom H z długim URL — krótsze dane niosą więcej odporności niż dodatkowa korekcja błędów.
Jeśli zasłaniasz środek logo, kompromis mocno przesuwa się w stronę H, a istnieje zmierzony budżet na to, jak duże może być logo.
# Czego to nie mierzy
Wszystko powyżej dotyczy symbolu. To arytmetyka nad koderem, jest dokładna i możesz ją powtórzyć. To także tylko połowa tego, co decyduje o tym, czy wydrukowany kod się skanuje:
- Nie testowaliśmy odległości skanowania prawdziwymi aparatami. Branżowa zasada kciuka — szerokość kodu powinna być mniej więcej jedną dziesiątą odległości, z której chcesz go skanować — jest szeroko cytowana, a my jej nie zweryfikowaliśmy. Traktuj ją jako punkt wyjścia dla plakatów i oznakowania, a nie jako pomiar.
- Rozlewanie tuszu, podłoże i kontrast nie są uwzględnione w liczbach. Moduł 0.4 mm na powlekanym kartonie i moduł 0.4 mm na tekturze falistej to nie ten sam moduł.
- Jakość aparatu bardzo się różni. Pięcioletni telefon w przyciemnionej restauracji to prawdziwy test i to ten, który powinieneś faktycznie przeprowadzić: wydrukuj kod w rozmiarze, który zamierzasz, na podłożu, które zamierzasz, i zeskanuj go najgorszym telefonem w biurze.
Ten ostatni nie jest zastrzeżeniem, to jest rada. Arytmetyka mówi, które rozmiary warto przetestować. Test mówi, czy to działa.
# Powtórzenie tego samodzielnie
Każda tabela powyżej jest wygenerowana przez skrypt, a nie wpisana ręcznie do artykułu, a skrypt znajduje się w repozytorium w draft/mostlyqr/seo/benchmarks/print-size.js. Uruchamia buildMatrix na pięciu ciągach powyżej, zrzuca segmenty trybów kodowania, wypisuje tabelę kontrolną trybu bajtowego obok prawdziwej i wylicza wartości w milimetrach. Jeśli jakaś liczba tutaj jest błędna, właśnie tam jest błąd.
# Krótka wersja
- Koduj krótki link, nie pełny URL — to jedyna dźwignia, która zmienia siatkę zamiast papieru.
- Sprawdź liczbę modułów dla swoich danych powyżej albo ją oblicz.
- Pomnóż (moduły + 8) przez najmniejszy moduł, jaki twój proces drukarski utrzymuje czysto. To twoja minimalna szerokość. (Jeśli wkładasz kod do jednego z naszych szablonów, plakat w A3 i ulotka w A4 zostawiają znacznie więcej miejsca, niż jakiekolwiek dane tutaj potrzebują.)
- Wydrukuj w tym rozmiarze, na prawdziwym podłożu, i zeskanuj słabym telefonem.
Jeśli chcesz, żeby kod niósł też obraz, pytanie o rozmiar staje się jeszcze ostrzejsze — zdjęcie wymaga znacznie gęstszej siatki, żeby w ogóle było widoczne, co zmierzyliśmy osobno dla kodów QR ze zdjęciem.
Często zadawane pytania
Jaki jest minimalny rozmiar kodu QR?
Nie ma jednej liczby. Kod to siatka modułów, a ich liczba zależy wyłącznie od ilości danych w nim zapisanych. Krótki link przy korekcji błędów poziomu M ma 25 modułów w poprzek; ten sam kod przenoszący vCard ma 49. Wydrukowane w tej samej szerokości moduły drugiego są prawie o połowę mniejsze — jeden z nich skanuje się przy 17mm, a drugi nie. Najpierw policz moduły, a potem wybierz szerokość.
Czy dłuższy URL powiększa kod QR?
Zagęszcza go, co na jedno wychodzi. W naszych pomiarach 21-znakowy krótki link koduje się do 25 modułów na poziomie M, a 116-znakowy URL produktu do 45. Wydrukowane obie po 25mm, moduły mają odpowiednio 0.76mm i 0.47mm. Skrócenie URL-a to najtańszy sposób, by kod dał się wydrukować małym — nic nie kosztuje i jest to jedyna dźwignia, która zmienia siatkę, a nie papier.
Czy wyższa korekcja błędów powiększa kod?
Tak, i bardziej, niż większość ludzi się spodziewa. Przejście z poziomu M na H dodało od 4 do 12 modułów na bok we wszystkich pięciu ładunkach — w przypadku vCard 49 modułów zamieniło się w 61, czyli o 25% większy rozmiar liniowy do wydrukowania. Poziom H zwykle się opłaca, jeśli kod będzie dotykany, drukowany na opakowaniu albo częściowo zasłonięty logo, ale to decyzja o rozmiarze, a nie darmowe ulepszenie.
Ile białej przestrzeni potrzebuje kod QR dookoła?
Cztery moduły z każdej strony. Ta cicha strefa jest częścią symbolu, a nie ozdobą — czytniki używają jej do znajdowania krawędzi — więc musi wejść do obliczeń. Dlatego każda szerokość wydruku w tym artykule jest wyliczona jako (moduły + 8) × rozmiar modułu.
- Czy zdjęciowe kody QR naprawdę się skanują? Wyniki naszych testówZdjęciowy kod QR wydaje się gorzej skanować. Sprawdziliśmy go prawdziwym dekoderem — rozmytego, pomniejszonego i odczytanego tak, jak robi to czytnik.
- Jak duże może być logo na kodzie QR? Zmierzyliśmy„30% korekcji błędów” to nie budżet na logo. Wybijaliśmy rosnące dziury w kodach na każdym poziomie EC, aż dekoder się poddał, i zapisaliśmy punkt załamania.