QRkoder
Сканер штрих-кода онлайн — прочитать EAN, UPC и Code 128 в браузере
Блог1 705

Сканер штрих-кода онлайн — прочитать EAN, UPC и Code 128 в браузере

10 мин чтения

Кассир проводит товар за долю секунды. Покупателю, чтобы прочитать те же тринадцать цифр, обычно предлагают поставить приложение с рекламой и доступом к галерее. Браузерный сканер закрывает задачу без установки: открыли страницу, разрешили камеру, навели на полосы — получили номер.

Зачем сканировать штрих-код в браузере

Задачи, где хватает браузера: пробить товар перед покупкой, найти владельца номера, принять поставку на 20–50 позиций, сверить код на ценнике с кодом на упаковке, завести карточки в свою таблицу, проверить читаемость собственной этикетки до тиража.

Плюсы против приложения: одно разрешение (камера) вместо пакета прав; одинаково работает на Android, iOS и десктопе; ничего не остаётся в системе; можно открыть на чужом телефоне и закрыть вкладку. Минусы честные: нет офлайна, нет очереди сканов и выгрузки в учётную систему, батарея садится быстрее, чем у специализированного устройства.

Как работает браузерный сканер

Цепочка одинакова у всех веб-сканеров: getUserMedia (WebRTC) запрашивает камеру → поток идёт в элемент <video> → кадры 10–30 раз в секунду копируются на <canvas> → декодер переводит кадр в оттенки серого, бинаризует и ищет чередование штрихов вдоль пробных линий, перебирая несколько углов поворота.

Декодер бывает двух видов. Нативный BarcodeDetector — быстрый, но реализован не во всех браузерах. Сборка WASM (ZXing, ZBar) — работает везде одинаково, весит сотни килобайт и загружается один раз. Обязательное условие доступа к камере — HTTPS: по http браузер не покажет даже запрос разрешения.

Приватность. У клиентского сканера кадры не покидают устройство: вычисления идут в JS или WASM, на сервер уходит только сама страница. Проверяется за двадцать секунд — загрузите сканер, отключите интернет, попробуйте считать код. Работает без сети — распознавание локальное. Точнее покажет панель разработчика, вкладка Network: у клиентского сканера при считывании не появляется запрос с картинкой в теле. Для накладных и адресных ярлыков с ФИО разница принципиальная.

Сканирование камерой телефона: пошагово

  1. Откройте сканер по https в Chrome, Safari или Яндекс.Браузере.
  2. Разрешите доступ к камере в системном запросе. Отозвать разрешение можно в настройках сайта.
  3. Переключитесь на основную камеру — фронтальная мягче рисует и хуже держит фокус на близких деталях.
  4. Держите 10–20 см, чтобы код занимал 50–80% ширины кадра вместе с белыми полями по краям.
  5. Разверните штрихи поперёк линии сканирования и дайте автофокусу схватить резкость: 1–2 секунды без движения.
  6. Скопируйте номер. EAN-13 — 13 цифр, UPC-A — 12, EAN-8 — 8.

Не берёт — наклоните телефон на 10–15°, чтобы блик ушёл мимо объектива; включите верхний свет вместо вспышки (вспышка на глянце даёт пересвет ровно по центру кода); при мелкой печати подойдите ближе и добавьте зум 1,5–2×.

Распознавание с фотографии

Второй режим камеру не требует вовсе: код читается из готового файла — снимка, скана накладной, скриншота карточки товара.

  1. Снимите код с 15–25 см без вспышки, фронтально, чтобы штрихи были резкими по всей длине.
  2. Загрузите файл (JPG, PNG, WebP). Формат HEIC с iPhone часть браузеров не декодирует — переключите камеру на «Наиболее совместимый».
  3. Не распозналось — обрежьте кадр до кода с полями 3–5 мм, поднимите контраст, выпрямите перспективу.

Съёмка под углом — главная причина отказа на фото: перспектива растягивает штрихи неравномерно, и ширины перестают попадать в допуск. Скриншот из интернет-магазина обычно читается лучше живого снимка — там нет ни бликов, ни расфокуса.

Что делать с распознанным номером

Считанные цифры — это GTIN, глобальный номер товарной позиции. Разбор разрядов, префиксов и контрольного знака — в отдельном материале про расшифровку штрих-кода. Здесь — куда идти с номером.

ЗадачаКуда идтиЧто реально даёт
Найти карточку товараНациональный каталог (ГИС МТ), поиск по номеруНаименование, бренд, характеристики — если производитель карточку завёл. Пустой результат не означает подделку.
Установить владельца номераРеестры GS1Компанию, которой выдан диапазон, когда она не закрыла данные.
Сравнить ценыПоиск маркетплейса или агрегатораЧасть каталогов ищет по GTIN, часть — только по названию. Пробуйте оба варианта.
Проверить маркировку«Честный знак», код Data MatrixСтатус конкретного экземпляра: в обороте, выбыл, не найден.
Внести в учётСвоя таблица или учётная системаНомер как ключ позиции — дальше приёмка и инвентаризация.

