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

Инвертированный QR-код

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

Что такое инверсия

Стандарт ISO/IEC 18004 задаёт полярность однозначно: тёмные модули на светлом фоне. Инвертированный, или негативный, QR-код меняет это местами — фон становится тёмным, а сами модули светлыми. Внешне такой код часто смотрится эффектнее в дизайне: белый узор на чёрной этикетке, светлый QR на тёмной упаковке, гравировка со светлым выжженным фоном вокруг тёмных немодулей. Структура данных при этом не меняется — версия, режим кодирования, коррекция ошибок остаются теми же, меняется только то, какой цвет считается «тёмным».

Почему не все сканеры читают

Многие современные декодеры — камеры смартфонов, библиотеки вроде ZXing — умеют пробовать оба варианта полярности и распознают инверсию автоматически. Но часть промышленных сканеров и старых приложений жёстко настроена на классическую схему «тёмное на светлом» и просто не ищет альтернативную интерпретацию. Для такого сканера инвертированный код выглядит как шум без узнаваемых позиционных маркеров — сработает поиск не найдёт паттерн, и сканирование не запустится.

Когда риск оправдан

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