QRkoder

Ёмкость данных QR-кода

Максимальное количество символов, которое можно зашифровать в QR-коде — зависит от версии (1–40), уровня коррекции (L/M/Q/H) и режима кодирования (числовой, алфанумерический, байтовый, кандзи).

Что такое ёмкость данных QR-кода

Ёмкость данных QR-кода — максимум информации, помещающейся в матрицу. ISO/IEC 18004 задаёт её через три параметра: номер версии (1–40), уровень коррекции (L/M/Q/H) и режим кодирования (Numeric, Alphanumeric, Byte, Kanji).

Максимум по режимам (V40+L)

РежимСодержимоеV40+LV40+H
Numeric0–97089 цифр3057
Alphanumeric0–9, A–Z, спец42961852
ByteUTF-82953 байт1273
KanjiShift-JIS1817784

Numeric пакует 3 цифры в 10 бит, Alphanumeric — пары в 11 бит, Byte — 8 бит/символ. При ECL-H ёмкость падает в 2,5 раза: место уходит под Reed-Solomon.

Ёмкость по версиям

ВерсияРазмерNumeric (L)Numeric (H)Byte (M)
121×21411714
537×37255108106
1057×57652271271
40177×177708930572331

В Byte-режиме URL `qrkoder.ru/r/abc123` после служебных бит — ~30 байт, влезает в V2. Кириллический vCard на 100 «символов» в UTF-8 раздувается до 200+ байт (русская буква = 2 байта, эмодзи 3–4) и требует V6–7. Для компактного QR-кода — короткие ссылки и латиница.

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

Сколько максимум данных помещается в QR-код?

Абсолютный максимум — V40 (177×177) при ECL-L: 7089 цифр, 4296 алфанумерических, 2953 байта или 1817 иероглифов. Версия 40 на практике почти не используется: код трудно сканировать камерой, нужен размер от 5×5 см. Реальные задачи решаются V5–15 с ёмкостью 100–500 байт — этого хватает для URL, vCard, Wi-Fi и СБП.

Почему при ECC-H ёмкость падает в 2,5 раза?

ECL-H отдаёт 30% площади под Reed-Solomon. В V40 при ECL-L данным выделено 2956 кодовых слов, при ECL-H — 1276, в 2,3 раза меньше. Для Byte это падение с 2953 до 1273 байт. Если данных много и нужна устойчивость, выбирайте Q (25%) — он режет ёмкость в 1,7 раза и при этом покрывает небольшой логотип в центре.

Как генератор выбирает режим кодирования?

Генератор берёт самый плотный режим, охватывающий все символы строки: только цифры — Numeric, цифры+заглавная латиница — Alphanumeric, иначе — Byte. Продвинутые библиотеки делают сегментацию: режут строку на участки и кодируют каждый отдельно. Так "ID12345-ABC" делится на Numeric "12345" и Alphanumeric "ID-ABC", экономя до 30% бит против чистого Byte.

Сколько байт занимает кириллица?

В Byte-режиме UTF-8: русская буква — 2 байта, латиница — 1 байт. «Привет» — 12 байт, «Hello» — 5 байт. «Здравствуйте, как дела?» — около 42 байт. Эмодзи и редкие символы — по 3–4 байта. Кириллический vCard почти всегда требует на 1–2 версии больше, чем латинский. Shift-JIS Kanji (13 бит/иероглиф) на нашу кириллицу не подходит.

Что если данные не влезли в версию?

Генератор переключится на следующую версию (V+1, V+2 ...) или вернёт «data too long» в режиме fixed version. Каждая следующая версия — это +4 модуля по стороне. Если версия зафиксирована и данных слишком много: сократить нагрузку (короткая ссылка), снизить ECC (H→M освобождает ~50%), или сменить режим — Byte→Numeric для цифр даёт почти трёхкратный выигрыш.

Создавайте QR-коды бесплатно

Динамические QR-коды с аналитикой, дизайном и без ограничений по сканированиям.

Начать бесплатно
Ёмкость QR-кода — сколько данных помещается | QRkoder