Ключевой нюанс. Полосатый код описывает позицию, а не экземпляр: у всех банок одного вида номер одинаковый. Поэтому подлинность маркированного товара проверяют по Data Matrix в «Честном знаке», а не по EAN-13 — последний совпадёт и у оригинала, и у контрафакта с той же упаковкой.

Какие коды читает браузерный сканер

СимволикаЧто внутриГде встречается
EAN-1313 цифрОсновной розничный код в России и Европе: продукты, бытовая химия, книги.
EAN-88 цифрМелкая упаковка, где EAN-13 не помещается: жвачка, батарейки, миниатюры косметики.
UPC-A12 цифрТовары из США и Канады, импорт, техника.
UPC-EСжатый UPCОчень мелкая упаковка американского происхождения.
Code 128Цифры, латиница, служебные символы, длина произвольнаяЛогистика, ярлыки маркетплейсов, внутренние коды складов и сервисных центров.
GS1-128Code 128 + идентификаторы примененияТранспортные этикетки: SSCC, партия, срок годности, вес.
ITF-1414 цифрГофрокороб и транспортная упаковка, печать прямо по картону.
GS1 DataBarНомер + дополнительные данные компактноВесовые и фасованные продукты, свежая гастрономия, купоны.
Code 39Цифры и латиница, низкая плотностьИнвентарные номера, маркировка оборудования, документы.
Data Matrix2D-матрицаМаркировка «Честный знак», лекарства, мелкие детали.

Нужен собственный код на товар, коробку или инвентарь — это отдельная задача: как создать штрих-код онлайн. Розница постепенно движется к 2D на упаковке (инициатива GS1 Sunrise 2027), поэтому сканер, читающий и линейные символики, и Data Matrix, полезнее узкоспециализированного.

Почему код не читается

У линейных символик нет избыточности: повреждённые штрихи декодер не восстанавливает, в отличие от двумерных кодов. Он либо считает, либо промолчит.

ПричинаПризнакЧто делать
БликБелая полоса поперёк кода в кадреНаклон 10–15°, рассеянный верхний свет, вспышку выключить.
Плёнка, стретч, термоусадкаСкладки «съедают» узкие штрихиРасправить рукой, снимать через плоский участок, при приёмке вскрыть паллету.
Изгиб на цилиндреКрая кода в расфокусеСканировать по короткой оси бутылки, ближе к центру этикетки.
Слишком мелкая печатьШтрихи сливаются при зумеОриентир GS1 для EAN-13: номинал 37,29 × 25,93 мм, розничный диапазон масштаба 80–200%. Ниже 80% касса и камера начинают ошибаться.
Выцветший термопринтСерые штрихи вместо чёрныхКонтрастная подсветка сбоку, съёмка с фото и подъём контраста в редакторе.
Зеркальная или инверсная печатьСветлые штрихи на тёмном фоне, печать с обратной стороны плёнкиСнять кадр и инвертировать или отразить в любом редакторе, затем загрузить файлом.
Обрезанные поляКод упирается в край этикетки или в текстНужна светлая зона по краям: у EAN-13 по стандарту слева она шире, чем справа. Переверстать макет.
Цвет и контрастКрасные, оранжевые, жёлтые штрихи; тёмный фонТолько тёмные штрихи на светлом фоне. Красный лазерный сканер красные штрихи не видит вовсе.
Код на экранеМуар, пересвет, «плывущие» полосыЯркость донора на максимум, ночной режим выключить, увеличить код до 4–5 см по ширине.

Когда браузера мало: склад и магазин

Браузер и телефон — инструмент разовой проверки. На потоке всплывает то, чего у веб-сканера нет: работа без сети, очередь сканов с последующей выгрузкой, привязка к номенклатуре, звуковое подтверждение на каждую позицию, ресурс батареи на смену.

ТСД — терминал сбора данных: имидж-сканер, защищённый корпус, физическая клавиатура, сменный аккумулятор, Android на борту и обмен с учётной системой. Берёт код с двух-трёх метров, работает в морозильной камере и переживает падение с высоты стеллажа. Это рабочий инструмент приёмки, инвентаризации, отгрузки и адресного хранения.

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

Десктоп: веб-камера и USB-сканер

Веб-камера. Работает по той же схеме, что и телефон, но у большинства встроенных модулей фиксированный фокус, настроенный на дистанцию лица. Мелкий EAN на 10 см такая камера размывает. Держите этикетку в 20–30 см, добавьте настольную лампу сбоку и цифровой зум. Внешняя камера с автофокусом снимает проблему полностью.

USB-сканер в режиме эмуляции клавиатуры (keyboard wedge, HID Keyboard) — самый предсказуемый вариант для рабочего места. Система видит обычную клавиатуру, драйверы не нужны: код «печатается» в поле, которое сейчас в фокусе, и завершается переводом строки. Проверка занимает минуту: подключите сканер, откройте блокнот, считайте любой код.

