Насколько маленьким может быть QR-код
Код надо втиснуть на бирку или пломбу. Где проходит физический предел размера, из чего он складывается и как ужать матрицу без потери чтения.
На ювелирной бирке место под код меряют миллиметрами. Так же мало места на пломбе счетчика, на торце коробки с деталями и в свободном уголке визитки. Вопрос всегда один: до какого размера можно ужать код, чтобы телефон его еще читал.
Предел можно посчитать. Сторона кода делится на число модулей внутри, и дальше все упирается в один модуль: пролезет ли он через печать и попадет ли в фокус камеры.
Из чего складывается размер кода
QR-код это сетка темных и светлых модулей. Число модулей в ряду задается длиной содержимого. Размер на бумаге тут ни при чем: код 1 см и код 10 см с одной и той же ссылкой внутри состоят из одинакового числа модулей, просто у первого они мельче в 10 раз.
Все значения ниже посчитаны при уровне коррекции L, который стоит по умолчанию. Короткий адрес site.ru/a7k2 в 12 знаков укладывается в матрицу 21 на 21 модуль, и это самая маленькая версия кода. Тот же адрес с приставкой https:// занимает 20 знаков и дает уже 25 модулей. Ссылка на страницу каталога из 46 знаков дает 29, а она же с двумя метками UTM (60 знаков) разгоняет матрицу до 33.
Ступени переходят так. До 16 знаков код умещается в 21 модуль, с 17 до 31 знака в 25 модулей, с 32 до 52 знаков в 29 модулей, а дальше в 33 модуля. На границе ступени один лишний знак добавляет в ряд сразу 4 модуля.
Чтобы получить размер модуля, разделите сторону кода на число модулей. Вот что вышло на прогоне:
- 21 модуль: 0,48 мм при стороне 1 см, 0,71 мм при 1,5 см, 0,95 мм при 2 см.
- 25 модулей: 0,40 мм при 1 см, 0,60 мм при 1,5 см, 0,80 мм при 2 см.
- 29 модулей: 0,34 мм при 1 см, 0,52 мм при 1,5 см, 0,69 мм при 2 см.
- 33 модуля: 0,30 мм при 1 см, 0,45 мм при 1,5 см, 0,61 мм при 2 см.
Число модулей считается так же, как при печати листа: коррекция L, с логотипом H. Вставьте содержимое и укажите сторону кода с макета.
20 знаков, 20 байт
25 × 25 модулей
модуль 0,40 мм при стороне 1 см
Модуль проходит порог 0,4 мм
Модуль не меньше 0,4 мм при стороне от 1 см
Читается примерно до 10 см от камеры по правилу одной десятой
Тихая зона в 4 модуля, по 1,6 мм с каждой стороны
Открыть генератор с этим размеромОстальное зависит от одного числа из списка выше, от размера модуля в миллиметрах.
Порог принтера
Печать кладет изображение точками. Чтобы модуль сохранил форму квадрата, в него должны уместиться хотя бы 4 точки по стороне, иначе на бумаге выходит размытое пятно. Размер точки берется из разрешения: у лазерного принтера 600 dpi это 0,042 мм, у офисной печати 300 dpi 0,085 мм, у термопринтера этикеток 203 dpi 0,125 мм.
Умножаем на 4 и получаем нижнюю границу модуля для каждой техники: 0,17 мм у лазера 600 dpi, 0,34 мм у 300 dpi, 0,50 мм у термопринтера. Это расчет для чистой печати. На практике струйная печать растекается по волокнам бумаги, подсевший картридж дает вместо черного серое, а мелованный глянец добавляет свой разброс.
Для офисной техники держите модуль от 0,4 мм, а если не хочется думать о бумаге и картридже, то от 0,5 мм. Приложите эти пороги к списку выше. Код 1 см с коротким адресом внутри (21 или 25 модулей, модуль 0,48 и 0,40 мм) на лазерном принтере читается. Тот же код 1 см с длинной ссылкой (33 модуля, модуль 0,30 мм) читается через раз.
У термопринтера порог самый высокий. При модуле 0,5 мм код на 25 модулях нельзя делать меньше 1,3 см, а код на 33 модулях нельзя делать меньше 1,7 см. Мелкая этикетка с длинным адресом внутри на такой печати не получится вовсе.
Порог камеры
Со стороны телефона главное ограничение это фокус, а разрешение камеры тут вторично. Ближе 5–10 см объектив уже не наводится, и код превращается в мутное пятно. Мелкий код как раз и подносят к камере вплотную, поэтому ограничение срабатывает именно на нем.
Работает и правило про десятую часть дистанции сканирования, разобранное в статье размер QR-кода для печати. Код 1 см по нему читается с 10 см, то есть телефон придется поднести почти вплотную к бирке. Для пломбы и ценника это нормально, а для меню на столе уже нет.
Мелочи тоже мешают: старая камера наводится дольше, наклейка под прозрачной пленкой дает блик, который закрывает часть матрицы, а рука на такой дистанции дрожит и размазывает границы модулей. На мелком коде каждая из этих помех уже сбивает чтение.
Тихая зона делает код крупнее
Вокруг матрицы нужна пустая светлая полоса шириной в 4 модуля. По ней сканер отделяет код от фона, и ужать ее ради экономии места нельзя, потому что без поля не читается даже крупный код. Нормы разобраны в статье поля и отступы QR-кода.
В нашем генераторе заданный размер относится к самой матрице, а поле добавляется снаружи. Габарит с полем выходит больше самого кода. Код 1 см на 21 модуле займет на бумаге 13,8 мм по стороне, а код 1 см на 25 модулях займет 13,2 мм. Под код 1 см надо расчистить почти 1,5 см.
На бирке или пломбе эта разница решающая. Отмеряйте место по внешней границе поля, иначе рамка, подпись или линия реза подойдут к матрице вплотную и сломают чтение уже после того, как тираж напечатан.
Как уменьшить код, не теряя чтения
На размер влияет прежде всего длина содержимого. Каждая ступень версии это плюс 4 модуля в ряду, и переход с 25 модулей на 29 отнимает у модуля 0,06 мм при стороне 1 см. Короткий адрес на своем домене вида site.ru/a7k2 укладывается в 21 модуль и оставляет модулю 0,48 мм, в 1,6 раза больше, чем у ссылки с метками.
- Возьмите свой короткий адрес вместо длинного пути с рубриками и датами.
- Метки UTM в мелкий код не зашивайте, потому что пара меток в нашем прогоне добавила 4 модуля.
- Уровень коррекции L стоит по умолчанию и дает самую компактную матрицу.
- Логотип в центре не загружайте. Он поднимает коррекцию до H, и ссылка из 20 знаков вырастает с 25 модулей до 29, а модуль при стороне 1 см падает с 0,40 до 0,34 мм. Логотип уместен на кодах от 3 см, для них есть генератор QR с логотипом.
- Ставьте темный код на белый фон, без инверсии и цветной подложки, тогда контраст отчасти компенсирует нехватку размера.
- Берите матовую бумагу и лазерную печать вместо струйной на глянце.
Некоторые приемы не работают вовсе. Сжать готовый код в макете непропорционально не выйдет. Модули поедут, и код перестанет читаться. Сделать линии потоньше тоже нельзя, потому что в нашем SVG все темные модули рисуются одним контуром. И не надейтесь на коррекцию ошибок: она закрывает грязь и царапины, но не растекшуюся печать.
Сильнее всего матрицу увеличивает содержимое, которое сложнее обычной ссылки. Карточка vCard с именем, телефоном, почтой и организацией дает 45–49 модулей в зависимости от длины полей, поэтому на визитке не ставьте такой код меньше 2 см. Числа и место на карточке разобраны в статье QR-код на визитке.
Тест-лист перед тиражом
Расчет дает ориентир, но проверять надо на оттиске. Ползунок размера в форме идет от 1 см. Прогоните один адрес 4 раза, по одному размеру на лист: 1 см, 1,2 см, 1,5 см и 2 см.
Печатайте на той бумаге и том принтере, которые пойдут в тираж, потому что офисная бумага и типографский мелованный картон дают разный результат. Сканируйте двумя телефонами, вплотную и с 15–20 см, при рабочем освещении. Предел для этого носителя это самый мелкий код, который прочитался с первого раза.
Лупа в форме читает код прямо из превью в браузере. Так вы убедитесь, что внутри действительно тот адрес, который вы вставили. Проверить мелкий код на читаемость можно только на распечатанном листе.
Если код не читается ни в одном размере, дело уже не в размере. Причины и порядок проверки собраны в статье почему не сканируется QR-код. Размеры под конкретные носители, от бирки до плаката, лежат в базе знаний.
FAQ
Какой самый маленький QR-код можно напечатать?
На лазерном принтере предел около 1 см, и только с коротким адресом внутри. Надежный размер для тиража 1,5 см, а на термопринтере этикеток код мельче 1,3 см ставить не стоит.
Меняется ли предел, если печатать в типографии?
Да, офсет держит модуль мельче офисной печати. Но многое решает бумага. На мелованном картоне краска ложится ровнее, чем на офисном листе, а на дизайнерской фактуре ложится хуже. Порог для своего тиража берите с пробного оттиска, а не из общего списка.
Какой минимальный размер модуля QR-кода?
0,4 мм для офисной печати 300 dpi и 0,5 мм для термопринтера этикеток. Лазер 600 dpi формально тянет и 0,17 мм, но на обычной бумаге модуль ниже 0,4 мм читается через раз.
Мелкий код читается с экрана, но не с бумаги. Почему?
На экране модуль рисуется пикселями точно по границе, а на бумаге краска растекается за нее. Поэтому мелкий код проверяйте только на оттиске. Остальные причины разобраны в статье почему не сканируется QR-код.
Следующий шаг
Распечатайте на бумаге тиража код размером 1,5 см со своей ссылкой и поднесите к нему телефон на расстояние 15 см. Если телефон прочитал код без поиска фокуса, вашему носителю хватает 1,5 см.
Соберите пробные листы и напечатайте по одному размеру на лист. Ползунок идет от 1 см, превью показывает лист целиком, лупа проверяет содержимое. Оттиск после этого проверяйте сами.
Соберите свой лист с QR-кодами
Вставьте список ссылок или загрузите файл, а мы разложим коды с подписями по листам A4 и отдадим PDF, SVG или PNG.
Открыть генератор