
Расшифровка штрих-кода: что означают цифры EAN-13 и коды стран
20 мин чтения
Расшифровка штрих-кода кажется делом сложным только до первого разбора. Тринадцать цифр под чёрно-белыми полосами EAN-13 — это не случайный набор, а строгая структура из четырёх частей: префикс страны-регистратора, код производителя, код товара и контрольная цифра. Каждая что-то значит. И почти каждый второй покупатель верит в миф, будто первые цифры показывают, где товар изготовлен, — это не так, и ниже я объясню почему. Разберём по косточкам, как читать любой штрих-код, что означают цифры 460 на отечественной банке тушёнки, почему 978 встречается на книгах, как за десять секунд проверить код на ошибку по контрольной сумме и чем американский UPC-A на 12 цифр отличается от привычного европейского EAN-13.
Из чего состоит EAN-13
EAN-13 (European Article Number) придумали в 1976 году на базе американского UPC, а в 1977-м под него создали европейскую ассоциацию EAN International — позже она слилась с американским Uniform Code Council в единую глобальную организацию GS1. Стандарт описан в ISO/IEC 15420. Сам код — это 13 цифр, закодированных чередованием тёмных и светлых штрихов. Под полосами те же цифры дублируются текстом: на случай, если сканер не сработает и кассиру придётся вбивать номер руками.
Структура EAN-13 делится на четыре блока. Слева направо:
- Префикс GS1 (2–3 цифры) — указывает национальную организацию GS1, которая зарегистрировала производителя. Бытовое название — «код страны», хотя точнее говорить «страна регистрации».
- Код производителя (4–7 цифр) — присваивается национальной организацией GS1 конкретной компании. В России это ЮНИСКАН/ГС1 РУС.
- Код товара (3–5 цифр) — назначает сам производитель внутри своего блока: первый товар 00001, второй 00002 и так далее.
- Контрольная цифра (1 цифра) — рассчитывается по первым 12 цифрам и защищает код от ошибок при ручном вводе и сбоях сканирования.
Длина блоков плавающая: чем короче префикс производителя, тем больше места остаётся под номенклатуру товаров. Крупный завод с тысячами наименований получит короткий код производителя (4–5 цифр) и длинный код товара. Маленькая мастерская на десяток позиций — наоборот, длинный код производителя и короткий товарный. Сумма всегда даёт 12 значащих цифр плюс одну контрольную. Базовое определение и поля термина мы собрали в глоссарии: EAN-13.
Разбор конкретного кода по частям
Возьмём реальный по структуре код 4600682002628 и разложим его. Это типичный российский EAN-13.
- 460 — префикс. Диапазон 460–469 закреплён за Россией, то есть производитель зарегистрирован в ЮНИСКАН/ГС1 РУС.
- 0682 — код производителя в реестре российской организации GS1. Конкретная компания, заключившая договор.
- 00262 — код товара: порядковый номер позиции в ассортименте этого производителя.
- 8 — контрольная цифра.
Граница между кодом производителя и кодом товара на глаз не видна — она зависит от длины префикса, который GS1 выдал компании. Поэтому «вычислить» из голого числа, где заканчивается производитель и начинается товар, без обращения к базе GS1 нельзя. Зато первые две-три цифры читаются однозначно по таблице префиксов, а последняя проверяется математикой. Именно эти два конца кода и несут информацию, доступную любому без доступа к закрытым реестрам.
Маленький практический момент. Когда люди фотографируют этикетку и спрашивают «что это за товар», они путают идентификатор с описанием. EAN-13 — это ссылка-указатель, как штрих-код-инвентарный номер. Сам по себе он не хранит ни названия, ни цены, ни состава. Вся карточка товара лежит в базе данных кассовой системы или маркетплейса, а код лишь говорит ей: «достань запись номер такой-то». Что такое идентификатор и почему он именно указатель, а не контейнер данных, подробно разобрано в термине штрих-код.
Префиксы стран: таблица популярных диапазонов
Первые цифры EAN-13 GS1 раздаёт национальным организациям блоками. Распределение фиксировано в реестре GS1 Global Office и почти не меняется. Вот диапазоны, которые встречаются на полках чаще всего.
| Префикс | Страна / назначение |
|---|---|
| 00–13 | США и Канада (исторически зона UPC) |
| 30–37 | Франция |
| 40–44 | Германия |
| 45, 49 | Япония |
| 460–469 | Россия |
| 471 | Тайвань |
| 480 | Филиппины |
| 482 | Украина |
| 484 | Молдова |
| 485 | Армения |
| 486 | Грузия |
| 487 | Казахстан |
| 489 | Гонконг |
| 50 | Великобритания |
| 520–521 | Греция |
| 57 | Дания |
| 590 | Польша |
| 69–699 | Китай (690–699) |
| 70 | Норвегия |
| 76 | Швейцария |
| 80–83 | Италия |
| 84 | Испания |
| 87 | Нидерланды |
| 90–91 | Австрия |
| 93 | Австралия |
| 94 | Новая Зеландия |
Отдельно стоит группа служебных префиксов, которые не относятся к странам, но постоянно попадаются:
- 200–299 — внутренние коды. Зарезервированы под собственные нужды магазинов и ритейла: весовой товар на развес, внутренний учёт, локальные акции. Такой код валиден только в пределах одной торговой сети и не уникален в мире.
- 977 — периодические издания, ISSN (журналы, газеты).
- 978–979 — книги, ISBN. Префикс 978 называют «Bookland»: международный издательский код ISBN переводится в EAN-13 добавлением этого префикса. 979 включили, когда диапазон 978 стал заканчиваться.
- 980 — возвратные квитанции (refund receipts).
- 981–984 — общие валютные купоны GS1.
- 99 — купоны.
Поэтому если на книге вы видите штрих-код, начинающийся с 978, — это не «страна 978», а признак издания, под которым зашит её ISBN. А цифры 20–29 на упаковке сыра, нарезанного в гастрономе, означают весовой товар конкретного магазина, а не загадочную страну.
Главный миф: страна на коде ≠ страна производства
Самое массовое заблуждение про штрих-коды звучит так: «первые три цифры показывают, где сделан товар». Это неверно. Префикс EAN-13 указывает страну, в национальной организации GS1 которой зарегистрирован владелец бренда, а не страну физического изготовления.
Разберём на примере. Российская компания регистрируется в ЮНИСКАН/ГС1 РУС и получает префикс 460. Дальше она размещает производство своей продукции на фабрике в Китае по контракту. Товар физически сделан в Китае, но на упаковке будет российский префикс 460 — потому что код привязан к компании-владельцу торговой марки, а не к заводу. И наоборот: немецкий концерн с префиксом 400–440 может фасовать продукт на площадке в Польше или Турции, а на банке всё равно будет немецкий префикс.
Есть и третий сценарий. Крупный международный холдинг регистрируется сразу в нескольких национальных GS1 и для разных рынков печатает товары с разными префиксами. Один и тот же шампунь в российской рознице может идти под 460, а его экспортная версия — под 50 (Великобритания) или 87 (Нидерланды), если регистрация для этой партии шла через тамошнее представительство группы.
Вывод простой: по штрих-коду определить «страну происхождения» в смысле «где руками собрали» нельзя. Эту информацию несёт не код, а строчка «Изготовлено: …» в составе на этикетке, таможенная декларация и сертификат. Префикс говорит только о юрисдикции регистрации бренда в GS1. Тот, кто «бойкотирует по первым цифрам», на деле часто отказывается от продукции отечественного производителя, разместившего заказ за рубежом, — или наоборот, покупает импорт под локальным префиксом.
Нужен собственный штрих-код для товара? Сгенерируйте корректный EAN-13 с автоматическим расчётом контрольной цифры и скачайте в векторе под печать этикеток — генератор штрих-кодов QRkoder сделает это за пару кликов и бесплатно.
Контрольная цифра: как она считается
Тринадцатая цифра EAN-13 — не порядковая, она математически выведена из первых двенадцати. Это встроенная защита от ошибки: если при ручном вводе кассир переставит две цифры местами или ошибётся в одной, контрольная сумма не сойдётся, и система отвергнет номер. Тот же принцип, что в контрольном разряде ИНН или номера банковской карты (алгоритм Луна).
Алгоритм GS1 для EAN-13 такой:
- Берём первые 12 цифр и нумеруем их позиции с 1 по 12.
- Цифры на нечётных позициях (1, 3, 5, 7, 9, 11) умножаем на 1 — то есть оставляем как есть.
- Цифры на чётных позициях (2, 4, 6, 8, 10, 12) умножаем на 3.
- Складываем все полученные произведения в одну сумму.
- Округляем сумму вверх до ближайшего десятка и вычитаем саму сумму. Формула: контрольная цифра = (10 − сумма mod 10) mod 10.
Покажу на коде 460068200262?, где «?» — искомая контрольная цифра. Расписываю по позициям:
- Позиция 1: 4 × 1 = 4
- Позиция 2: 6 × 3 = 18
- Позиция 3: 0 × 1 = 0
- Позиция 4: 0 × 3 = 0
- Позиция 5: 6 × 1 = 6
- Позиция 6: 8 × 3 = 24
- Позиция 7: 2 × 1 = 2
- Позиция 8: 0 × 3 = 0
- Позиция 9: 0 × 1 = 0
- Позиция 10: 2 × 3 = 6
- Позиция 11: 6 × 1 = 6
- Позиция 12: 2 × 3 = 6
Складываем: 4 + 18 + 0 + 0 + 6 + 24 + 2 + 0 + 0 + 6 + 6 + 6 = 72. Берём 72 mod 10 = 2. Контрольная цифра = (10 − 2) mod 10 = 8. Значит полный корректный код — 4600682002628. Та самая восьмёрка, которую мы видели в разборе примера выше.
Ещё один контрольный пример, чтобы закрепить. Сумма дала ровно 70 → 70 mod 10 = 0 → (10 − 0) mod 10 = 0. То есть когда сумма уже кратна десяти, контрольная цифра равна нулю, а не десяти — внешний mod 10 как раз страхует от «десятки», которая в одну позицию не влезла бы.
Как проверить, что код корректный
Расчёт контрольной цифры работает в обе стороны. Если у вас уже есть полный 13-значный код и нужно убедиться, что он не битый, считайте по тому же алгоритму, но с одним отличием: в сумму включают все 12 первых цифр, а затем результат должен сделать общую сумму с контрольной цифрой кратной десяти.
Практический способ проверки вручную:
- Возьмите все 13 цифр.
- Цифры на позициях 1, 3, 5, 7, 9, 11, 13 сложите как есть.
- Цифры на позициях 2, 4, 6, 8, 10, 12 сложите и умножьте на 3.
- Сложите оба результата.
- Если итог делится на 10 без остатка — код корректен. Если нет — где-то опечатка.
Проверим наш 4600682002628. Нечётные позиции (1,3,5,7,9,11,13): 4+0+6+2+0+6+8 = 26. Чётные (2,4,6,8,10,12): 6+0+8+0+2+2 = 18, умножаем на 3 = 54. Сумма 26 + 54 = 80. 80 делится на 10 без остатка — код валиден.
На практике никто не считает это в столбик у кассы. Любой генератор и любая учётная система валидируют код автоматически. Если вы вводите 13 цифр в нормальный сервис, и он принимает их без ошибки, — контрольная сумма сошлась. Если отвергает с пометкой «invalid» — ищите опечатку в одной из 12 первых цифр. Ровно поэтому нельзя «поправить» EAN-13 в текстовом редакторе, заменив одну цифру: контрольная сумма мгновенно перестанет сходиться, и код станет нерабочим. Любую правку делают только через перегенерацию.
Чем UPC-A отличается от EAN-13
UPC-A (Universal Product Code) — американский предшественник и близкий родственник EAN-13. Его придумали в США раньше: первый товар со штрих-кодом UPC пробили на кассе супермаркета Marsh в городе Трой, штат Огайо, 26 июня 1974 года — это была упаковка жевательной резинки Wrigley's. EAN-13 построили на его основе, добавив одну цифру для совместимости с международной системой.
Ключевые отличия:
- Длина. UPC-A — 12 цифр, EAN-13 — 13. Технически EAN-13 — это UPC-A с одной добавленной ведущей цифрой.
- География. UPC-A исторически господствует в США и Канаде. EAN-13 — международный стандарт, принятый в Европе, России, Азии и почти везде за пределами Северной Америки.
- Совместимость. Любой UPC-A превращается в EAN-13 простым добавлением ведущего нуля. Код 036000291452 в формате UPC-A в системе EAN-13 записывается как 0036000291452. Поэтому современные европейские сканеры читают американские коды без проблем — они «видят» их как EAN-13 с нулём впереди.
- Префиксы. Поскольку США и Канада занимают в EAN-таблице диапазон 00–13, любой EAN-13, начинающийся с нуля и пары следующих цифр из этого диапазона, по факту является «переодетым» американским UPC-A.
Для российского продавца это означает следующее. Если вы завозите товар из США и на нём только 12-значный UPC-A, в большинстве учётных систем и на маркетплейсах его принимают, дописав ведущий ноль до 13 знаков. Обратная конвертация не всегда корректна: EAN-13, у которого первая цифра не ноль, в чистый 12-значный UPC-A не сворачивается. Существует ещё укороченный UPC-E (8 цифр со сжатием нулей) для очень мелкой упаковки — но в России он почти не встречается.
Добавочные коды EAN-5 и EAN-2
Справа от основного штрих-кода иногда стоит ещё один маленький блок из двух или пяти узких штрихов. Это добавочные (supplemental) коды — EAN-2 и EAN-5. Они не самостоятельны: их сканируют вместе с основным EAN-13 и трактуют как дополнение к нему.
EAN-5 — пятизначный добавочный код. Его классическое применение — цена на книгах и печатных изданиях. На обложке книги под основным EAN-13 (тем самым, что начинается с 978) часто печатают EAN-5: первая цифра обозначает валюту, остальные четыре — рекомендованную розничную цену. Например, добавочный код, начинающийся с 5, кодирует доллары США, а сами цифры дают сумму. В издательском деле это удобно: ISBN остаётся постоянным, а ценовой довесок можно менять при допечатке тиража.
EAN-2 — двузначный добавочный код. Его вешают в первую очередь на периодику: журналы и газеты. Двумя цифрами кодируют номер выпуска или неделю издания. Это позволяет рознице отличать свежий номер журнала от прошлого, хотя основной EAN-13 (с префиксом 977, ISSN) у всех выпусков одного издания одинаковый. Без EAN-2 касса не поняла бы, продаёт она январский номер или мартовский.
Оба добавочных кода — наследие издательской и газетной индустрии. В обычной продуктовой рознице они почти не используются: там цену хранит база данных кассы, а не сам штрих-код. Если вы делаете этикетку для товара на маркетплейс или в магазин, добавочные коды вам не нужны — достаточно корректного EAN-13. Эти и другие линейные форматы мы разобрали в обзоре: виды штрих-кодов.
EAN-13, GTIN и как это связано
В документации маркетплейсов, поставщиков и систем учёта вместо «EAN-13» часто пишут GTIN. Это сбивает с толку, хотя по сути речь почти об одном и том же. GTIN (Global Trade Item Number) — это глобальный зонтичный идентификатор товара в системе GS1, а EAN-13 — лишь один из его форматов представления.
GTIN бывает разной разрядности: GTIN-8 (это EAN-8, укороченный код для мелочёвки), GTIN-12 (это UPC-A), GTIN-13 (это EAN-13) и GTIN-14 (код для логистических упаковок — коробок, паллет). Когда в карточке товара на Wildberries или OZON просят указать GTIN, в 95% случаев туда идёт именно 13-значный EAN-13. То есть EAN-13 — это «GTIN-13 в штриховом представлении».
Зачем вообще ввели общий термин GTIN: чтобы базы данных и обмен документами не зависели от того, какой именно физический формат напечатан на упаковке. Внутри системы товар описывается одним числом GTIN, а на этикетке оно может быть нарисовано хоть как EAN-13, хоть как UPC-A, хоть как EAN-8 — это вопрос формата символики, а не идентичности товара. Подробнее о зонтичном идентификаторе и его разрядностях — в термине GTIN.
Для практики держите в голове простое соответствие: видите «GTIN-13» — это и есть ваш EAN-13. Видите «GTIN-12» — это американский UPC-A, который в российскую систему зайдёт с ведущим нулём как GTIN-13.
Как сканер читает полосы
Чтобы расшифровка не выглядела магией, коротко о том, как 13 цифр превращаются в полосы и обратно. Каждая цифра EAN-13 кодируется семью модулями — элементарными вертикальными полосками одинаковой ширины, чёрными или белыми. Комбинация из двух тёмных и двух светлых полос разной толщины внутри этих семи модулей и есть «буква» для одной цифры.
Хитрость в левой половине кода. Цифры левой группы кодируются двумя разными наборами таблиц — условно «нечётным» (A) и «чётным» (B). Порядок чередования A и B в шести левых цифрах сам по себе кодирует тринадцатую, первую цифру кода — ту, что не нарисована полосами напрямую, а «спрятана» в паттерне. Именно поэтому EAN-13 хранит 13 цифр, рисуя штрихами только 12: первая зашифрована в самой структуре левой половины. UPC-A такого фокуса не делает — у него ровно 12 цифр и они все нарисованы, что и есть формальная причина, по которой EAN-13 на один знак длиннее.
По краям и в середине кода стоят защитные штрихи (guard bars) — чуть более длинные пары полос. Они задают сканеру масштаб и направление: код читается одинаково, в какую бы сторону вы его ни повернули, потому что сканер по защитным штрихам понимает, с какого конца начинать. Тёмные модули поглощают луч, светлые отражают; фотодатчик ловит чередование и восстанавливает цифры. Вот почему так важен контраст и тихая зона по краям — без чистого светлого поля сканер не найдёт стартовый guard bar.
Готовы создать штрих-код?
Расшифровка EAN-13 укладывается в четыре блока: префикс GS1 говорит о стране регистрации бренда (но не о месте производства), код производителя и код товара вместе образуют уникальный 12-значный идентификатор, а тринадцатая цифра математически подтверждает целостность. Запомните главное: 460–469 — это Россия в реестре GS1, 400–440 — Германия, 690–699 — Китай, 978 — книги, 200–299 — внутренние коды магазина; контрольная сумма всегда проверяется умножением чётных позиций на три; а «страна на коде» означает юрисдикцию регистрации, а не цех, где собрали товар. Этого достаточно, чтобы читать любую этикетку и не вестись на мифы.
Создайте корректный штрих-код прямо сейчас. Введите 12 цифр — сервис сам рассчитает контрольную и нарисует чистый EAN-13, который сканируется с первого касания. Экспорт в PNG, SVG, EPS под печать этикеток, массовая генерация из Excel и бесплатный старт без регистрации, всё в одном генераторе QRkoder.
Частые вопросы
Что означают первые три цифры на штрих-коде?
Первые две-три цифры EAN-13 — это префикс GS1, который указывает национальную организацию, зарегистрировавшую владельца товарного знака. В быту его называют «кодом страны», и для самых частых случаев это работает: 460–469 означает регистрацию в российской ЮНИСКАН/ГС1 РУС, 30–37 — Франция, 400–440 — Германия, 50 — Великобритания, 690–699 — Китай, 87 — Нидерланды, 80–83 — Италия. Но есть важная оговорка. Префикс показывает не место физического изготовления товара, а страну, в чьём представительстве GS1 компания-владелец бренда получила свой код производителя. Российская фирма с префиксом 460 вполне может выпускать продукцию на фабрике в Китае — на упаковке всё равно будет 460, потому что код привязан к владельцу марки, а не к заводу. Отдельно стоит запомнить служебные диапазоны, которые не относятся к странам: 200–299 — это внутренние коды конкретного магазина (весовой товар, локальный учёт), 977 — периодика (журналы по ISSN), 978–979 — книги (ISBN). Так что если штрих-код начинается с 978, это не «страна 978», а признак книжного издания. Чтобы узнать реальную страну производства, смотрите не на штрих-код, а на строчку «Изготовлено» в составе и на сертификат.
Правда ли, что по штрих-коду можно определить страну-производителя?
Нет, это распространённый миф, и он стоит покупателям неверных решений. Штрих-код EAN-13 в своём префиксе кодирует страну, в национальной организации GS1 которой зарегистрирован владелец торговой марки, а не страну, где товар физически произвели. Эти две вещи совпадают далеко не всегда. Типичный пример: отечественная компания регистрируется в российской ГС1 РУС, получает префикс 460, а само производство размещает по контракту в Китае, Турции или Польше. На полке вы увидите код, начинающийся с 460, и решите, что товар российский, хотя руками его собрали за рубежом. Бывает и обратное: международный холдинг печатает один и тот же продукт для разных рынков с разными префиксами в зависимости от того, через какое представительство GS1 шла регистрация партии. Поэтому «бойкот по первым трём цифрам» часто бьёт мимо цели — можно отказаться от продукции российского производителя только потому, что он заказал отливку формы за границей, или наоборот купить полный импорт под локальным префиксом. Единственные достоверные источники страны происхождения — это надпись «Изготовлено: …» в составе на этикетке, данные из таможенной декларации и сертификат соответствия. Штрих-код в этом вопросе не помощник: он отвечает на вопрос «кто владелец бренда и где он зарегистрирован», а не «где находится цех».
Как вручную проверить, что штрих-код не содержит ошибки?
Корректность EAN-13 проверяется по контрольной цифре — последней, тринадцатой, которая математически выведена из первых двенадцати. Алгоритм проверки занимает минуту. Возьмите все 13 цифр. Сложите цифры, стоящие на нечётных позициях (1, 3, 5, 7, 9, 11, 13), как есть. Отдельно сложите цифры на чётных позициях (2, 4, 6, 8, 10, 12) и умножьте полученную сумму на три. Теперь сложите оба результата. Если итог делится на десять без остатка — код валиден; если остаётся остаток — где-то опечатка в одной из цифр. Покажу на коде 4600682002628. Нечётные позиции: 4+0+6+2+0+6+8 = 26. Чётные позиции: 6+0+8+0+2+2 = 18, умножаем на три = 54. Складываем 26 и 54, получаем 80. Восемьдесят делится на десять без остатка, значит код корректен. Этот же принцип, кстати, лежит в основе проверки ИНН, номеров банковских карт и многих других идентификаторов — контрольный разряд ловит самые частые ошибки человека: одиночную опечатку и перестановку двух соседних цифр. На практике вручную считать не нужно: любой генератор и любая учётная система валидируют код автоматически при вводе. Если сервис принимает ваши 13 цифр без ошибки, контрольная сумма сошлась. Именно поэтому нельзя поправить EAN-13, заменив одну цифру в текстовом редакторе: контрольная сумма сразу перестанет сходиться, и код станет нерабочим. Любое изменение делается только через полную перегенерацию кода.
Чем EAN-13 отличается от UPC-A?
EAN-13 и UPC-A — близкие родственники, но с разной разрядностью и географией. UPC-A старше: это американский стандарт на 12 цифр, под которым в 1974 году пробили первый в истории товар со штрих-кодом — упаковку жвачки Wrigley's в супермаркете в Огайо. EAN-13 создали в Европе на его основе, добавив одну цифру для совместимости с международной системой, так что технически EAN-13 — это UPC-A с дополнительной ведущей цифрой. Главные различия три. Первое — длина: UPC-A содержит 12 цифр, EAN-13 — 13. Второе — распространение: UPC-A исторически господствует в США и Канаде, EAN-13 принят в Европе, России и большей части мира. Третье — совместимость: любой 12-значный UPC-A превращается в EAN-13 простым добавлением ведущего нуля, поэтому современные сканеры по обе стороны океана читают оба формата без проблем. Для российского продавца это значит, что американский товар с 12-значным кодом обычно принимают в учётных системах и на маркетплейсах, дописав ноль до 13 знаков. Обратное преобразование работает не всегда: EAN-13, у которого первая цифра не ноль, в чистый UPC-A не сворачивается. Есть ещё компактный вариант UPC-E на 8 цифр со сжатием нулей для очень мелкой упаковки, но в России он встречается крайне редко. На уровне баз данных оба формата описываются единым понятием GTIN: UPC-A — это GTIN-12, EAN-13 — это GTIN-13.
Что за маленькие цифры справа от основного штрих-кода?
Это добавочный (supplemental) код — отдельный маленький блок из двух или пяти узких штрихов, который стоит правее основного EAN-13. Сам по себе он не работает: сканер считывает его вместе с основным кодом и трактует как дополнение к нему. Бывает двух типов. EAN-5 — пятизначный добавочный код, его классически печатают на книгах для указания рекомендованной розничной цены: первая цифра обозначает валюту, остальные четыре — сумму. На обложке книги вы видите основной EAN-13, начинающийся с 978 (это ISBN), а рядом маленький EAN-5 с ценником. Удобство в том, что ISBN книги постоянен, а цену в добавочном коде можно поменять при допечатке тиража, не трогая основной идентификатор. EAN-2 — двузначный добавочный код, его вешают на периодику: журналы и газеты. Двумя цифрами кодируют номер выпуска или неделю издания, чтобы касса и розница отличали свежий номер от прошлого, ведь основной EAN-13 с префиксом 977 (ISSN) у всех выпусков одного журнала одинаковый. Без EAN-2 система не поняла бы, продаётся январский номер или мартовский. Оба добавочных кода — наследие издательской и газетной индустрии, в обычной продуктовой рознице они почти не нужны, потому что там цену хранит база данных кассы, а не сам штрих-код. Если вы делаете этикетку для товара на маркетплейс или в магазин, добавочные коды вам не требуются — хватит одного корректного EAN-13.
Можно ли по штрих-коду узнать название и цену товара?
Напрямую — нет, и здесь кроется частое непонимание того, как вообще устроены штрих-коды. EAN-13 — это идентификатор-указатель, а не контейнер с данными. Сам код не хранит ни названия товара, ни цены, ни состава, ни срока годности — в нём зашиты только 13 цифр, образующих уникальный номер. Вся карточка товара (наименование, цена, остатки, описание) лежит в базе данных: в кассовой системе магазина, в учётной программе склада или в каталоге маркетплейса. Когда кассир сканирует код, система берёт эти 13 цифр как ключ и достаёт по нему запись из своей базы — отсюда и появляются на экране название и цена. Поэтому один и тот же товар в двух разных магазинах будет иметь одинаковый EAN-13, но разные цены: цена живёт в базе каждого магазина отдельно, а не в коде. Из этого следует важный практический вывод: чтобы «пробить» товар по штрих-коду в стороннем приложении-сканере, нужна база, в которой этот код уже описан. Публичные сервисы и приложения-сканеры опираются на собственные базы товаров, собранные краудсорсингом или из открытых каталогов, и поэтому узнают далеко не каждый код — особенно местные внутренние коды магазинов с префиксом 200–299, которые в принципе не выходят за пределы одной сети. Достоверно расшифровать по голым цифрам без доступа к базе можно только две вещи: префикс страны регистрации по первым цифрам и корректность кода по контрольной сумме.
Почему EAN-13 состоит из 13 цифр, а штрихами рисуется только 12?
Это изящное инженерное решение, заложенное при создании стандарта. Если присмотреться к структуре EAN-13, штрихами кодируются только 12 цифр: шесть в левой половине кода и шесть в правой, разделённые центральными защитными штрихами. Первая, тринадцатая по счёту цифра не нарисована полосами напрямую — она спрятана в самой структуре левой половины. Работает это так: каждая цифра левой группы может кодироваться по одной из двух разных таблиц, условно «нечётной» (набор A) и «чётной» (набор B). Порядок чередования наборов A и B в шести левых цифрах сам по себе образует паттерн, который и кодирует первую цифру кода. То есть сканер, прочитав шесть левых цифр, по тому, какими таблицами они зашифрованы, восстанавливает недостающую первую цифру. Зачем так сделали: EAN-13 разрабатывали как расширение американского 12-значного UPC-A, и нужно было добавить тринадцатую цифру, не ломая совместимость с уже существующими сканерами UPC. Старый сканер, не умеющий читать паттерн A/B, видит в EAN-13 знакомый ему UPC-A, а новый — извлекает дополнительную цифру. Именно поэтому UPC-A ровно на один знак короче: у него нет этого скрытого механизма, все 12 цифр нарисованы явно. Кроме хитрости с первой цифрой, в коде есть защитные штрихи по краям и в центре — они задают сканеру масштаб и направление, благодаря чему код читается одинаково, в какую бы сторону его ни повернули.