Elige el tipo
EAN-13 para productos de venta al público. Code128 si necesitas codificar texto o un código interno. QR para enlaces o datos más largos.
EAN-13 con el dígito verificador que exige cualquier lector, Code128 para texto libre y códigos QR. Se dibujan en tu navegador y se descargan en PNG o en SVG para imprimir.
100 % privado. No hay servidor: los datos se generan en tu navegador y no se envían ni se guardan en ninguna parte.
Cómo funciona
EAN-13 para productos de venta al público. Code128 si necesitas codificar texto o un código interno. QR para enlaces o datos más largos.
En el EAN-13 puedes elegir el prefijo de país y dejar que se calcule el verificador. En Code128 y QR escribes lo que quieras.
El SVG no pierde definición al ampliarlo, que es lo que necesitas para imprimir una etiqueta. El PNG va bien para una pantalla.
Un EAN-13 son trece dígitos, y el último no es un dato: es un control que calcula el propio código. Se multiplican los doce primeros por pesos que alternan 1 y 3, se suman, y el verificador es lo que falta para llegar al siguiente múltiplo de diez:
function dvEan13(doce) {
let suma = 0;
for (let i = 0; i < 12; i++) suma += Number(doce[i]) * (i % 2 ? 3 : 1);
return String((10 - (suma % 10)) % 10);
}
dvEan13("775123456789") // el 13.º dígito
dvEan13("400638133393") // "1"
El % 10 final importa: cuando la suma ya es múltiplo de diez, el verificador es
0, no 10. Y esto tiene una consecuencia muy práctica: un lector de
códigos de barras comprueba ese dígito antes de aceptar la lectura. Si el verificador
está mal, el escáner ni pita: el código no llega nunca a tu aplicación. Por eso los que genera
esta herramienta lo llevan correcto, para que la prueba alcance de verdad a tu software.
Los primeros dígitos identifican a la organización GS1 que asignó el rango. No indican dónde se fabricó el producto, sino dónde se registró la empresa:
| Prefijo | País | Prefijo | País |
|---|---|---|---|
775 | Perú | 84 | España |
779 | Argentina | 80 a 83 | Italia |
780 | Chile | 400 a 440 | Alemania |
770 y 771 | Colombia | 50 | Reino Unido |
789 y 790 | Brasil | 00 a 09 | Estados Unidos y Canadá |
Si tu sistema deduce el país de origen a partir del código, necesitas datos con prefijos reales: elígelos en el generador.
En Estados Unidos y Canadá se usa UPC-A, de doce dígitos. Y aquí está la trampa: un UPC-A es exactamente un EAN-13 con un cero delante. Son el mismo producto:
"012345678905" // UPC-A, 12 dígitos
"0012345678905" // el MISMO producto como EAN-13
La consecuencia para tu base de datos es directa: si guardas el código como número entero, el cero inicial desaparece y el UPC-A y el EAN-13 dejan de coincidir. Es el error clásico de los catálogos de producto, y la razón por la que un código de barras siempre debe guardarse como texto.
Existe además el EAN-8, de ocho dígitos, para envases muy pequeños donde no cabe el código completo. Si tu aplicación acepta códigos de producto, debería tragar las tres longitudes: 8, 12 y 13.
El EAN-13 solo sirve para productos registrados en GS1. Para todo lo demás —un código interno de almacén, un número de expediente, una etiqueta de activo— el estándar es Code128, que codifica cualquier texto: letras, dígitos y símbolos, sin longitud fija.
Tiene tres subconjuntos —A, B y C— y el codificador elige el más eficiente automáticamente: el C comprime pares de dígitos, así que un código puramente numérico ocupa casi la mitad de ancho. No tienes que preocuparte por eso, pero explica por qué dos códigos de la misma longitud pueden dibujarse con anchos distintos.
INT donde debería haber un VARCHAR.Un EAN-13 generado aquí tiene el verificador correcto y un prefijo de país real, así que cualquier lector lo acepta como código bien formado. Pero no está registrado en GS1 y no corresponde a ningún artículo: no lo pongas en un producto que vayas a vender. Para eso hay que comprar un rango de códigos a GS1 de tu país.
Preguntas frecuentes
No. El dígito verificador es correcto y cualquier lector lo acepta como código bien formado, pero no está registrado en GS1 ni corresponde a ningún artículo. Para vender un producto hay que comprar un rango de códigos a GS1.
Las tres causas habituales: el dígito verificador está mal y el escáner lo descarta sin avisar, no hay zona de silencio —los márgenes blancos a los lados—, o el código se imprimió desde un PNG ampliado y las barras salieron pixeladas. Descarga el SVG.
El UPC-A tiene doce dígitos y se usa en Estados Unidos y Canadá; el EAN-13 tiene trece y se usa en el resto del mundo. Un UPC-A es exactamente un EAN-13 con un cero delante: es el mismo producto, y por eso el código debe guardarse como texto y no como número.
EAN-13 solo vale para productos registrados en GS1. Para códigos internos —almacén, expedientes, etiquetas de activo— usa Code128, que codifica cualquier texto sin longitud fija.
Sí, descargando el SVG, que no pierde definición. Deja los márgenes blancos a los lados y no deformes la proporción al escalar. Recuerda que son códigos de prueba: no los pongas en productos de venta.
El 775. España es el 84, Chile el 780, Colombia el 770 y 771, Brasil el 789 y 790, y Argentina el 779. El prefijo indica dónde se registró la empresa, no dónde se fabricó el producto.
Sigue probando