Почему QR-код не сканируется с бумаги: разбор причин
Напечатанный QR-код не читается по одной из 5 причин. По признаку видно, какая из них ваша и что исправить.
С экрана QR-код читается сразу. Тот же код с бумаги не читается или читается не с первого раза. Причин у этого 5, и каждую можно проверить отдельно.
Механизм у всех пяти один. Камера находит код по границам темных и светлых модулей, и каждая из пяти причин эти границы стирает.
Причина 1. Растровый исходник и размытые границы
Если в макет попал PNG или скриншот, при масштабировании границы размываются, и модули сливаются друг с другом. Посмотрите на распечатку через лупу или сфотографируйте ее крупно. Серые размытые или зубчатые края означают растровый исходник. Если края резкие, дело не в исходнике, переходите к причине 2.
Перегенерируйте код в векторе и печатайте PDF или SVG без промежуточных пересохранений. В статье QR-код в SVG мы объяснили, почему векторный файл не размывается ни при каком масштабе. Если вы не знаете, какая ссылка записана в коде, прочитайте его телефоном с экрана или с распечатки, которая еще читается, и закодируйте показанную ссылку.
Причина 2. Слишком мелкий размер
Код 1 см на плакате с 2 метров не читается. Под такую дистанцию нужно 20 см. Ползунок размера в форме доходит до 15 см, код крупнее скачайте в SVG и увеличьте в макете. Держите сторону кода не меньше 1/10 дистанции, с которой его читают, и при чтении с руки не меньше 2 см. Учтите и длину ссылки. Чем она длиннее, тем плотнее матрица и тем крупнее нужен код при той же дистанции.
Если код на макете меньше 1/10 дистанции или меньше 2 см, четкие края и свободная зона не спасут. Увеличьте код. Проверьте и масштаб печати. В режиме «по размеру страницы» принтер уменьшает весь лист, и код выходит мельче макета, поэтому печатайте в масштабе 100%. В статье оптимальный размер QR-кода для печати мы разложили размеры по сценариям, от наклейки в руке до плаката за 2 м.
Причина 3. Срезанная свободная зона
Вокруг матрицы должна оставаться светлая свободная зона в 4 модуля. У кода 2 см без логотипа со ссылкой в 20 знаков зона получается 3,2 мм. В макете ее срезают ради компактности или закрывают текстом и рамкой. Без этой зоны граница матрицы теряется в соседнем тексте.
Проверьте на макете, осталась ли свободная зона со всех четырех сторон кода, в том числе там, где к нему подходит текст или рамка. Если зона на месте, а код не читается, смотрите резку в следующем абзаце и причину 4. В статье поля и отступы QR-кода мы посчитали зону в миллиметрах для кодов разного размера и показали, каким полем формы она задается.
При резке наклеек по контуру нож срезает и часть свободной зоны. На макете она есть, после резки код оказывается впритык к краю наклейки. Закладывайте запас между краем наклейки и кодом уже на этапе макета.
Причина 4. Контраст и цвет
Черному коду на белом контраста хватает с запасом. Светло-серый или желтый код на белом читается не каждый раз, потому что контраст такой пары ниже 4 к 1. Серый #777777 на белом дает 4,5 к 1. Над порогом это небольшой запас, и на бумаге он почти исчезает. ГОСТ Р ИСО/МЭК 18004-2015 допускает светлый код на темном фоне, но такую инверсию распознают не все камеры.
На распечатке эту причину выдает цвет модулей. Вместо черных они выходят серыми или бледными. Небольшую бледность без лупы не разглядеть, так что смотрите на модули под увеличением, как в причине 1. Если под лупой модули черные или темного цвета и фон белый, контраста хватает. Переходите к причине 5.
Если код цветной по брендбуку, проверьте пару цветов в форме до печати. Генератор считает контраст сам и не отдает файл, если код не темнее фона или контраст пары ниже порога. Струйный принтер с пустеющим картриджем печатает черное бледно-серым, и контраст падает уже на бумаге.
Та же формула WCAG, что у генератора. Порог 4 к 1 это нижняя граница. На бумаге краска светлеет, поэтому для тиража берите пару с запасом.
4,5 к 1
Проходит на грани. Генератор примет, но на бумаге запаса почти нет, поэтому возьмите код темнее или фон светлее
Открыть генератор с этими цветамиПричина 5. Поверхность и свет
На глянцевой бумаге и под пленкой код бликует. Под лампой на нем появляется белое пятно, и модули под пятном не читаются. Прочитайте код в тени от лампы. Если прочитался, мешал блик, если не прочитался и в тени, блик ни при чем. Возьмите матовую поверхность или перевесьте код туда, где нет прямого света. Фактурная бумага с выраженным зерном тоже вредит, потому что на волокнах мелкие модули расплываются.
FAQ
Почему после печати часть QR-кодов на листе не сканируется?
Размер кода на листе один для всех строк, а число модулей в матрице зависит от длины строки. Без логотипа ссылка в 20 знаков дает матрицу 25×25 модулей, ссылка с UTM-метками в 66 знаков дает 33×33. При коде 2 см модуль короткой ссылки получается 0,8 мм, у ссылки с UTM 0,6 мм, поэтому первыми перестают читаться коды с длинными строками. Найдите такие строки в списке и укоротите их или увеличьте размер кода для всего листа. Если строки у нечитаемых кодов не длиннее остальных, проверьте, нет ли на распечатке полос от принтера и бликов.
Почему код со временем перестал читаться?
Если код не читается совсем, смотрите на износ: выцветание на солнце, царапины, грязь. Коррекция ошибок в QR-коде закрывает такие повреждения до своего предела, брак исходника и верстки она не закрывает. Напечатайте наклейку заново и замените.
Может ли быть виновата сама ссылка?
Может. Если код прочитался, но страница не открывается, код исправен, не работает сама ссылка. Что в нем записано, покажет сканер QR-кода онлайн. Он читает код с камеры и по фото прямо в браузере. В статье почему QR-код перестал работать мы разобрали, что делать с таким тиражом.
Помогает ли поднять уровень коррекции ошибок на мелком коде?
Нет, и в генераторе такой настройки нет. Без логотипа генератор ставит минимальный уровень L, с логотипом поднимает его до максимального H. Более высокая коррекция добавляет служебных модулей, матрица становится плотнее, и мелкий код от этого читается только хуже.
Почему QR-код не считывается, если на вид он в порядке?
Бледную заливку и зубчатые края модулей без лупы не разглядеть, но камере они мешают. Поверните распечатку к другому свету и наведите камеру под другим углом. Если код прочитался, сам он в порядке, мешали блик и поверхность. Если не прочитался и так, причина в самой распечатке, проверьте причины 1 и 4.
Следующий шаг
Напечатайте новый векторный PDF того же размера на той же бумаге и том же принтере и прочитайте оба листа телефоном с одного расстояния. Если новый читается, а старый нет, причина была в файле. Если не читается и новый, файл ни при чем, проверяйте размер, свободную зону, контраст и свет. В базе знаний есть статьи про размер, свободную зону и цвет кода.
Соберите лист с QR-кодами в PDF. Размер кода и поля листа задаются в форме до скачивания.
Соберите свой лист с QR-кодами
Вставьте список ссылок или загрузите файл, а мы разложим коды с подписями по листам A4 и отдадим PDF, SVG или PNG.
Открыть генератор