
Сканер штрих-кода онлайн — прочитать EAN, UPC и Code 128 в браузере
10 мин чтения
Кассир проводит товар за долю секунды. Покупателю, чтобы прочитать те же тринадцать цифр, обычно предлагают поставить приложение с рекламой и доступом к галерее. Браузерный сканер закрывает задачу без установки: открыли страницу, разрешили камеру, навели на полосы — получили номер.
Зачем сканировать штрих-код в браузере
Задачи, где хватает браузера: пробить товар перед покупкой, найти владельца номера, принять поставку на 20–50 позиций, сверить код на ценнике с кодом на упаковке, завести карточки в свою таблицу, проверить читаемость собственной этикетки до тиража.
Плюсы против приложения: одно разрешение (камера) вместо пакета прав; одинаково работает на Android, iOS и десктопе; ничего не остаётся в системе; можно открыть на чужом телефоне и закрыть вкладку. Минусы честные: нет офлайна, нет очереди сканов и выгрузки в учётную систему, батарея садится быстрее, чем у специализированного устройства.
Как работает браузерный сканер
Цепочка одинакова у всех веб-сканеров: getUserMedia (WebRTC) запрашивает камеру → поток идёт в элемент <video> → кадры 10–30 раз в секунду копируются на <canvas> → декодер переводит кадр в оттенки серого, бинаризует и ищет чередование штрихов вдоль пробных линий, перебирая несколько углов поворота.
Декодер бывает двух видов. Нативный BarcodeDetector — быстрый, но реализован не во всех браузерах. Сборка WASM (ZXing, ZBar) — работает везде одинаково, весит сотни килобайт и загружается один раз. Обязательное условие доступа к камере — HTTPS: по http браузер не покажет даже запрос разрешения.
Приватность. У клиентского сканера кадры не покидают устройство: вычисления идут в JS или WASM, на сервер уходит только сама страница. Проверяется за двадцать секунд — загрузите сканер, отключите интернет, попробуйте считать код. Работает без сети — распознавание локальное. Точнее покажет панель разработчика, вкладка Network: у клиентского сканера при считывании не появляется запрос с картинкой в теле. Для накладных и адресных ярлыков с ФИО разница принципиальная.
Сканирование камерой телефона: пошагово
- Откройте сканер по https в Chrome, Safari или Яндекс.Браузере.
- Разрешите доступ к камере в системном запросе. Отозвать разрешение можно в настройках сайта.
- Переключитесь на основную камеру — фронтальная мягче рисует и хуже держит фокус на близких деталях.
- Держите 10–20 см, чтобы код занимал 50–80% ширины кадра вместе с белыми полями по краям.
- Разверните штрихи поперёк линии сканирования и дайте автофокусу схватить резкость: 1–2 секунды без движения.
- Скопируйте номер. EAN-13 — 13 цифр, UPC-A — 12, EAN-8 — 8.
Не берёт — наклоните телефон на 10–15°, чтобы блик ушёл мимо объектива; включите верхний свет вместо вспышки (вспышка на глянце даёт пересвет ровно по центру кода); при мелкой печати подойдите ближе и добавьте зум 1,5–2×.
Распознавание с фотографии
Второй режим камеру не требует вовсе: код читается из готового файла — снимка, скана накладной, скриншота карточки товара.
- Снимите код с 15–25 см без вспышки, фронтально, чтобы штрихи были резкими по всей длине.
- Загрузите файл (JPG, PNG, WebP). Формат HEIC с iPhone часть браузеров не декодирует — переключите камеру на «Наиболее совместимый».
- Не распозналось — обрежьте кадр до кода с полями 3–5 мм, поднимите контраст, выпрямите перспективу.
Съёмка под углом — главная причина отказа на фото: перспектива растягивает штрихи неравномерно, и ширины перестают попадать в допуск. Скриншот из интернет-магазина обычно читается лучше живого снимка — там нет ни бликов, ни расфокуса.
Что делать с распознанным номером
Считанные цифры — это GTIN, глобальный номер товарной позиции. Разбор разрядов, префиксов и контрольного знака — в отдельном материале про расшифровку штрих-кода. Здесь — куда идти с номером.
| Задача | Куда идти | Что реально даёт |
|---|---|---|
| Найти карточку товара | Национальный каталог (ГИС МТ), поиск по номеру | Наименование, бренд, характеристики — если производитель карточку завёл. Пустой результат не означает подделку. |
| Установить владельца номера | Реестры GS1 | Компанию, которой выдан диапазон, когда она не закрыла данные. |
| Сравнить цены | Поиск маркетплейса или агрегатора | Часть каталогов ищет по GTIN, часть — только по названию. Пробуйте оба варианта. |
| Проверить маркировку | «Честный знак», код Data Matrix | Статус конкретного экземпляра: в обороте, выбыл, не найден. |
| Внести в учёт | Своя таблица или учётная система | Номер как ключ позиции — дальше приёмка и инвентаризация. |
Ключевой нюанс. Полосатый код описывает позицию, а не экземпляр: у всех банок одного вида номер одинаковый. Поэтому подлинность маркированного товара проверяют по Data Matrix в «Честном знаке», а не по EAN-13 — последний совпадёт и у оригинала, и у контрафакта с той же упаковкой.
Какие коды читает браузерный сканер
| Символика | Что внутри | Где встречается |
|---|---|---|
| EAN-13 | 13 цифр | Основной розничный код в России и Европе: продукты, бытовая химия, книги. |
| EAN-8 | 8 цифр | Мелкая упаковка, где EAN-13 не помещается: жвачка, батарейки, миниатюры косметики. |
| UPC-A | 12 цифр | Товары из США и Канады, импорт, техника. |
| UPC-E | Сжатый UPC | Очень мелкая упаковка американского происхождения. |
| Code 128 | Цифры, латиница, служебные символы, длина произвольная | Логистика, ярлыки маркетплейсов, внутренние коды складов и сервисных центров. |
| GS1-128 | Code 128 + идентификаторы применения | Транспортные этикетки: SSCC, партия, срок годности, вес. |
| ITF-14 | 14 цифр | Гофрокороб и транспортная упаковка, печать прямо по картону. |
| GS1 DataBar | Номер + дополнительные данные компактно | Весовые и фасованные продукты, свежая гастрономия, купоны. |
| Code 39 | Цифры и латиница, низкая плотность | Инвентарные номера, маркировка оборудования, документы. |
| Data Matrix | 2D-матрица | Маркировка «Честный знак», лекарства, мелкие детали. |
Нужен собственный код на товар, коробку или инвентарь — это отдельная задача: как создать штрих-код онлайн. Розница постепенно движется к 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-маркетингу. 10 лет в SaaS, маркетинге и ИТ.
Разбирает, как QR-коды работают в реальном бизнесе: от требований к печати и размеру модуля до аналитики сканирований и офлайн-атрибуции. Отвечает за блог и глоссарий QRkoder.
Об авторе и все материалы