Товар нужно промаркировать, склад — учесть, документ — идентифицировать. Во всех этих случаях используют штрих-код: линейный код, который сканер считывает за долю секунды. Но форматов много, и не каждый подходит для задачи: EAN-13 — для товаров в магазине, Code 128 — для логистики, GS1-128 — для данных с идентификаторами применения. Генератор штрих-кодов создаёт код для товара, склада или документа: EAN-13 и EAN-8, UPC-A и UPC-E, Code 128, GS1-128, Code 39, ITF-14, Interleaved 2 of 5 и Codabar. Контрольная цифра считается сама, введённая — проверяется.
В этой статье разберём, какой формат выбрать, нужно ли вводить контрольную цифру, чем Code 128 отличается от Code 39, как сделать GS1-128 для логистики и какой размер выбрать для печати.

Что умеет генератор
Генератор штрих-кодов принимает формат и значение и создаёт код по заданным параметрам.
| Параметр | Что делает |
|---|---|
| Формат | EAN-13, EAN-8, UPC-A, UPC-E, Code 128, GS1-128, Code 39, ITF-14, Interleaved 2 of 5, Codabar |
| Значение | Данные, которые кодируются. Под полем — подсказка, что принимает формат |
| Ширина модуля | Ширина одного штриха в пикселях |
| Высота штрихов | Высота кода в пикселях |
| Цвет штрихов | Цвет штрихов |
| Цвет фона | Цвет подложки |
| Подпись под кодом | Показывать значение под кодом |
Результат скачивается в PNG или векторном SVG для печати. Всё выполняется в браузере: введённые данные никуда не отправляются.
Пример штрих-кода типа Code 128

