Генератор Штрих-кодов
Создавайте штрих-коды в различных форматах: CODE128, EAN13, EAN8, UPC, CODE39, ITF14
Введите содержимое для создания штрих-кода
Что такое Штрих-код?
Штрих-код — это метод кодирования, который представляет данные с помощью полос разной ширины. Он широко используется в идентификации товаров, отслеживании логистики, управлении запасами и многом другом. Распространённые форматы включают CODE128 (универсальный), EAN-13 (международный товарный код) и UPC (североамериканский товарный код). Примечание: штрих-коды могут кодировать только символы ASCII (буквы, цифры и некоторые знаки). Не поддерживаются не-ASCII символы, такие как китайский, японский или корейский. Для кодирования Unicode-текста используйте инструмент QR-кода. При создании barcode важны symbology, длина данных, check digit, quiet zone, contrast и print size. Код, который хорошо выглядит на экране, может плохо сканироваться на labels, packaging или tickets. Перед массовой печатью barcode нужно проверить настоящим scanner, на нужной бумаге, printer и дистанции сканирования.
Как использовать
Как использовать
- Введите содержимое для кодирования (цифры или буквы)
- Выберите подходящий формат штрих-кода (у разных форматов разные требования к вводу)
- Настройте ширину, высоту, цвет штрихов и другие параметры
- Нажмите кнопку «Сгенерировать штрих-код»
- Скачайте в формате PNG или SVG
Проверка штрих-кодов
- Разные форматы штрих-кодов поддерживают разные наборы символов и длины; проверяйте содержимое перед печатью этикеток.
- Распечатайте и отсканируйте образец в конечном размере, особенно при изменении ширины, высоты, цвета штрихов или зазоров.
Применение
Технический принцип
Каждый формат в этом инструменте соответствует опубликованной спецификации одномерных штрих-кодов: EAN-13 и UPC-A определены стандартом ISO/IEC 15420, Code 128 — ISO/IEC 15417, а Code 39 — ISO/IEC 16388. Каждый символ отображается как чередующаяся последовательность полос и пробелов, измеряемых в кратных X-размера (ширина модуля), обычно 0,33 мм для розничного EAN-13 при 100% масштабе. EAN-13 содержит 12 информационных цифр плюс одну контрольную цифру по модулю 10, закодированных тремя наборами символов (A/B/C), где левосторонний паттерн чётности A/B неявно несёт 13-ю цифру. Code 128 выбирает между подмножествами A, B и C и использует подмножество C для двойной упаковки пар цифр в один 11-модульный символ, поэтому длинный числовой артикул часто оказывается короче, чем та же строка в Code 39. Контрольная цифра для EAN/UPC вычисляется как (10 - (сумма_нечётных x 3 + сумма_чётных) mod 10) mod 10 с чередованием весов 3 и 1 справа. Code 128 использует другую схему: взвешенную сумму по модулю 103 по стартовому символу и значениям данных. Отрисовка выполняется на HTMLCanvasElement с помощью fillRect для экспорта в PNG и через конкатенированные SVG-элементы <rect> для векторного пути; оба варианта учитывают настроенную ширину полосы, высоту, цвета переднего плана/фона и отступ зоны тишины. Стандарты требуют начальный и конечный отступ зоны тишины не менее 10 X-размеров для EAN/UPC (и 10 для Code 39), без которого сканер откажется декодировать даже идеально нарисованный символ. В отличие от двумерных кодов, таких как QR, одномерные форматы не имеют коррекции ошибок Рида-Соломона, поэтому одна повреждённая полоса может рассинхронизировать всю строку; именно поэтому наборы символов ограничены (Code 39 — 43 символа, EAN/UPC — только цифры), а не полный UTF-8. Реальные розничные GTIN должны быть назначены через префикс GS1; этот инструмент только рисует полосы и вычисляет контрольную сумму, он не выделяет корпоративные префиксы и не гарантирует уникальность в глобальном реестре GS1.
- Контрольная цифра EAN-13: веса 1, 3, 1, 3,... применяются справа налево, целевая сумма кратна 10.
- Code 128 использует подмножества A/B/C с взвешенным контрольным символом по модулю 103; подмножество C вдвое сокращает ширину для числовых данных.
- Зона тишины должна быть не менее 10 X-размеров (около 3,3 мм при 100% EAN) с каждой стороны.
- Отрисовка на Canvas использует fillRect(x, 0, barWidth, height); SVG-вывод генерирует один <rect> на каждый тёмный модуль.
- В одномерных кодах нет коррекции ошибок Рида-Соломона — одна сломанная полоса может сделать сканирование невозможным, в отличие от QR с восстановлением 7-30%.
- ITF-14 требует несущих полос и минимальной высоты штрихов 16 X-размеров для надёжного сканирования на складе.
- Code 39 допускает 43 символа (0-9, A-Z, пробел, -.$/+%) плюс обязательные стартовый/стоповые символы '*'.
Примеры
Розничный товар EAN-13
Формат: EAN-13
Вход: 4006381333931 (12 цифр, страница добавляет контрольную цифру)
Результат: 13-значный розничный штрих-код. Первые 3 цифры (400-440)
являются префиксом GS1; следующие 4-5 — префикс компании; затем
номер товара; последняя цифра — контрольная цифра по mod-10,
вычисленная из первых 12.
Быстрая проверка контрольной цифры: 3+0+6+8+1+3+3+9+3 = 36 (чётные
позиции), 4+0+0+3+8+1+3+3+3+9+1 = 34 (нечётные позиции) ->
3 * 36 + 34 = 142 -> (10 - 142 % 10) % 10 = 8, итак, полный
13-значный код — 40063813339318.Складская этикетка CODE128
Формат: CODE128
Вход: SKU-7842-AB
Результат: Штрих-код переменной ширины, который вмещает весь набор
ASCII, переключаясь между sub-A (цифры и управляющие символы),
sub-B (печатаемый ASCII) и sub-C (пары цифр, половина ширины).
Для этой буквенно-цифровой строки кодировщик выбирает sub-B для
букв и символов. CODE128 — фактический стандарт для внутренних
SKU и инвентарных меток.Этикетка на коробке ITF-14
Формат: ITF-14
Вход: 10012345678901 (14 цифр)
Результат: Логистический штрих-код, используемый на транспортных
коробках. ITF-14 требует bearer bars (сплошные полосы, обрамляющие
символ) и минимальную высоту штриха в 16 X-размеров для надёжного
считывания на складе. Кодировка Interleaved 2 of 5 чередует
цифры, поэтому ширина символа на одну цифру вдвое меньше, чем у Code 39.Часто задаваемые вопросы
Какие форматы штрихкодов можно сгенерировать?
Стандартные 1D-коды: CODE 128 (универсальный, буквенно-цифровой), CODE 39, EAN-13/EAN-8 (розница), UPC-A/UPC-E (розница в США), ITF-14 (для коробок). На некоторых страницах доступны также CODE 93 и Codabar. Для 2D-кодов (QR, Data Matrix) используйте отдельный инструмент — генератор QR-кодов.
Какую длину и какие символы допускает каждый формат?
EAN-13 требует ровно 12 цифр (13-я считается автоматически). EAN-8 — 7 цифр. UPC-A — 11 цифр. CODE 128 принимает ASCII-символы переменной длины (0–127) и потому самый гибкий для общих задач. CODE 39 поддерживает цифры, заглавные буквы и часть символов (-.$/+%). Страница проверяет ввод перед генерацией.
Как считается контрольная цифра?
EAN/UPC используют Mod-10 с чередующимися весами ×1/×3. ITF-14 использует Mod-10. CODE 128 использует контрольный символ Mod-103 на основе взвешенной суммы — он часть символа, а не отдельная цифра. Генератор считает их все автоматически.
Генерируется ли штрихкод локально?
Да. Штрихкод рисуется как SVG или canvas прямо в вашем браузере с помощью JsBarcode или похожей библиотеки. Никакие данные не выгружаются. Результат можно сохранить локально как PNG или SVG.
Какой размер и разрешение нужны для печати?
У розничных 1D-кодов есть параметр X-dimension (ширина самой узкой полосы): для надёжного сканирования при масштабе 100 % она должна быть не меньше 0,264 мм. Печатайте в 300 DPI или выше; для термопринтеров с меньшим разрешением понадобится более крупный код. Перед массовой печатью обязательно протестируйте напечатанный образец вашим реальным сканером.
Почему мой сканер не считывает напечатанный код?
Типичные причины: слишком мелкий код, низкая контрастность краски, глянцевая или отражающая поверхность, искажение от переплёта или скручивания, неподходящий формат под профиль сканера. Увеличьте X-dimension, печатайте на матовой бумаге и убедитесь, что вокруг кода есть «тихая зона» (белое поле) шириной не меньше 10× от X-dimension.
Можно ли добавить логотип или цвет к 1D-штрихкоду?
1D-штрихкоды требуют высокого контраста — чёрные полосы на белом фоне это единственный универсально надёжный вариант. Логотип поверх полос или цвета с низким контрастом, скорее всего, перестанут читаться. Лучше держаться стандартного вида. У QR-кодов есть встроенная коррекция ошибок, и они спокойно переносят логотип; у 1D-кодов такой возможности нет.