UPC-E
UPC-E — компактная версия штрих-кода UPC-A, состоящая из 8 знаков вместо 12. Получается удалением нулей по специальным правилам. Применяется на миниатюрной упаковке.
Определение UPC-E
UPC-E — укороченная версия UPC-A, содержащая 8 знаков вместо 12. Стандарт описан ISO/IEC 15420 и применяется на миниатюрной упаковке в США и Канаде, где физически нет места для полного 12-значного кода. UPC-E не является отдельной системой нумерации: каждый 8-значный код однозначно разворачивается обратно в 12-значный UPC-A и хранит ровно ту же информацию о товаре.
Структура кода: 1 цифра системы (0 или 1, только эти два значения поддерживаются), 6 цифр данных и 1 контрольная цифра. В большинстве товаров используется система 0 — система 1 встречается редко и поддерживается не всеми принтерами.
Алгоритм сжатия из UPC-A
UPC-E получается из UPC-A удалением нулей по строгим правилам GS1. Сжатие возможно только при определённой структуре исходного кода — не любой UPC-A сжимается. Логика зависит от последней цифры кода производителя и наличия нулей в коде товара:
- Если код товара оканчивается на 000, 100 или 200 и код производителя двузначный — шесть средних цифр кодируются особым образом, последняя цифра кодированного поля = 0, 1 или 2
- Если код товара оканчивается на 00 и код производителя трёхзначный — последняя цифра поля = 3
- Если код товара оканчивается на 0 и код производителя четырёхзначный — последняя цифра поля = 4
- Если код товара в диапазоне 5–9 (однозначный) и код производителя пятизначный — последняя цифра поля = 5, 6, 7, 8 или 9
На практике сжатие прозрачно для производителя: регистрируясь в GS1 US с кодом, попадающим под правила, он автоматически получает право печатать UPC-E. Обратное развёртывание UPC-E → UPC-A выполняет сканер штрих-кода на кассе или при приёмке товара.
Применение на мелких товарах
Минимальный размер UPC-E по стандарту GS1 — около 21×13 мм, тогда как UPC-A при тех же условиях занимает 37×26 мм. Разница в площади — больше чем в 2,5 раза. Именно поэтому UPC-E используется там, где каждый миллиметр на вес золота:
- Жевательная резинка и конфеты в плоской упаковке-подушечке
- Шоколадные батончики малого формата (12–20 г)
- Косметические карандаши и помады
- Батарейки типа AAA/AA в единичной упаковке
- Пробники парфюмерии и косметики
Вся эта категория товаров — исключительно рынки США и Канады. В России и Европе аналогичная задача (малая упаковка) решается через EAN-8, а не UPC-E.
Совместимость со сканерами
Каждый сертифицированный GS1 сканер читает UPC-E с момента подключения — не требуется никаких настроек. Сканер разворачивает 8-значный код в 12-значный UPC-A внутри прошивки и передаёт кассовому ПО уже полный код. С точки зрения POS-системы UPC-E и UPC-A неотличимы. Мобильные приложения для сканирования (в том числе сканеры в приложениях банков и маркетплейсов) тоже поддерживают формат.
Единственное исключение — очень старые промышленные терминалы с прошивками 1980-х годов, где поддержку UPC-E нужно включать отдельно. На практике такое оборудование в торговле не встречается уже 20+ лет. Современные генераторы штрих-кодов — в том числе генератор штрих-кодов QRkoder — создают UPC-E с корректной контрольной суммой и правильными охранными зонами.
Частые вопросы
Чем UPC-E отличается от UPC-A?
UPC-A содержит 12 цифр, UPC-E — 8. UPC-E — это сжатая форма UPC-A: из исходного 12-значного кода удаляются нули по специальным правилам GS1, в результате получается 8-знаковый вариант, который занимает примерно вдвое меньше площади. Сканер на кассе автоматически разворачивает UPC-E обратно в UPC-A при считывании. Все 12 цифр информации сохраняются — ни один знак не теряется. Сжатие возможно только для кодов с определённой структурой нулей: произвольный UPC-A в UPC-E не конвертируется.
Почему в России не используется UPC-E?
UPC-E — стандарт США и Канады. В России применяется европейская система EAN, и для малой упаковки используется EAN-8 — 8-значный код с российским префиксом 460. Принцип аналогичный (компактный код для маленьких товаров), но другой алгоритм формирования и другая нумерация. Российские производители регистрируются в ГС1 Рус и получают EAN-8 через заявку с обоснованием (площадь упаковки менее 40 см²). UPC-E попадает в российские магазины только как импорт из Северной Америки.
Как сканер читает UPC-E и получает обратно UPC-A?
Алгоритм развёртывания встроен в прошивку любого GS1-совместимого сканера. После считывания 8 знаков устройство смотрит на последнюю цифру 6-значного поля данных: она кодирует правило развёртывания. Например, если эта цифра равна 0, 1 или 2 — код производителя двузначный, нули восстанавливаются в конце. Если цифра 3 — производитель трёхзначный. Цифры 5–9 означают пятизначный код производителя с однозначным номером товара. ПО кассы или склада получает от сканера уже готовый 12-значный UPC-A и не знает, что на упаковке был UPC-E.
Можно ли самостоятельно создать UPC-E без регистрации в GS1?
Технически сгенерировать картинку UPC-E с любыми цифрами — можно. Но для легальной розничной продажи в США и Канаде номер должен быть зарегистрирован в GS1 US. Нелегально выбранный код может совпасть с чужим товаром, что вызовет пересортицу на кассах и в системах учёта торговых сетей. Регистрация в GS1 US для малого бизнеса стоит $30–250 за единовременный платёж (1–2 SKU) или от $250/год для компаний с большим ассортиментом. UPC-E без регистрации допустим только для внутреннего учёта.
Какие сканеры читают UPC-E?
Все сканеры, сертифицированные по стандарту GS1, поддерживают UPC-E по умолчанию. Это кассовые сканеры Honeywell, Zebra, Datalogic, Symbol/Motorola любых актуальных серий. Мобильные устройства с Android и iOS читают UPC-E через стандартные библиотеки (ZXing, Scandit, MLKit). Единственный класс исключений — промышленные терминалы с прошивками старше ~2000 года, но они уже не встречаются в торговом обороте. Если сканер читает EAN-13 и UPC-A, он гарантированно читает и UPC-E.