Коррекция ошибок QR-кода: уровни L, M, Q и H

Обновлено 2 октября 2026 г.

Коррекция ошибок QR-кода — это встроенная избыточность, благодаря которой код сканируется, даже если часть его загрязнена, повреждена или закрыта. Уровней четыре: L восстанавливает около 7% данных, M — около 15%, Q — около 25% и H — около 30%. Чем выше уровень, тем надёжнее код, но тем он плотнее.

Как работает коррекция ошибок QR-кода

QR-код не просто хранит ваш текст один раз в надежде, что всё обойдётся. При создании кода данные разбиваются на блоки байтов — кодовые слова, — и к ним вычисляются и добавляются дополнительные кодовые слова для коррекции ошибок. Для этого используется математический метод — коды Рида — Соломона, то же семейство методов, которое десятилетиями применяется в CD, DVD и при передаче данных.

Когда телефон сканирует код, он считывает все кодовые слова. Если часть из них не читается или искажена из-за царапины, пятна или логотипа сверху, сканер по дополнительным кодовым словам вычисляет, какими должны быть недостающие части. Пока повреждение не превышает возможностей уровня, сканирование проходит успешно, и вы даже не замечаете, что что-то было не так.

Уровень коррекции ошибок записан в небольшой области кода — информации о формате, — и хранится там дважды, чтобы сканер мог надёжно его прочитать.

Четыре уровня: L, M, Q и H

Каждый уровень — это компромисс между объёмом хранения и надёжностью. Проценты ниже — приблизительная доля данных кода, которую можно восстановить.

  • Уровень L (Low, низкий), около 7%. Максимум данных в минимальном коде. Подходит для чистых условий, помещений и показа на экране, где повреждения маловероятны.
  • Уровень M (Medium, средний), около 15%. Сбалансированный и распространённый вариант по умолчанию. Годится для большинства печатных материалов — флаеров, меню, визиток.
  • Уровень Q (Quartile, четверть), около 25%. Дополнительная защита для кодов, которые могут испачкаться или истереться: на упаковке, этикетках, в мастерских.
  • Уровень H (High, высокий), около 30%. Максимальная надёжность. Его часто выбирают для уличных вывесок, сложных условий или кодов с логотипом в центре.

Эти цифры описывают восстанавливаемые данные, а не «можно закрыть 30% картинки». Повреждение в неудачном месте, особенно поверх трёх больших угловых квадратов, может сделать код нечитаемым, даже если затронута небольшая площадь.

Компромисс: надёжность против плотности

Коррекция ошибок не бесплатна. Дополнительные кодовые слова занимают место внутри кода. При том же содержимом более высокий уровень означает:

  • Больше модулей — маленьких чёрных и белых квадратиков
  • Более крупную «версию» QR-кода: от 21 × 21 модуля у версии 1 до 177 × 177 у версии 40
  • Более мелкие квадратики при печати в том же физическом размере

Мелкие квадратики камере труднее различить, особенно издалека, при слабом освещении или на старых телефонах. Поэтому уровень H для длинного веб-адреса на крошечной этикетке может сделать код не надёжнее, а наоборот.

Решение обычно в том, чтобы сократить данные. Короткая ссылка — например, ссылки qr-th.com/r/ в динамических кодах QR-TH — сохраняет содержимое компактным. Это оставляет место для более высокого уровня коррекции ошибок без чрезмерной плотности. Как работают короткие ссылки, объясняет наше руководство о статических и динамических QR-кодах.

Какой уровень выбрать?

Воспользуйтесь простой подсказкой:

  1. Показ на экране или чистая печать в помещении? Достаточно уровня L или M.
  2. Обычные печатные рекламные материалы — меню, флаеры, плакаты? Надёжный вариант по умолчанию — M.
  3. Код может поцарапаться, намокнуть, испачкаться или оказаться частично закрытым? Выбирайте Q.
  4. Логотип в центре, уличная вывеска или тяжёлые условия? Выбирайте H и сокращайте данные.
  5. Что бы вы ни выбрали, проверьте напечатанный код на нескольких телефонах на реальном расстоянии и при реальном освещении.

Многие генераторы QR-кодов выбирают разумный уровень автоматически и часто повышают его, когда вы добавляете логотип. Если ваш инструмент позволяет выбирать, думайте о том, где будет размещён код, а не ставьте всегда максимум.

Коррекция ошибок и логотипы

Логотип в центре QR-кода работает именно благодаря коррекции ошибок: он скрывает часть модулей, а сканер восстанавливает их по избыточным данным. Чтобы это было надёжно:

  • Используйте уровень H или хотя бы Q, если добавляете логотип.
  • Делайте логотип умеренно маленьким и размещайте по центру. Оставляйте большой запас до максимального уровня восстановления: реальные повреждения, блики и размытость тоже расходуют этот «бюджет» ошибок.
  • Никогда не закрывайте три больших поисковых квадрата в углах и свободное поле вокруг кода.
  • Сохраняйте сильный контраст между кодом и фоном.

Больше советов по оформлению — в нашей статье о дизайне QR-кода.

Что коррекция ошибок не исправит

Коррекция ошибок — мощный механизм, но у неё есть пределы. Она не спасёт код, у которого:

  • Слабый контраст — светло-серый на белом или тёмное на тёмном
  • Нет свободного поля, потому что код напечатан вплотную к другой графике
  • Повреждены поисковые узоры в углах
  • Квадратики слишком мелкие для расстояния сканирования
  • Сильные искажения — например, на сильно изогнутой поверхности
  • Блики от глянцевой ламинации, засвечивающие большие участки

Коррекция ошибок также не делает код безопаснее. QR-код с уровнем H всё равно может вести на опасный сайт, а мошенническая наклейка поверх настоящего кода отлично сканируется. Если сомневаетесь в коде, сначала отсканируйте QR-код онлайн с помощью QR-TH, чтобы увидеть адрес назначения до того, как что-то откроется.

FAQ

Какой уровень коррекции ошибок QR-кода лучший?

Единственного лучшего уровня нет. M — хороший вариант по умолчанию для большинства печатных задач, а H подходит для логотипов, улицы и тяжёлых условий. Выбирайте исходя из того, где будет использоваться код.

Делает ли более высокий уровень коррекции ошибок QR-код больше?

При тех же данных — да. Добавляется больше модулей, поэтому либо напечатанный код становится крупнее, либо отдельные квадратики — мельче.

Можно ли поставить логотип на любой QR-код?

Только если коррекции ошибок хватает, чтобы покрыть закрытую область, поэтому используйте Q или H. Делайте логотип небольшим, не закрывайте угловые квадраты и всегда проверяйте код перед печатью.

Можно ли изменить уровень коррекции ошибок после печати?

Нет. Уровень — часть напечатанного узора. Чтобы его изменить, нужно создать и напечатать новый код.

Нужен код, который остаётся читаемым в реальных условиях? Создайте его в бесплатном генераторе QR-кодов QR-TH, держите содержимое коротким и проверьте код на паре телефонов перед печатью.

Ещё статьи