Generador gratuito de códigos de barras en línea

Genera códigos de barras en los formatos más populares. Personaliza y descarga en PNG o SVG.

Generado localmente · nada se envía a un servidor
Codifica cualquier texto o número. El formato más versátil.

Breve historia del código de barras

El código de barras es una tecnología con 77 años y un único momento de invención. En 1948, el decano del Drexel Institute of Technology de Filadelfia oyó por casualidad a Bernard Silver, un estudiante de posgrado, hablar con el presidente de una cadena alimentaria local sobre el problema de leer automáticamente los datos de los productos en caja. El decano rechazó la solicitud, pero Silver llevó la idea a un instructor de veintisiete años al que conocía: Norman Joseph Woodland, exboy scout con un manejo razonable del código morse y la inquietud propia de un ingeniero. Woodland renunció a Drexel ese mismo invierno, se mudó al apartamento de su abuelo en Miami Beach, y una tarde de comienzos de 1949, mientras pasaba distraídamente los cuatro dedos por la arena, se le ocurrió la solución: si tomabas los puntos y rayas del código morse y los estirabas hacia abajo, obtenías una serie de bandas finas y gruesas que un haz de luz podía recorrer para producir pulsos decodificables. Su primer boceto en la arena no fueron líneas paralelas sino círculos concéntricos, un patrón de «diana» legible sin importar la dirección del haz. Woodland y Silver presentaron la patente el 20 de octubre de 1949 y la obtuvieron el 7 de octubre de 1952 como patente estadounidense 2 612 994, «Classifying Apparatus and Method», con un lector propuesto basado en una bombilla incandescente de 500 vatios. La patente no era comercialmente viable: los láseres y fotodiodos necesarios para leerla a precios de consumo todavía no existían. Los dos inventores vendieron la patente a Philco por 15 000 dólares en 1962. Silver murió al año siguiente en un accidente de coche, a los 38 años, antes de que un solo código de barras escaneara un producto.

El avance llegó dos décadas más tarde cuando George Joseph Laurer, en el laboratorio de IBM en Research Triangle Park (Carolina del Norte), propuso una alternativa rectangular (barras verticales en lugar de círculos concéntricos) que se convirtió en el Universal Product Code (UPC). El Symbol Selection Committee adoptó el diseño de IBM el 3 de abril de 1973. El primer escaneo comercial de UPC ocurrió el 26 de junio de 1974 en el Marsh Supermarket de Troy, Ohio: un paquete de 10 chicles Wrigley's Juicy Fruit de 67 centavos, deslizado por un escáner construido por NCR a manos de la cajera Sharon Buchanan y entregado por Clyde Dawson, ejecutivo de la National Cash Register Company que había fabricado el equipo. El envoltorio se conserva hoy en el Smithsonian Museum of American History. En una década el escaneo UPC era universal en los supermercados estadounidenses, y en 1976 el consorcio europeo de minoristas adoptó el EAN-13 (European Article Number, hoy GTIN-13 en la terminología GS1), el mismo formato con un dígito extra para el prefijo de país y hoy el estándar mundial fuera de Norteamérica. Todo el ecosistema moderno del código de barras (cajas de supermercado, etiquetas de envío, libros de biblioteca, pulseras de hospital, badges de conferencia, seguimiento de activos) desciende de aquellas cuatro líneas en la arena de Miami Beach.

Los principales formatos de códigos de barras 1D

Dígitos de control: las matemáticas que atrapan errores de lectura

La mayoría de los códigos de barras minoristas incluyen un dígito de control final calculado a partir de los dígitos anteriores. La matemática atrapa errores de lectura de un solo dígito (el error de escáner más común) y la mayoría de transposiciones de dígitos adyacentes. UPC-A y EAN-13 usan un algoritmo módulo 10: empezando por la derecha, multiplica cada dígito alternativamente por 1 y 3 (UPC-A) o 3 y 1 (EAN-13), suma los productos, toma el resultado módulo 10 y resta de 10 -el resultado es el dígito de control (0 si el módulo era 0). Para el código UPC-A 03600029145, el dígito de control es 7, lo que da el completo 036000291452 de una lata de Coca-Cola. Code 128 usa una suma ponderada módulo 103 más compleja que incluye el carácter de inicio. Code 39 es autocomprobante por diseño (el patrón de barras de cada carácter es estructuralmente inequívoco) pero opcionalmente añade un dígito de control módulo 43 para aplicaciones de alta confianza. Pharmacode no tiene dígito de control -se apoya en su rango limitado y contexto de línea de producción. Esta herramienta calcula los dígitos de control automáticamente; puedes introducir bien la carga útil bruta (y la herramienta añade el dígito de control) o la carga útil completa con control (y la herramienta la valida).

La zona muda: las barras necesitan espacio vacío alrededor