Две типовые грабли. Первая — активная русская раскладка: латиница из Code 128 и Code 39 приходит кириллицей, лечится переключением на английскую до сканирования. Вторая — нет Enter в конце, из-за чего форма не отправляется: суффикс включается служебным кодом из инструкции к модели. Альтернативные режимы (виртуальный COM-порт, HID POS) нужны интеграторам, для браузера они избыточны.

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

Можно ли отсканировать штрих-код онлайн бесплатно, без установки приложения?

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

Уходят ли кадры с камеры на сервер сканера?

У клиентских сканеров — нет. Кадр попадает в элемент video, копируется на canvas и разбирается декодером на JavaScript или WebAssembly, то есть считает ваш процессор. Проверить можно за двадцать секунд: загрузите страницу, отключите интернет и попробуйте считать код — работает без сети, значит распознавание локальное. Точнее покажет панель разработчика, вкладка Network: у клиентского сканера при считывании не появляется запрос с картинкой в теле. Серверные распознаватели тоже существуют и берут сложные снимки лучше, но фото при этом уходит на чужую машину. Для накладных и адресных ярлыков с персональными данными это решающий аргумент.

Почему сканер не читает код с мятой этикетки или через плёнку?

Линейный код декодируется по соотношению ширин штрихов и пробелов, а любая деформация эти ширины искажает. Стретч-плёнка и термоусадка дают складки, визуально «съедающие» узкие элементы; мятая этикетка ломает геометрию; на бутылке код изогнут по цилиндру, и края уходят из фокуса. Добавьте отсутствие избыточности: восстановить повреждённый участок декодеру нечем, в отличие от двумерных кодов с коррекцией ошибок. Что помогает: расправить плёнку и сканировать через плоский участок, снимать цилиндрический код по короткой оси ближе к центру этикетки, подойти вплотную с зумом. Совсем испорченный код вводят цифрами — они продублированы под штрихами.

Как узнать производителя и страну по штрих-коду?

По номеру ищут не страну сборки, а владельца номерного диапазона. Механика такая: поиск по номеру в Национальном каталоге показывает карточку товара, если производитель её завёл, а реестры GS1 позволяют установить компанию, которой выдан диапазон, когда она не закрывала эти данные. Отсутствие результата само по себе ничего не доказывает: часть позиций в каталог не попадает, у импорта карточку заводит поставщик, а внутренние коды магазина в глобальных базах отсутствуют по определению. Частое заблуждение — что первые цифры показывают страну производства. Они указывают на национальную организацию GS1, где зарегистрирован владелец номера, а завод может стоять на другом континенте.

Читает ли онлайн-сканер штрих-код с экрана другого телефона?

Камера смартфона и веб-камера — да, с оговорками. Экран светится сам, поэтому в кадре появляются пересветы и муар от пиксельной сетки. Помогает поднять яркость донора до максимума, отключить автояркость и ночной режим с жёлтым оттенком, увеличить код на экране примерно до 4–5 см по ширине и снимать чуть под углом, чтобы отражение ушло мимо объектива. Лазерный сканер с экрана не читает в принципе: он ловит отражённый луч узкой длины волны, а светящаяся матрица его так не отражает. Именно поэтому на кассах и в пунктах выдачи, где принимают коды с телефонов, стоят имидж-сканеры, снимающие кадр камерой.

Как настроить USB-сканер, чтобы код вводился прямо в браузер?

Проще всего режим эмуляции клавиатуры — keyboard wedge, он же HID Keyboard. Сканер определяется системой как обычная клавиатура, драйверы не нужны: код «печатается» в поле, которое сейчас в фокусе, и завершается переводом строки. Порядок такой: подключите сканер, откройте блокнот, считайте любой код — если цифры появились, устройство готово. Дальше поставьте курсор в нужное поле на странице и сканируйте туда. Две типовые проблемы. Первая — активная русская раскладка: латиница в Code 128 и Code 39 приходит кириллицей, лечится переключением на английскую. Вторая — отсутствие Enter в конце, из-за чего форма не отправляется: суффикс включается служебным кодом из инструкции к модели.

Отсканируйте штрих-код прямо сейчас

Камера телефона или готовое фото. EAN-13, EAN-8, UPC, Code 128, ITF-14, GS1 DataBar, Data Matrix. Без установки приложения и без регистрации.

Открыть сканер штрих-кода →

распознавание в браузере · кадры остаются на устройстве

Самойлов Андрей Иванович — Эксперт по QR-кодам и SaaS-маркетингу

Автор материала

Андрей Самойлов

Эксперт по QR-кодам и SaaS-маркетингу. 10 лет в SaaS, маркетинге и ИТ.

Разбирает, как QR-коды работают в реальном бизнесе: от требований к печати и размеру модуля до аналитики сканирований и офлайн-атрибуции. Отвечает за блог и глоссарий QRkoder.

Об авторе и все материалы

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

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

Начать бесплатно