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

Ёмкость QR-кода

Максимальное количество данных, которое помещается в одну матрицу QR-кода. Определяется версией (размером матрицы), режимом кодирования и уровнем коррекции ошибок. При версии 40 и уровне L: 7089 цифр, 4296 алфанумерических символов, 2953 байта двоичных данных или 1817 кандзи.

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

Определение и максимумы по режимам

Абсолютный потолок достигается при версии 40 (матрица 177×177 модулей) и уровне коррекции L (Low, ~7% восстановления). В этих условиях:

  • Numeric — только цифры 0–9: до 7089 символов.
  • Alphanumeric — цифры, заглавные латинские буквы и 9 спецсимволов ($%*+-./: и пробел): до 4296 символов.
  • Byte — произвольные байты (ASCII, UTF-8, Base64): до 2953 байт.
  • Kanji — двухбайтовые символы Shift JIS: до 1817 символов.

Кириллица кодируется в режиме Byte как UTF-8: каждый символ занимает 2 байта вместо одного. Это вдвое сокращает ёмкость по сравнению с латиницей — русский текст «влезает» примерно на 1476 символов при тех же условиях версии 40 / уровень L.

Зависимость от версии и уровня коррекции

Версий всего 40, и каждая следующая добавляет 4 модуля в сторону. Версия 1 — матрица 21×21, версия 40 — 177×177. Ёмкость растёт нелинейно: версия 10 вмещает примерно 174 байта в режиме Byte/L, версия 20 — уже 858 байт, версия 40 — 2953 байта.

Уровень коррекции ошибок резервирует часть матрицы под восстановительные данные и напрямую сокращает полезную ёмкость:

УровеньВосстановлениеByte-ёмкость (v40)Потеря от L
L~7%2953 байта
M~15%2331 байт−21%
Q~25%1663 байта−44%
H~30%1273 байта−57%

Переход с L на H — почти двукратная потеря места. На практике это означает: если ваш URL едва помещается при уровне L, при уровне H придётся перейти на версию выше или использовать более короткую ссылку.

Практика: ёмкость и читаемость кода

Ёмкость и качество кода связаны обратно. Чем больше данных — тем выше версия, тем плотнее модули, тем сложнее сканеру считать код с плохим освещением или под углом. Пример: URL длиной 200 символов (типичная ссылка с UTM-параметрами) при уровне M кодируется в версию 13 (69×69). Тот же URL, сокращённый до 25 символов через генератор QR-кода, ложится в версию 3 (29×29) — код в 5–6 раз компактнее по площади и в несколько раз устойчивее к повреждениям.

Правило для печатной продукции: держите URL до 50–60 символов (Alphanumeric), уровень коррекции M или Q — тогда QR версии 4–6 можно печатать от 1,5 см без потери читаемости. Для витрин и баннеров, где важна надёжность при загрязнениях, выбирайте H — и компенсируйте потерю ёмкости коротким URL.

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

Сколько символов вмещает QR-код для обычной ссылки?

Короткая ссылка вида qrcode.website/r/abc12 (22 символа, Alphanumeric) укладывается в версию 2 при уровне M — это 25×25 модулей. Ссылка длиной 100 символов потребует версии 7–9. Правило: чем короче ссылка, тем проще и надёжнее QR.

Почему кириллица «занимает» вдвое больше места?

В режиме Byte данные хранятся побайтово. Каждый кириллический символ в UTF-8 кодируется двумя байтами, тогда как латинский — одним. Это вдвое сокращает количество символов при той же версии матрицы. Для кириллического текста рекомендуется заранее проверить ёмкость или использовать транслитерацию там, где это уместно.

Можно ли уместить больше данных, выбрав другой уровень коррекции?

Да. Переход с H на L при той же версии увеличивает ёмкость примерно в 2,3 раза. Но при уровне L код восстанавливается только при 7% повреждения поверхности — царапина или пятно могут сделать его нечитаемым. Используйте L только там, где код защищён от физических повреждений: экран, идеально напечатанный буклет.

Влияет ли добавление логотипа на ёмкость?

Логотип закрывает часть матрицы, то есть физически «уничтожает» данные в этом месте. Ёмкость как таковая не меняется — меняется фактический уровень повреждения. Именно поэтому для QR с логотипом следует выбирать уровень коррекции Q или H: иначе перекрытая область не восстановится, и код перестанет читаться.

Есть ли ограничения на тип данных в QR?

QR поддерживает любые байты — URL, текст, JSON, vCard, координаты, бинарные данные. Ограничение одно: размер. При версии 40/L в Byte-режиме помещается ровно 2953 байта. Всё, что больше, потребует разбивки на несколько кодов или внешнего хранилища с коротким URL-указателем.