Todo código de barras 1D requiere una cantidad mínima de espacio en blanco en los bordes izquierdo y derecho -la zona muda. El requisito estándar es al menos 10× el ancho de la barra más estrecha (denotada «X» en las especificaciones) en cada lado. Sin zonas mudas, los escáneres no pueden detectar de manera fiable dónde empieza y termina el código de barras; los patrones de inicio y fin de la simbología están diseñados para ser inequívocos solo cuando contrastan con espacio realmente vacío. El fallo de producción más común es apretar un código de barras contra un borde de color o contra otro elemento de la etiqueta para ahorrar espacio, rompiendo la zona muda. Las especificaciones GS1 imponen el ancho de zona muda según simbología y dimensión X; fallar la comprobación de zona muda en validación significa que el código no se escaneará de forma fiable en venta. Esta herramienta emite las zonas mudas adecuadas automáticamente -las salidas PNG y SVG incluyen los márgenes requeridos.

JsBarcode: la biblioteca subyacente

Esta herramienta usa JsBarcode (Johan Lindell, licencia MIT, ~5k estrellas en GitHub) -la biblioteca JavaScript de código abierto para códigos de barras más usada. JsBarcode soporta CODE128, EAN (8/13), UPC, CODE39, ITF-14, MSI, Pharmacode y Codabar; renderiza a SVG, Canvas o img HTML; y se entrega como un único bundle minificado de 60 KB. Se ejecuta enteramente en el navegador -sin servidor, sin subida- que es exactamente la propiedad de privacidad de la que depende esta herramienta. La versión específica cargada aquí es JsBarcode 3.11.6 (el bundle de todas las simbologías), fijada vía hash Subresource Integrity (SRI) para que un atacante que comprometa la CDN no pueda sustituir otra versión. La biblioteca se usa ampliamente en plugins de WordPress, utilidades de impresión de etiquetas, sistemas POS de restaurantes y apps de inventario para pequeños negocios; es la razón por la que un «generador de códigos de barras gratuito basado en navegador» es un producto viable de partida.

GS1: de dónde vienen los códigos de barras minoristas reales

GS1 (Global Standards 1) es el organismo de estándares sin ánimo de lucro que mantiene UPC, EAN, GTIN-13/14, GLN (Global Location Number) y el sistema de Application Identifier GS1-128 usado en envíos. GS1 tiene aproximadamente 117 organizaciones miembro de ámbito nacional operando en más de 150 países; los fabricantes se registran en su organización GS1 nacional, pagan una cuota anual (el precio escala con la facturación de la empresa y el número de productos) y reciben un prefijo de fabricante único que pasa a ser los dígitos iniciales del GTIN de cada producto. Esto significa: si quieres un UPC o EAN que los minoristas realmente escaneen y reconozcan como tu producto, necesitas una membresía GS1. Un código de barras generado aquí con dígitos arbitrarios parecerá un UPC y se escaneará como UPC, pero el prefijo de fabricante no estará registrado a tu nombre y la caja del minorista puede marcarlo como producto desconocido o rechazarlo. Para seguimiento interno de activos, catálogos de biblioteca, badges de conferencia, etiquetas de aula y usos no minoristas similares, la cuestión GS1 es irrelevante -genera los dígitos que quieras.

Casos de uso comunes

Cómo elegir el formato adecuado

Para uso general (etiquetas de activos, inventario interno, badges de conferencia), elige Code 128 -ASCII completo, alta densidad, funciona en todas partes. Para productos minoristas vendidos en tiendas, elige UPC-A (EE. UU./Canadá) o EAN-13 (resto del mundo) -y recuerda que necesitas un prefijo de fabricante registrado por GS1. Para cartones de envío, elige ITF-14 (el estándar para cartones exteriores que contienen productos minoristas). Para aplicaciones logísticas y militares donde Code 39 viene impuesto por un sistema existente, elige Code 39. Para productos pequeños donde no quepa un EAN-13 completo, elige EAN-8. Pharmacode es de nicho y sabrás si lo necesitas. La regla «Code 128 por defecto» cubre la mayoría de casos no minoristas.

PNG vs SVG: elige la salida correcta

SVG es la elección correcta para imprimir y para cualquier contexto donde el código de barras pueda redimensionarse. SVG es vectorial: los anchos de barra se mantienen nítidos a cualquier escala, desde una miniatura de 1 cm en una etiqueta hasta un cartel de 50 cm. El archivo es XML simple -típicamente 2-5 KB para un solo código de barras- y puede incrustarse en línea en HTML, abrirse en software de diseño vectorial (Illustrator, Inkscape, Affinity Designer) o enviarse a imprentas comerciales sin pérdida de calidad. PNG es la elección correcta para contextos digitales donde el tamaño es fijo y el destinatario no soporta SVG: correos, software POS antiguo, apps de impresión de etiquetas de escritorio que esperan rasterizados. La salida PNG aquí se renderiza al doble de resolución para nitidez retina; el archivo suele ser de 5-15 KB. La regla general: si vas a imprimirlo, elige SVG; si vas a enviarlo por correo o pegarlo en una app antigua, elige PNG.

