Перейти к содержимому

Уровни коррекции ошибок (L/M/Q/H)

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

Уровни коррекции ошибок (Error Correction Level, ECL) — стандартный параметр QR-кода по ISO/IEC 18004, определяющий, какую долю повреждённой матрицы декодер способен восстановить с помощью алгоритма Рида-Соломона. Доступны четыре уровня: L, M, Q, H — от минимальной до максимальной устойчивости.

Характеристики каждого уровня

  • L (Low, ≈7%) — минимальная избыточность. Наибольшая информационная ёмкость при заданной версии QR. Подходит для чистых поверхностей, где код не подвержен царапинам и загрязнению.
  • M (Medium, ≈15%) — баланс между ёмкостью и надёжностью. Используется по умолчанию во многих генераторах. Достаточен для большинства печатных материалов в помещении.
  • Q (Quartile, ≈25%) — повышенная устойчивость. Рекомендован для наружной рекламы, упаковки и промышленной маркировки, где возможны загрязнения и частичные повреждения.
  • H (High, ≈30%) — максимальная коррекция. Обязателен при размещении логотипа в центре QR-кода: перекрытая область считается «повреждённой» и восстанавливается из блоков коррекции. Подробнее о правилах совмещения — в статье про QR с логотипом.

Увеличение уровня коррекции напрямую увеличивает объём служебных данных в матрице. При одинаковом объёме кодируемого текста QR с уровнем H будет крупнее, чем с уровнем L — потребуется матрица большей версии. Это ключевой trade-off при проектировании кода.

Практическое правило: для URL в 30–50 символов разница в размере кода между L и H невелика и хорошо компенсируется. Для длинных строк — данных vCard, Wi-Fi-конфигурации или Base64-содержимого — переход с M на H может прибавить 1–2 версии и заметно уплотнить матрицу. В таких случаях рекомендуется сокращать URL через динамический QR-код, сохраняя уровень H для надёжности. Как выглядит логотип при разных уровнях коррекции — смотрите в статье QR-код с логотипом: дизайн и сканирование.

Хотите проверить на практике? Создайте QR-код и переключайте уровни L/M/Q/H прямо в редакторе — размер матрицы и допустимая площадь логотипа обновятся в реальном времени.

Частые вопросы

Какой уровень коррекции выбрать по умолчанию?

Для большинства задач подходит уровень M (≈15%): он даёт достаточную устойчивость к мелким повреждениям при умеренном размере матрицы. Уровень L оправдан только при очень длинных данных и идеальных условиях печати. Уровни Q и H рекомендуются при наружном использовании или когда в центр кода встраивается логотип.

Обязателен ли уровень H при добавлении логотипа в QR-код?

Да, при размещении логотипа в центре QR-кода перекрытые модули считаются повреждёнными. Уровень H (≈30%) гарантирует, что декодер восстановит эти данные из блоков коррекции. При уровнях L или M логотип может занимать слишком большую долю матрицы, и сканер перестанет читать код.

Влияет ли уровень коррекции на размер QR-кода при печати?

Уровень коррекции влияет на версию (количество модулей) матрицы, а не на физический размер при печати. Однако чем выше уровень, тем больше версия QR при одинаковом объёме данных, а значит — тем плотнее модули на том же физическом размере. Чтобы код оставался легко сканируемым, при уровне H рекомендуется печатать его чуть крупнее, чем при уровне L.