Какой формат выбрать
Форматов много, и выбор зависит от задачи.
| Формат | Что кодирует | Где используется |
|---|---|---|
| EAN-13 | 13 цифр (GTIN) | Товары в рознице по всему миру |
| EAN-8 | 8 цифр | Маленькие упаковки, где не помещается EAN-13 |
| UPC-A | 12 цифр | Товары в США и Канаде |
| UPC-E | Сжатая версия UPC-A | Очень маленькие упаковки |
| Code 128 | Любые символы ASCII | Логистика, документы, внутренние метки |
| GS1-128 | Данные с идентификаторами применения | Логистика, поставки, партии, сроки |
| Code 39 | Цифры, заглавная латиница, несколько знаков | Промышленность, инвентаризация |
| ITF-14 | 14 цифр | Транспортная упаковка, короба |
| Interleaved 2 of 5 | Только цифры | Склады, транспортная упаковка |
| Codabar | Цифры и несколько знаков | Библиотеки, доставка, медицина |
Практическое правило: товар в рознице — EAN-13 (или UPC-A для США и Канады), маленькая упаковка — EAN-8, логистика — Code 128 или GS1-128, транспортная упаковка — ITF-14, внутренние метки — Code 128.
Контрольная цифра: вводить или нет
Для форматов с контрольной цифрой (EAN, UPC, ITF-14) правило простое.
| Что вводите | Что делает инструмент |
|---|---|
| Номер без контрольной цифры | Дописывает контрольную сам |
| Номер с контрольной цифрой | Проверяет, что она верная |
Контрольная цифра нужна, чтобы сканер мог проверить, что код считан без ошибок. Для EAN-13 вводятся 12 цифр — тринадцатая допишется. Если ввести 13, инструмент проверит последнюю.
Code 128 и Code 39: в чём разница
Два популярных формата для внутренних и логистических задач.
| Свойство | Code 128 | Code 39 |
|---|---|---|
| Набор символов | Любые ASCII | Цифры, заглавная латиница, несколько знаков |
| Плотность | Высокая, особенно для цифр | Ниже |
| Читаемость сканерами | Хорошая | Очень хорошая, почти любым сканером |
| Сложность | Сложнее | Проще |
Code 128 кодирует любые символы ASCII и плотнее, особенно для цифр. Code 39 проще и читается почти любым сканером, но знает только цифры, заглавную латиницу и несколько знаков. Если нужна компактность и произвольные символы — Code 128. Если нужна максимальная совместимость со старыми сканерами — Code 39.
GS1-128 для логистики
GS1-128 — расширение Code 128 для данных с идентификаторами применения (Application Identifiers, AI). Каждое поле данных помечается кодом в скобках.
Пример строки: (01)04601234567893(10)A1234(17)271231
| Идентификатор | Что означает |
|---|---|
(01) |
GTIN — глобальный номер товара |
(10) |
Номер партии |
(17) |
Срок годности (ГГММДД) |
Инструмент принимает данные с идентификаторами в скобках и сам расставляет разделители между полями переменной длины. Это удобно: не нужно вручную высчитывать, где ставить разделитель.
PNG или SVG для печати
| Формат | Тип | Когда использовать |
|---|---|---|
| PNG | Растровый | Экран, быстрая вставка, небольшие метки |
| SVG | Векторный | Печать, масштабирование без потери чёткости |
Для печати выбирайте SVG: он масштабируется без потери чёткости. PNG при увеличении теряет резкость, и тонкие штрихи могут слиться — сканер не прочитает код.
Размер для печати
Штрих-код чувствителен к размеру: слишком маленький код сканер не прочитает.
| Формат | Ориентир по ширине | Комментарий |
|---|---|---|
| EAN-13 | Около 37 мм | Меньше 80% от этого размера сканеры читают хуже |
| EAN-8 | Около 26 мм | Для маленьких упаковок |
| Code 128 | Зависит от длины данных | Чем больше символов, тем шире код |
| ITF-14 | Зависит от стандарта | Для транспортной упаковки |
Ширина модуля (одного штриха) тоже важна: слишком узкий модуль сливается при печати. Если код будет печататься на обычном принтере, проверьте результат сканером до массовой печати.
Зачем генерировать штрих-коды
| Задача | Что даёт генератор |
|---|---|
| Маркировка товара | EAN-13 или UPC-A для розницы |
| Транспортная упаковка | ITF-14 для коробов |
| Логистика | GS1-128 с партией и сроком |
| Внутренние метки | Code 128 для склада и документов |
| Инвентаризация | Code 39 для совместимости |
| Печать | SVG для чёткости |
Ограничения инструмента
- Один код за раз. Инструмент создаёт один штрих-код за запуск.
- Формат определяет набор символов. Code 39 не закодирует строчные буквы, Interleaved 2 of 5 — только цифры.
- Контрольная цифра зависит от формата. Для форматов без неё проверка не выполняется.
- Не заменяет регистрацию GTIN. Для розницы номер GTIN выдаёт GS1, инструмент только кодирует его.
Как пользоваться: пошагово
- Выберите формат и введите значение — под полем подсказка, что принимает формат.
- Задайте ширину модуля и высоту штрихов, при необходимости — цвета.
- Нажмите «Создать штрих-код» и скачайте PNG или SVG.
Типичные ошибки
Печатать PNG большого размера. Растровая картинка теряет чёткость, тонкие штрихи сливаются. Для печати — SVG.
Делать код меньше рекомендованного. Сканер не прочитает слишком маленький код. Для EAN-13 ориентир — около 37 мм.
Вводить контрольную цифру неверно. Инструмент проверит и сообщит об ошибке. Лучше вводить номер без неё — допишется сама.
Путать Code 128 и Code 39. Code 128 — любые ASCII и плотнее, Code 39 — только цифры и заглавная латиница, но совместимее.
Забывать про GS1-128 для логистики. Если нужны партия и срок, обычный Code 128 не подойдёт — нужны идентификаторы применения.
Игнорировать контраст. Светлые штрихи на тёмном фоне или близкие оттенки ломают распознавание.
Вопросы и ответы
Какой формат нужен для товара в магазине? EAN-13 — номер GTIN, который выдаёт ассоциация GS1. Для маленьких упаковок — EAN-8, для товаров из США и Канады — UPC-A.
Нужно ли вводить контрольную цифру? Нет. Введите номер без неё — сервис допишет её сам. Если введёте с ней, сервис проверит, что она верная.
Чем отличаются Code 128 и Code 39? Code 128 кодирует любые символы ASCII и плотнее, особенно для цифр. Code 39 проще и читается почти любым сканером, но знает только цифры, заглавную латиницу и несколько знаков.
Как сделать GS1-128 для логистики? Запишите данные с идентификаторами применения в скобках, например (01)04601234567893(10)A1234(17)271231. Разделители между полями переменной длины поставятся сами.
Какой размер выбрать для печати? Скачайте SVG — он масштабируется без потери чёткости. Для EAN-13 обычная ширина кода — около 37 мм; меньше 80% от неё сканеры читают хуже.
Можно ли использовать штрих-код для ссылки? Для ссылок и текста лучше подходит QR-код: он двумерный и вмещает больше данных. Штрих-код — для товаров, склада и документов.
Итог
Генератор штрих-кодов — инструмент для создания штрих-кода для товара, склада или документа: EAN-13 и EAN-8, UPC-A и UPC-E, Code 128, GS1-128, Code 39, ITF-14, Interleaved 2 of 5 и Codabar. Он сам считает контрольную цифру, проверяет введённую и позволяет скачать код в PNG или векторном SVG для печати. Выбирайте формат под задачу, для печати берите SVG и проверяйте размер сканером — и штрих-код будет читаться там, где это нужно.