Privacidad: por qué importa el solo-navegador aquí

Los códigos de barras en sí no son secretos, pero los valores codificados a menudo lo son. Los códigos internos de activos revelan estructura organizativa. Las etiquetas de envío revelan relaciones con proveedores y direcciones de clientes. Los códigos de préstamo de biblioteca revelan patrones de lectura de los usuarios. Generar códigos de barras en un servidor significa que los valores cruzan la red y acaban en registros de servidor. Esta herramienta codifica todo en tu navegador vía JsBarcode -verifícalo en la pestaña Red de DevTools mientras pulsas Generar, o pon la página fuera de línea (modo avión) tras cargarla y la herramienta seguirá funcionando. Seguro para etiquetado interno de SKU, códigos de seguimiento de activos, generación de badges de conferencia o cualquier valor de código de barras que no quieras ver copiado en el disco duro de un desconocido.

Preguntas frecuentes

¿Qué formato debería usar?

Code 128 es el valor por defecto más seguro para uso general -ASCII completo, alta densidad, funciona en cualquier escáner moderno. Elige EAN-13 (internacional) o UPC-A (EE. UU./Canadá) para códigos de barras de productos minoristas -pero recuerda que necesitas membresía GS1 para que el prefijo de fabricante sea válido. Elige Code 39 para sistemas logísticos, militares o de biblioteca que lo impongan. Elige ITF-14 para cartones de envío. EAN-8 para productos muy pequeños. Pharmacode es de nicho, solo farmacéutico.

¿Puedo vender productos con estos códigos de barras?

Para uso interno, seguimiento de activos, badges de conferencia y otros usos no minoristas similares -sí, libremente. Para productos que pretendas vender en tiendas donde el código de barras se escaneará en caja y se buscará en el fichero maestro de productos del minorista, necesitas un prefijo de fabricante real registrado por GS1. Sin él, el EAN-13 o UPC-A que generes aquí se escaneará correctamente (el formato es válido) pero los dígitos no estarán registrados a tu nombre en el sistema de ningún minorista, y la caja lo marcará como producto desconocido. La membresía GS1 empieza alrededor de 250 a 1 000 dólares anuales según el tamaño de la empresa y el número de productos.

¿PNG o SVG: cuál debería descargar?

SVG para todo lo que se vaya a imprimir (vectorial, escala perfectamente a cualquier tamaño, abre limpiamente en Illustrator/Inkscape/InDesign, lo aceptan las imprentas comerciales). PNG para todo lo digital donde el tamaño es fijo y el destino no soporta SVG (apps POS antiguas, clientes de correo que eliminan el SVG, integraciones simples en sitios web). El PNG se renderiza al doble de resolución para nitidez retina; el SVG es XML simple de 2-5 KB.

¿Qué es la «zona muda» y necesito añadirla?

La zona muda es el espacio en blanco requerido en los bordes izquierdo y derecho de cualquier código de barras 1D -al menos 10× el ancho de la barra más estrecha en cada lado. Sin ella, los escáneres no pueden detectar de manera fiable dónde empieza y termina el código de barras. Esta herramienta incluye las zonas mudas adecuadas automáticamente en las salidas PNG y SVG. El fallo de producción más común es apretar el código impreso contra otro elemento de la etiqueta para ahorrar espacio, rompiendo la zona muda -deja los márgenes intactos al maquetar tus etiquetas.

¿Cuál es la diferencia entre UPC-A y EAN-13?

UPC-A son 12 dígitos y es el estándar minorista de EE. UU./Canadá (introducido en 1973, primer escaneo comercial el 26 de junio de 1974 en el Marsh Supermarket de Troy, Ohio). EAN-13 son 13 dígitos, adoptado internacionalmente en 1976/1977. El UPC-A de 12 dígitos puede expresarse como EAN-13 de 13 dígitos anteponiendo un 0 -la mayoría de los sistemas POS modernos manejan ambos de forma transparente. El dígito extra en EAN-13 es el prefijo de código de país (EE. UU./Canadá = 0, Francia = 30-37, Alemania = 40-44, Reino Unido = 50, Japón = 49 o 45, etc.). Ambos están ahora bajo el paraguas GS1 GTIN.

¿Se suben mis valores de código de barras?

No. La generación se ejecuta enteramente en tu navegador vía JsBarcode. Los valores que introduces nunca cruzan la red -verifícalo en la pestaña Red de DevTools mientras pulsas Generar, o pon la página fuera de línea (modo avión) tras cargarla y la herramienta seguirá funcionando. Seguro para códigos SKU internos, IDs de seguimiento de activos, datos de badges de conferencia o cualquier valor que no quieras ver copiado en el disco duro de un desconocido.

Herramientas relacionadas