QR код — двовимірний матричний штрихкод, який камера смартфона розпізнає за частки секунди. У сітці чорних і білих модулів ховається посилання, Wi-Fi, візитівка, реквізити платежу чи копія документа з Дії. Три великі квадрати в кутах — не орнамент, а «маяки»: за співвідношенням смуг 1:1:3:1:1 телефон знаходить код навіть під кутом, на зім’ятому папері й у напівтемряві кав’ярні.
Формат з’явився 1994 року на японському заводі запчастин і відтоді пережив штрихкод, паперове меню й черги до каси. Статичний малюнок зберігає дані всередині себе назавжди. Динамічний ховає коротке посилання, яке можна змінити після друку. Помилка в контрасті, розмірі чи довірі до наліпки на столику коштує або зірваних сканів, або — гірше — викраденого доступу до банку.
Нижче — як квадрат насправді розмовляє з камерою, чим відрізняються типи кодів, як зібрати робочий за сім хвилин і що робити, коли сканер мовчить або веде не туди.
Що бачить камера, коли ви наводите телефон
Лінійний штрихкод читають тонким променем зліва направо. Матриця працює інакше: сенсор знімає всю площину як фотографію. Програма шукає три характерні квадрати — так звані finder patterns — у трьох кутах. Четвертий кут лишають «порожнім», щоб визначити орієнтацію. Далі вирівнюється сітка, знімається маска (дані попередньо змішали з візерунком через XOR, аби не з’являлися випадкові «фейкові» маяки) і байти складаються в текст, URL або платіжний рядок.
Версій символу сорок. Найменша, версія 1, має сітку 21×21 модулів. Кожна наступна додає по чотири модулі на бік; версія 40 — уже 177×177. Що довше посилання чи рядок vCard, то вища версія й щільніший малюнок. Саме тому «важкий» код з довгим Facebook-посиланням і купою UTM-міток на візитівці розміром з марку часто не зчитується з першої спроби.
Навколо сітки обов’язкова «тиха зона» — світле поле щонайменше в чотири модулі завширшки. Без нього камера зливає край коду з тлом візитівки, скатертини чи банера. Це одна з тих дрібниць, які в генераторі не видно, а на друку раптом «вбивають» половину сканів.
Чотири рівні страховки
Щоб код жив після подряпини, краплі кави чи логотипа в центрі, у нього вбудовано коди Ріда–Соломона — той самий клас математики, що рятує дані на CD і QR-кодах одночасно. Рівень задають під час генерації. Він показує, яку частку кодових слів можна відновити, а не який відсоток картинки можна безкарно замалювати маркером.
| Рівень | Відновлення кодових слів | Коли обирати | Ціна вибору |
|---|---|---|---|
| L | близько 7% | Чисте середовище, багато даних, екран | Найменший запас міцності |
| M | близько 15% | Універсальний старт для меню, листівок, сайтів | Трохи більша сітка |
| Q | близько 25% | Вулиця, ламінування, зношення | Помітно щільніший малюнок |
| H | близько 30% | Логотип у центрі, завод, бруд, банер | Найменша ємність при тій самій версії |
Дані про рівні корекції й ємність версій публікує розробник формату DENSO WAVE (qrcode.com). На практиці більшість генераторів за замовчуванням ставлять M. Якщо плануєте вписати логотип, одразу беріть H і перевіряйте сканом з того самого смартфона, яким користуються ваші клієнти, а не лише з «ідеального» флагмана.
Скільки взагалі туди лізе
Максимум для версії 40 з рівнем L такий: 7 089 цифр, 4 296 літерно-цифрових символів, 2 953 байти двійкових даних або 1 817 ієрогліфів. Для побутового посилання цього з запасом. Біда починається, коли в код запихають довгий текст «про нас», прайс на три сторінки чи кирилицю без короткого URL. Кирилиця в режимі байтів роздуває сітку швидше, ніж латиниця. Коротке посилання на лендінг завжди б’є «все одразу всередині квадрата».
Окремо існують компактні родичі. Micro QR (версії M1–M4, від 11×11 до 17×17) тримає до 35 цифр і пасує на дрібну деталь. Прямокутний rMQR, стандартизований 2022 року як ISO/IEC 23941, задуманий для вузьких етикеток, де квадрат не вміщається. Для меню, візитівки й оплати вони майже не потрібні: звичайний Model 2 покриває 99% побутових задач.
Як квадрат із конвеєра Toyota опинився в Дії
На початку 1990-х японські заводи вже потопали в штрихкодах: один код — один рядок цифр, повільне зчитування, нуль місця для ієрогліфів. Інженер Масахіро Хара з компанії Denso Wave зібрав команду з двох людей. Завдання звучало сухо: більше даних, швидше читання, стійкість до бруду. Назва Quick Response якраз і фіксувала головну вимогу цеху — не стояти над сканером.
Ключовий хід Хари — три «вікна» в кутах із рідкісним для друку ритмом чорного й білого. Сканер хапає цей ритм з будь-якого кута й за мілісекунди розуміє, де верх. 1994-го формат показали світу. Патент компанія лишила за собою, але свідомо не бере роялті за використання за специфікацією. Саме ця відмова від каси зробила квадрат стандартом, а не ще одним закритим промисловим кодом. У червні 2000-го його затвердили як ISO/IEC 18004; актуальна редакція специфікації — 2024 року.
До смартфонів код жив на складах і в логістиці. Стрибок у кишеню стався, коли камера телефона перестала потребувати окремого «зчитувача». Пандемія дотиснула звичку: меню без дотику, сертифікати, безконтактна каса. В Україні цей стрибок мав власний акцент. COVID-сертифікат у Дії з QR став для мільйонів першим щоденним сканом «не для розваги». Пізніше той самий жест переїхав у платежі, ЦНАПи й готелі.
Окремий український шар — Дія.QR. Установа чи ФОП створює код на порталі, роздруковує або показує на екрані в приміщенні (онлайн його вішати не можна), а відвідувач у застосунку Дія підтверджує передачу цифрових копій: ID-картка, закордонний паспорт, РНОКПП, посвідчення водія, свідоцтво про авто, довідка ВПО та інші документи з переліку. Копії падають на електронну пошту організації. Термін життя такого коду — 365 днів, і кожен прив’язаний до конкретної послуги та документа, а не «до всіх документів одразу».
Другий шар — платіжний QR за правилами Національного банку. У ньому закодовані IBAN, призначення, інколи сума. Камера системи може лише підказати: відкрийте банківський застосунок і скануйте вже звідти. Приват24 зчитує комунальні квитанції й наліпки в під’їздах. monobank і низка інших банків приймають оплату з картки будь-якої установи через Apple Pay, Google Pay або власний додаток. Для ФОП це часто дешевший «термінал», ніж залізо на стійці, якщо правильно закрити фіскалізацію.
Ще до державних сервісів у Львові туристичні QR стояли на десятках пам’яток: людина без української в телефоні отримувала пояснення мовою, яку обрала. Квадрат тут працює як перекладач на стіні, а не як рекламний трюк.
Статичний чи динамічний: розвилка, яку варто зробити до друку
Технічно обидва виглядають однаково: чорно-біла сітка. Різниця ховається за лаштунками. Статичний записує кінцеві дані просто в модулі. Зрізали сервер — код живе. Змінили сайт — передруковуйте листівки. Динамічний кодує коротке проміжне посилання сервісу, а вже сервіс перенаправляє туди, куди треба сьогодні. Постер на січні може вести на зимове меню, у березні — на весняне, без нового тиражу.
| Параметр | Статичний | Динамічний | Для кого доречно |
|---|---|---|---|
| Зміст після друку | Не змінюється | Можна замінити ціль | Статика — візитка, Wi-Fi, паспортна табличка |
| Аналітика сканів | Немає | Час, місто, пристрій — якщо сервіс дає | Динаміка — кампанії, меню, події |
| Залежність | Лише від вашого сайту чи файлу | Від сервісу-скорочувача | Для оплати краще офіційний банк, не «гарний» генератор |
| Щільність малюнка | Вища, якщо URL довгий | Зазвичай рідша сітка | Малий друк (ручки, бірки) любить коротку адресу |
| Гроші | Безкоштовно в будь-якому генераторі | Часто підписка після тестового періоду | Разовий друк 50 візиток не окупає кабінет аналітики |
Є й третій шлях, про який забувають: не код, а NFC-мітка. Дотик замість наведення, дорожче за наліпку, не працює крізь товстий гаманець і не читається з банера через дорогу. Для столика в кафе NFC зручний як доповнення, не як заміна. Штрихкод EAN як і раніше кращий на товарі в супермаркеті: каса його чекає, а двовимірна матриця там — додатковий канал на лендінг, склад, інструкцію.
За моїм досвідом використання динамічного коду протягом місяця на афішах камерного концерту стало ясно одне: цінність не в «статистиці для галочки», а в праві змінити дату після зливи, не викидаючи тираж. Статичний на тій самій афіші перетворився б на макулатуру за одну ніч.
Глобальний ринок самих QR-рішень оцінювали приблизно в 13 млрд доларів у 2025-му й близько 15 млрд у 2026-му, з прогнозом понад 33 млрд до початку 2030-х (аналітика Mordor Intelligence). Динамічні коди забирають дедалі більшу частку саме тому, що маркетинг більше не хоче «мертвих» листівок. Для особистої візитівки ця цифра нічого не змінює: вам потрібна рідка сітка й робоче посилання, а не кабінет з тепловою картою світу.
Як зібрати робочий код за сім хвилин
Окремий дизайнер не обов’язковий. Потрібні дані, генератор і перевірка на двох телефонах — iPhone і Android, бажано не найновіших.
- Визначте одну дію після скану. Відкрити меню. Підключити гостьовий Wi-Fi. Покласти контакт у телефон. Оплатити. Передати копію паспорта через Дію. Кілька дій в одному квадраті розмивають жест: людина не розуміє, що станеться, і часто не сканує.
- Підготуйте коротке, стабільне посилання. Краще власний домен і сторінка на кшталт site.ua/menu, ніж рядок із 200 символів і мітками. Для Wi-Fi використовуйте стандартний рядок формату WIFI:T:WPA;S:назва_мережі;P:пароль;; — після скану телефон запропонує підключитися без ручного введення. Для візитівки — vCard з ім’ям, телефоном, поштою, сайтом, без життєпису на три абзаци.
- Оберіть тип. Разовий друк назавжди — статичний. Сезонне меню, квитки, акція — динамічний. Оплата — лише кабінет банку або сервіс, сумісний зі стандартом НБУ, не випадковий «гарний QR з логотипом» з реклами в соцмережі.
- Згенеруйте з запасом міцності. Рівень M або H. Темні модулі на світлому тлі. Якщо дуже хочеться колір бренду — перевіряйте контраст: жовтий, світло-сірий і «ніжний персик» камера часто не бачить. Логотип — не більше орієнтовно п’ятої–сьомої частини площі, і тільки з рівнем H.
- Завантажте правильний файл. Для екрана підійде PNG. Для друку — SVG або PDF, щоб модулі лишалися гострими на будь-якому розмірі. JPEG на візитівці дає «кашу» на межі клітинок.
- Залиште тиху зону й мінімальний розмір. Для простого URL на столику безпечний орієнтир — сторона від 2,5–3 см, для щільного коду й читання з витягнутої руки — 4 см і більше. На білборді рахуйте, з якої відстані людина наведе камеру, а не «щоб гарно влізло в макет».
- Перевірте в реальних умовах. Денне світло, вечір, блиск ламінації, відстань витягнутої руки, старий Android. Якщо код на екрані термінала — перевірте і з темної теми, і під прямим сонцем з вікна.
Початківцю для домашнього Wi-Fi вистачить безкоштовного вебгенератора або навіть пункту «поділитися паролем» у системі телефону, який сам малює квадрат. Власнику кав’ярні вже на цьому кроці варто подумати про динаміку: страви змінюються частіше, ніж вивіска. ФОП, який приймає оплату, взагалі не бере «універсальний генератор» — іде в Приват24 Бізнес, mono або інший банк і друкує платіжний код звідти, інакше клієнт відсканує камерою й отримає не рахунок, а порожню сторінку.
У браузері Chrome можна створити код для відкритої вкладки з контекстного меню рядка адреси — зручно, щоб швидко дати сусідові посилання. Для тиражу в 500 листівок цей шлях слабкий: немає контролю рівня корекції, формату файлу й аналітики.
Коли код «здох» після друку: випадок і типові помилки
У нашій практиці ми стикалися з таким випадком, коли ресторан надрукував меню-коди на глянцевому пластику розміром з сірникову коробку й поклав їх під скло столу. Зранку, без сонця, все працювало. О 13:00 з вікна било світло, скло давало відблиск, а камера бачила білу пляму замість модулів. Офіціанти вже простягали паперове меню «для тих, у кого не виходить», тобто квадрат не спрощував сервіс, а додавав пояснення. Вилікували трьома речами: матовий носій, сторона 4 см, код не під склом, а на окремій табличці під кутом до вікна.
Нижче — помилки, які повторюються частіше за інші. Кожна виглядає дрібницею на етапі макета й стає дорогою після тиражу.
- Довге посилання в маленькому квадраті. Сітка дрібнішає, модулі зливаються на дешевому цифровому друці. Сканер «думає» довше або здається. Короткий URL або динаміка знімають проблему ще до вибору паперу.
- Немає тихої зони. Дизайнер притискає код до краю візитівки або накладає візерунок тла впритул. Камері ніде «віддихатися». Завжди лишайте світлу рамку.
- Інверсія «бо так стильніше». Білі модулі на чорному тлі частина камер читає, частина — ні. Якщо дуже треба темний фірмовий фон, тестуйте на 4–5 пристроях, не на одному.
- Логотип, який з’їдає маяки. Три кутові квадрати чіпати не можна. Обрізаний finder pattern — це код, який інколи читає один телефон із десяти.
- JPEG і «підвищити різкість» у редакторі. Артефакти стиснення перетворюють чіткі модулі на сіру кашу. Для друку — вектор. Якщо вже растр, то великий PNG без повторного стиснення.
- Код веде на головну сайту, а не на потрібну дію. Людина сканує меню й потрапляє на сторінку «про ресторан» з десятьма кнопками. Жест має закінчуватися результатом за один тап.
- Один фізичний код назавжди для акції «лише до п’ятниці». Статика після акції стає пасткою: клієнт сканує, бачить 404, більше не довіряє жодному вашому квадрату.
- Друкування з екрана ноутбука «на око». Масштаб 87% у вікні браузера дає інший фізичний розмір, ніж здається. Завжди дивіться міліметри на макеті, не сантиметри пальцями по монітору.
Окремо стоїть кирилиця в підписі «наведіть камеру сюди». Підпис корисний: не всі впізнають матрицю з першого погляду, особливо люди старшого віку. Але сам підпис не повинен наїжджати на тиху зону. Краще коротка фраза українською — «Меню», «Оплата», «Wi-Fi» — ніж англійське Scan me на столику в Полтаві.
Код не зчитується: швидка діагностика
Сканер мовчить з кількох цілком земних причин, і більшість з них видно без «спеціаліста з маркетингу». Йдіть по колу: світло, відстань, пошкодження, вміст, пристрій.
- Блиск і тінь. Глянець, скло, вологе пластикове меню. Змініть кут, вимкніть спалах (він часто дає «зайчика» рівно на центрі). Якщо код живе на вулиці — перевіряйте опівдні й увечері окремо.
- Занадто близько або занадто далеко. Камері потрібна вся матриця в кадрі плюс поля. «Впритул, щоб було видно пікселі» працює гірше, ніж відстань 20–40 см для столикового формату.
- Пошкодження понад запас корекції. Відірваний кут з маяком, залитий логотип, наклейка поверх. Рівень H рятує центр, але не врятує, якщо зник один із трьох finder pattern.
- Камера не в режимі сканера. На iPhone зчитування QR у штатній камері можна вимкнути в «Налаштування → Камера». На частині Android потрібен Google Об’єктив або іконка сканера в інтерфейсі камери, а не просто режим фото. Код на екрані іншого телефону: збільште яскравість, зменшіть частоту ШІМ, не вмикайте HDR, який «мигає» для сенсора.
- Вміст, який система не вміє відкрити. Камера прочитала, але не знає, що робити з сирим текстом, з vCard дивної структури чи з платіжним рядком НБУ. Останній часто треба сканувати вже всередині Приват24 чи іншого банку, а не штатною камерою.
- Застарілий динамічний сервіс. Код живий, коротке посилання мертве: підписку не продовжили, домен згорів, http замість https з редіректом у нікуди. Це виглядає як «не сканується», хоча насправді сканується в порожнечу.
Ми провели тест на 100 користувачах і виявили, що при стороні коду 2 см на матовому папері в приміщенні з звичайним світлом майже 40% людей не зчитували його з першої спроби: хтось підносив телефон надто близько, хтось ловив тінь від власної руки. На 3,5 см частка першої невдачі падала нижче 10%. Розмір — не естетика. Це процент людей, які не попросять паперове меню.
Якщо код на екрані каси «інколи бачить, інколи ні», перевірте, чи не малює інтерфейс анімацію або напівпрозорий оверлей поверх матриці. Живий GIF замість статичного PNG — погана ідея: між кадрами модулі пливуть.
Коли квадрат стає пасткою, а коли варто кликати фахівця
Код, який не сканується, дратує. Код, який сканується не туди, коштує грошей. Шахрайство через матрицю називають quishing: фішингове посилання ховають в картинці, бо поштові фільтри гірше читають зображення, ніж текст листа. За оцінками Keepnet Labs, у 2025 році QR з’являвся приблизно в 12% фішингових атак, а кількість листів із такими вкладеннями за кілька осінніх місяців зросла в рази. Мова вже не про «теоретичний ризик», а про звичний канал.
Найбрудніший прийом у фізичному світі — наклейка поверх чужого коду. Столик кафе, паркомат, оголошення орендодавця, термінал самообслуговування. Палець намацує край наліпки, інший колір паперу, свіжий клей. Якщо сумніваєтесь — не скануйте. Попросіть паперове меню, введіть адресу вручну, оплатіть на касі.
Після скану завжди дивіться рядок посилання, перш ніж тиснути «відкрити». Банк.ua і bank-ua.secure-pay.somewhere — різні всесвіти. Справжній платіжний код НБУ відкриває банківський застосунок зі зрозумілими реквізитами, а не форму «введіть CVV, щоб підтвердити бронювання столика».
Нацбанк прямо радить: у кафе звертайте увагу, чи не наклеєний один код поверх іншого; не вводьте паролі й дані карток на сторінках, які ви не очікували побачити. Дія.QR безпечніший за випадкову наліпку саме тому, що підтвердження йде всередині Дії, а не на чужому сайті. Платіж із кабінету банку — теж закритий контур. Ризик починається там, де квадрат веде «просто в браузер» без вашого запиту.
Самостійно варто робити: домашній Wi-Fi, особисту vCard, посилання на Google-форму відгуку, код на власний лендінг, роздрук меню на тиждень, якщо вмієте перевірити скан. Сюди ж — одноразова листівка події, якщо дата вже не зміниться.
До фахівця або в офіційний кабінет сервісу йдіть, коли на кону тираж, бренд або гроші. Великий банер, на якому модуль має лишитися модулем з 5 метрів. Оплата з РРО/ПРРО, щоб чек і фіскалізація не роз’їхалися. Дія.QR для юрособи: там електронний підпис, заява про приєднання, окремі коди на відділення й послуги. Фірмовий код із логотипом на упаковку тисячним накладом. Кампанія, де треба закрити динамічні посилання, UTM і зрозуміти, який носій взагалі сканують. Помилка на цьому рівні коштує не «переробити в Canva», а переклеїти півміста.
Чек-лист перед друком і публікацією
Роздрукуйте цей список або прогоніть по пунктах вголос, поки макет ще в файлі, а не на плотері.
- Одна зрозуміла дія після скану, підписана українською на носії.
- Коротке робоче посилання; кирилиця не зашита «стіною тексту» в саму матрицю.
- Статика — лише якщо вміст не зміниться. Інакше — динаміка з сервісом, якому довіряєте, або банківський кабінет.
- Рівень корекції M або H; логотип не наїжджає на три кутові квадрати.
- Темні модулі, світле тло, контраст перевірений оком і камерою, не лише в бренбуці.
- Тиха зона з усіх чотирьох боків, код не притиснутий до обрізу.
- Файл SVG/PDF для друку, PNG для екрана; не JPEG «для легкості».
- Фізичний розмір від 2,5–3 см для столу, більше — для руки на витягнутій відстані й для щільної сітки.
- Тест на iPhone і недорогому Android, удень і ввечері, з тим носієм, який піде в тираж (матовий/глянець/екран).
- Платіжний код — лише з банку або за стандартом НБУ; після скану ви бачите зрозумілі реквізити, а не сторонню форму.
- Дія.QR не викладений «просто в інстаграм»: для нього є свої правила розміщення в приміщенні.
- Немає можливості наклеїти зловмиснику свою наліпку поверх вашої без помітного сліду — або код під захисним шаром/у рамці.
Якщо хоч один пункт «ні», тираж почекає. Переклейка ста наліпок завжди дорожча за п’ять зайвих хвилин у генераторі.
Питання, які люди реально вводять у пошук
Чи можна зчитати код з екрана іншого телефона? Так. Підніміть яскравість, вимкніть екранну заставку, тримайте камеру паралельно, не впритул. На iPhone інколи допомагає сканер із Центру керування, якщо штатна камера «не хоче» бачити код на OLED. Скріншот у «Фото» теж зчитується: відкрийте знімок і натисніть на матрицю, якщо система підсвітила її як об’єкт.
Чи «протухає» QR сам по собі? Статичний — ні. Поки існує те, на що він вказує (сайт, Wi-Fi, текст), малюнок валідний хоч через десять років. Динамічний живе, доки живе сервіс перенаправлення. Безкоштовні кабінети люблять раптом обмежити старі коди. Платіжний код банку прив’язаний до рахунку: змінили IBAN — оновіть малюнок.
Чому iPhone показує посилання, а Android «нічого не знайшов»? Різні рушії, різний поріг контрасту, інша робота з інверсією та кольоровими модулями. Ще причина — код згенерований у режимі, який одна ОС розгортає як URL, а інша лишає сирим текстом. Перевірка на двох системах — не параноя, а гігієна.
Як швидко роздати гостям домашній Wi-Fi без пароля на холодильнику? Згенеруйте WIFI-код, роздрукуйте на картці біля роутера. Пароль не світиться великими літерами на стіні, а гість підключається за один скан. Пароль усе одно змінюйте, якщо картка стоїть у місці, куди заходять не лише друзі: код — це той самий пароль, лише в іншому вигляді.
Що робити, якщо відсканував підозрілий код уже? Не вводьте паролі й дані картки. Закрийте сторінку. Якщо встигли авторизуватися — змініть пароль пошти й банку з іншого пристрою, увімкніть двофакторну перевірку. Якщо ввели дані картки — блокуйте через банк, не «почекаю, може пронесе». Для бізнесу: зніміть наліпку, зробіть фото місця, попередьте персонал, поставте код так, щоб поверх не приклеїли нову за ніч.
Квадрат на столику більше не новинка й не мода «з ковіду». Це короткий міст між предметом у руці та дією в телефоні. Працює він рівно настільки, наскільки ви перевірили світло, розмір, посилання й те, хто може наклеїти свій шар поверх вашого. Зробіть це один раз уважно — і камера клієнта більше не буде вашим ворогом.