Herramientas
Guías

Generador de código de barras

QR

Genera códigos de barras 1D (CODE128, EAN, UPC, CODE39 y más) en PNG o SVG.

100 % del lado del cliente Sin backend
Vista previa
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#

  1. Escribe o pega tu valor en la caja de entrada. El marcador de posición 123456789012 sugiere una longitud de EAN-13.
  2. 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).
  3. 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.
  4. 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.
  5. 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.