Генератор штрихкодов
QRСоздание одномерных штрихкодов (CODE128, EAN, UPC, CODE39 и др.) в PNG или SVG.
На этой странице
Что такое генератор штрихкодов?#
1D-штрихкод — это стопка вертикальных чёрных полос, которую вы всё ещё видите на каждой упаковке товара, транспортной этикетке и билете на событие. В отличие от QR-кода (2D и несущего сотни байт), 1D-штрихкод несёт короткий идентификатор — обычно от 4 до 14 символов, — который лазерный сканер или камера телефона читает за один горизонтальный проход. Эта страница отрисовывает одиннадцать самых распространённых символологий в вашем браузере и экспортирует результат как PNG или SVG.
Причина, по которой форматов так много, в том, что каждый разрабатывался под ограничения конкретной отрасли. EAN-13 и UPC — розничный стандарт: фиксированная длина, только цифры, с математически вычисленной контрольной цифрой, чтобы сканер отбраковывал ошибки. CODE128 несёт любой ASCII-текст и является рабочей лошадкой доставки (например, трекинг-номера). CODE39 — устаревший буквенно-цифровой формат, ещё встречающийся на пропусках и asset-метках. ITF-14 кодирует 14-значные коды транспортных контейнеров. Pharmacode упаковывает одно целое (от 3 до 131070) в крошечный символ для фармакологической упаковки. MSI, codabar, EAN-5 и EAN-2 покрывают нишевые случаи.
Эта страница оборачивает JsBarcode, который рисует на <canvas> для растрового вывода или на элемент <svg> для векторного. Перед передачей библиотеке она делает быструю локальную проверку, поэтому вы получаете дружелюбное сообщение («только цифры» или «неверная длина») вместо молчаливой неудачи.
Как пользоваться#
- Введите или вставьте значение в поле ввода. Плейсхолдер
123456789012намекает на длину EAN-13. - Выберите Формат. У каждой символологии свой набор символов и правила длины — в выпадающем списке все одиннадцать (CODE128, CODE39, EAN13, EAN8, UPC, ITF14, MSI, codabar, pharmacode, EAN5, EAN2).
- Настройте ширину полос (1–4 px на модуль) и высоту (60, 100, 150 или 200 px). Более узкие полосы дают плотнее и меньше код; более высокие полосы сканируются надёжнее под углом.
- Нажмите Пример, чтобы подставить корректное значение выбранного формата, или Очистить, чтобы начать заново. Предпросмотр обновляется справа.
- Скачайте как PNG (для изображений и PDF) или SVG (для печати, где код должен оставаться резким при любом размере).
Ключевые возможности#
- Одиннадцать символологий в одном инструменте. Розница (EAN-13/UPC), логистика (CODE128/ITF-14), учёт (CODE39/MSI), фармакология (pharmacode) и дополнения (EAN-5/EAN-2) — без прыганья по сайтам.
- Контрольная цифра за вас. Для EAN-13, EAN-8, UPC и ITF-14 дайте 12/7/11/13 цифр, и контрольная цифра вычисляется автоматически; дайте полную длину — и она валидируется.
- Предрендерная валидация. Инструмент ловит пустой ввод, нецифровые символы в числовых форматах, неверные длины и недопустимые символы CODE39/codabar до вызова отрисовщика.
- Векторный SVG-экспорт. Штрихкоды для печати никогда не следует растеризовать — SVG остаётся резким при любом размере этикетки.
- Работает локально. JsBarcode встроен в страницу; бэкенда нет, ваше значение никогда не покидает браузер.
Разбор примера#
Допустим, у вас товар с 12-значной базой 590123412345 и нужен EAN-13. Выберите EAN13, вставьте 590123412345. Отрисовщик вычислит контрольную цифру (7) и нарисует полный 13-значный штрихкод. Человекочитаемая строка под полосами читается как 5901234123457.
Математика контрольной цифры (для проверки вручную): суммируйте цифры на нечётных позициях ×1 плюс чётных позиций ×3, затем возьмите (10 − total mod 10) mod 10. Для 590123412345 это (5+0+2+4+2+4)×1 + (9+1+3+1+3+5)×3 = 17 + 66 = 83, и 10 − 3 = 7.
Для транспортной этикетки переключитесь на CODE128 и вставьте произвольную трекинг-строку вроде 1Z999AA10123456784 — CODE128 принимает полный диапазон ASCII, поэтому буквы, цифры и дефисы кодируются напрямую.
FAQ#
EAN-13 постоянно отвергает мой 13-значный номер — почему?#
Если вы уже набрали контрольную цифру, перепроверьте её: перепишите только первые 12 цифр и позвольте инструменту добавить 13-ю. Одна переставленная цифра инвалидирует контрольную сумму, и отрисовщик отказывается рисовать код, который не отсканируется.
Мой штрихкод CODE39 не сканируется. Что не так?#
CODE39 поддерживает только заглавные буквы A–Z, цифры 0–9 и символы - . $ / + % (плюс пробел). Строчные буквы не входят в спецификацию — сначала переведите их в верхний регистр. Инструмент помечает недопустимые символы ошибкой «chars» перед отрисовкой.
Что такое pharmacode и почему такой странный диапазон?#
Pharmacode — основанная на двоичном коде символология, применяемая на фармакологической упаковке для кодирования одного целого, сопоставленного с внутренним ID продукта. Допустимый диапазон — от 3 до 131070; всё вне его не представимо в этом формате.
Что выбрать — PNG или SVG?#
SVG для всего, что идёт в печать (этикетки, упаковка, документы), — масштабируется без пикселизации. PNG годится для показа на экране, подписей в email и PDF, где ожидается растровое изображение.