Generador de código de barras
QRGenera códigos de barras 1D (CODE128, EAN, UPC, CODE39 y más) en PNG o SVG.
En esta página
¿Qué es un generador de códigos de barras?#
Un código de barras 1D es esa pila de barras negras verticales que todavía ves en todos los envases de productos, las etiquetas de envío y las entradas de eventos. A diferencia de un código QR (que es 2D y transporta cientos de bytes), un código de barras 1D transporta un identificador corto, normalmente de 4 a 14 caracteres, que un escáner láser o la cámara de un teléfono lee en una sola pasada horizontal. Esta página renderiza en tu navegador once de las simbologías más comunes y exporta el resultado como PNG o SVG.
La razón de que haya tantos formatos es que cada uno se diseñó para una restricción distinta de la industria. EAN-13 y UPC son el estándar de venta al por menor: longitud fija, solo dígitos, con un dígito de control calculado matemáticamente para que el escáner pueda rechazar malas lecturas. CODE128 transporta cualquier texto ASCII y es el caballo de batalla del envío (los números de seguimiento, por ejemplo). CODE39 es el formato alfanumérico heredado que todavía se encuentra en credenciales y etiquetas de activos. ITF-14 codifica códigos de 14 dígitos para contenedores de envío. Pharmacode empaqueta un único entero (de 3 a 131070) en un símbolo diminuto para el embalaje farmacéutico. MSI, Codabar, EAN-5 y EAN-2 completan los casos nicho.
Esta página envuelve JsBarcode, que dibuja en un <canvas> para la salida ráster o en un elemento <svg> para la salida vectorial. Antes de pasar el control a la librería, ejecuta una comprobación local rápida, así obtienes un mensaje amistoso («solo dígitos» o «longitud incorrecta») en vez de un fallo silencioso.
Cómo se usa#
- Escribe o pega tu valor en la caja de entrada. El marcador de posición
123456789012sugiere una longitud de EAN-13. - Elige el Formato. Cada simbología tiene sus propias reglas de caracteres y longitud: el desplegable enumera las once (CODE128, CODE39, EAN-13, EAN-8, UPC-A, ITF-14, MSI, Codabar, Pharmacode, EAN-5, EAN-2).
- Ajusta el ancho de barra (1–4 px por módulo) y la Altura (60, 100, 150 o 200 px). Las barras más estrechas producen un código más denso y pequeño; las más altas se escanean con más fiabilidad desde un ángulo.
- Pulsa Ejemplo para precargar un valor válido para el formato elegido, o Limpiar para empezar de nuevo. La vista previa se actualiza a la derecha.
- Descarga como PNG (para imágenes y PDF) o SVG (para impresión, donde el código debe mantenerse nítido a cualquier tamaño).
Características clave#
- Once simbologías en una sola herramienta. Venta al por menor (EAN-13/UPC-A), logística (CODE128/ITF-14), activos (CODE39/MSI), farma (Pharmacode) y complementos (EAN-5/EAN-2): sin saltar de formato entre sitios.
- Dígito de control gestionado por ti. Para EAN-13, EAN-8, UPC-A y ITF-14, da 12/7/11/13 dígitos y el dígito de control se calcula automáticamente; da la longitud completa y se valida.
- Validación antes del renderizado. La herramienta caza entradas vacías, caracteres no numéricos en formatos numéricos, longitudes incorrectas y caracteres ilegales en CODE39/Codabar antes de llamar al renderizador.
- Exportación vectorial SVG. Los códigos de barras destinados a impresión no deberían rasterizarse nunca: un SVG se mantiene nítido a cualquier tamaño de etiqueta.
- Se ejecuta localmente. JsBarcode va incluido con la página; no hay backend y tu valor nunca sale del navegador.
Ejemplo práctico#
Supón que tienes un producto con la base de 12 dígitos 590123412345 y necesitas un EAN-13. Selecciona EAN-13, pega 590123412345. El renderizador calcula el dígito de control (7) y dibuja el código de barras completo de 13 dígitos. La línea legible por humanos bajo las barras reza 5901234123457.
Matemática del dígito de control (para que puedas verificar a mano): suma los dígitos en posiciones impares ×1 más los de posiciones pares ×3, y luego toma (10 − total mod 10) mod 10. Para 590123412345 eso es (5+0+2+4+2+4)×1 + (9+1+3+1+3+5)×3 = 17 + 66 = 83, y 10 − 3 = 7.
Para una etiqueta de envío, cambia a CODE128 y pega una cadena arbitraria de seguimiento como 1Z999AA10123456784: CODE128 admite todo el rango ASCII, así que letras, dígitos y guiones se codifican directamente.
Preguntas frecuentes#
EAN-13 sigue rechazando mi número de 13 dígitos, ¿por qué?#
Si ya habías tecleado el dígito de control, compruébalo: vuelve a teclear solo los primeros 12 dígitos y deja que la herramienta añada el decimotercero. Un solo dígito transpuesto invalida el checksum, y el renderizador se niega a dibujar un código que no se escanearía.
Mi código de barras CODE39 no se escanea. ¿Qué pasa?#
CODE39 admite solo letras mayúsculas A–Z, dígitos 0–9 y los símbolos - . $ / + % (más el espacio). Las minúsculas no forman parte de la especificación: conviértelas a mayúsculas primero. La herramienta señala los caracteres ilegales con un error de «chars» antes del renderizado.
¿Qué es Pharmacode, y por qué ese rango raro?#
Pharmacode es una simbología basada en binario usada en el embalaje farmacéutico para codificar un único entero que se mapea a un ID interno de producto. El rango válido es de 3 a 131070; cualquier valor fuera de eso no se puede representar en el formato.
¿Debo elegir PNG o SVG?#
SVG para todo lo que vaya a impresión (etiquetas, embalaje, documentos): escala sin pixelarse. PNG basta para visualización en pantalla, firmas de correo y PDF donde se espera una imagen ráster.