Четыре уровня
Каждый QR-код создаётся на одном из четырёх уровней коррекции ошибок. Чем выше уровень, тем больше кодовых слов коррекции ошибок Рида — Соломона добавляется, поэтому больше частей кода может быть загрязнено, поцарапано или закрыто, и код всё равно расшифруется.
Проценты — это приблизительная доля восстанавливаемых кодовых слов, а не видимой площади. Небольшое повреждение может затронуть несколько кодовых слов, а повреждение поисковых узоров или информации о формате может сорвать сканирование при любом уровне.
- L (Low, низкий): восстанавливается около 7 % кодовых слов
- M (Medium, средний): около 15 %
- Q (Quartile, квартиль): около 25 %
- H (High, высокий): около 30 %
Компромисс с размером
Больше коррекции ошибок — меньше места для данных. Одно и то же содержимое на уровне H требует большей версии, с большим числом более мелких модулей, чем на уровне L.
Например, код версии 1 вмещает 17 байтов на уровне L, но всего 7 байтов на уровне H. В версии 40 значения — 2953 байта на L и 1273 байта на H.
Выбор уровня
Уровень M — распространённый вариант по умолчанию, он подходит для большинства печатных материалов в чистых условиях. Уровень L позволяет сделать экранные или очень «чистые» коды как можно меньше.
Уровни Q и H подходят для кодов, которые будут изнашиваться, печататься на шероховатых поверхностях или частично закрываться логотипом. Логотип поверх модулей расходует часть запаса коррекции ошибок, поэтому на реальные повреждения его остаётся меньше.