Código QR vs código de barras: en qué se diferencian y cuándo usar cada uno

por el equipo de KoloQRFundamentos

Un código QR y un código de barras de rayas uno al lado del otro sobre dos tarjetas blancas; el código de barras lleva las cifras 0 123456 789101 2.

Un código de barras lineal guarda los datos en una sola dirección y contiene unos 12–20 caracteres. Un código QR guarda los datos en dos direcciones y contiene hasta 4.296 caracteres alfanuméricos en el mismo espacio. Un código QR también es técnicamente un código de barras - uno bidimensional - así que la pregunta real es 1D frente a 2D, no “código de barras frente a QR”.

Puntos clave

  • Un código de barras lineal codifica los datos a lo largo de un eje; un código QR los codifica a lo largo de dos, y por eso un código QR del mismo ancho guarda cientos de veces más información.
  • Un código de barras UPC-A guarda 12 dígitos. Un código QR guarda hasta 7.089 dígitos o 4.296 caracteres alfanuméricos en su versión de símbolo más grande y con el nivel de corrección de errores más bajo.
  • Generar códigos QR es gratis y no exige registro; un código de barras UPC o EAN exige un prefijo de empresa GS1 de pago, porque el número en sí tiene que ser único en todo el mundo.
  • Un código QR sigue siendo legible con alrededor del 30% de su área dañada en el nivel de corrección de errores H. Un código de barras lineal no tiene corrección de errores, solo un dígito de control, así que un arañazo que cruce las barras suele dejarlo ilegible.
  • Las cámaras de los teléfonos detectan los códigos QR de forma nativa; leer un código de barras UPC normalmente exige una app de escaneo específica o un lector de tienda.

¿En qué se diferencian un código QR y un código de barras?

Un código de barras lineal es un símbolo legible por máquina que codifica datos como barras y espacios paralelos de anchura variable, leídos a lo largo de un único eje horizontal. Los formatos habituales son UPC-A y EAN-13 en los envases del comercio, y Code 128 en logística.

Un código QR es un símbolo matricial bidimensional, definido por la norma ISO/IEC 18004, que codifica datos como cuadrados claros y oscuros llamados módulos, leídos en las dos direcciones a la vez. QR viene de Quick Response, respuesta rápida.

Un módulo es una celda cuadrada de un código QR, y la unidad más pequeña que un escáner tiene que resolver. Lo que decide si un código QR impreso se escanea es el tamaño del módulo, no el tamaño total.

Comparación en paralelo

CriterioCódigo de barras lineal (UPC-A, EAN-13, Code 128)Código QR
DimensionesUna - los datos se leen a lo anchoDos - los datos se leen a lo ancho y a lo alto
Capacidad típica12–13 dígitos (UPC-A, EAN-13); variable en Code 128Hasta 7.089 dígitos o 4.296 caracteres alfanuméricos
Tipos de datosDígitos, o ASCII con Code 128Dígitos, alfanumérico, bytes en bruto, kanji
Corrección de erroresNinguna - solo un dígito de controlCuatro niveles: L, M, Q y H, que recuperan aproximadamente el 7%, el 15%, el 25% y el 30% del símbolo
OrientaciónDebe alinearse con la línea de escaneo, o leerse con un lector omnidireccionalCualquier rotación - tres patrones de localización sitúan el símbolo
Hardware de lecturaEscáneres láser y lectores por cámaraSolo lectores por cámara, incluidas las de los teléfonos
RegistroUPC y EAN exigen un prefijo de empresa GS1 de pagoNinguno - cualquiera puede generar uno
Editable después de imprimirNoNo, si el código es estático; solo pueden editarse los códigos dinámicos con un servicio de redirección
Tamaño mínimo práctico de impresiónUPC-A al 80% de magnificación, unos 30 × 21 mmUnos 20 × 20 mm para escaneo de cerca
Zona de silencio9 módulos a cada lado en UPC-A; 11 a la izquierda y 7 a la derecha en EAN-134 módulos en los cuatro lados
Mejor paraEscaneo rápido y repetido de un identificador fijoLlevar una URL, credenciales de Wi-Fi, datos de contacto o un registro de lote

¿Cuántos datos puede guardar un código QR frente a un código de barras?

Un código de barras UPC-A guarda exactamente 12 dígitos y nada más. Un código QR en su versión de símbolo más grande, con la corrección de errores más baja, guarda hasta 7.089 caracteres numéricos, 4.296 caracteres alfanuméricos o 2.953 bytes en bruto. En la práctica, la mayoría de los códigos QR impresos llevan una URL de 30–80 caracteres.

La capacidad de un código QR cae a medida que sube la corrección de errores, porque la redundancia ocupa los mismos módulos que de otro modo llevarían datos. Un código QR con la misma URL en el nivel H es visiblemente más denso que ese mismo código en el nivel L, y cada módulo es más pequeño al mismo tamaño impreso.

El límite práctico de un código QR no es la norma, es la impresión. Una URL larga obliga a subir de versión de símbolo, con más módulos y más pequeños, y los módulos pequeños son los que fallan en papel sin estucar, en cartón texturizado y en impresión de baja resolución. Acortar la URL suele ser más eficaz que agrandar el código.

¿Cuál deberías usar?

Usa esta regla de decisión:

  • Si el código identifica un producto a la venta en tiendas, usa un código de barras lineal - un UPC o EAN con tu GTIN, obtenido de GS1. Hoy no se acepta ningún otro formato en la mayoría de las cajas.
  • Si el código lleva a una persona a una página web, usa un código QR. Cartas, carteles, tarjetas de visita, encartes de envase, credenciales de eventos y compartir el Wi-Fi entran aquí.
  • Si el código lo escanea el personal con un lector láser de mano en un almacén, usa un código de barras lineal - Code 128 o GS1-128. Los escáneres láser no pueden leer códigos QR en absoluto.
  • Si el código tiene que sobrevivir a daños - abrasión, pliegues, cobertura parcial - usa un código QR con corrección de errores de nivel Q o H.
  • Si el código tiene que caber en una pieza o un componente muy pequeño, usa Data Matrix, no un código QR. Data Matrix lleva el mismo tipo de datos en menos espacio y es la opción estándar en electrónica y sanidad.
  • Si hoy necesitas a la vez captar al público y pasar por caja, imprime los dos. GS1 recomienda este doble marcado durante el periodo de transición actual.

¿Un teléfono puede escanear un código de barras igual que un QR?

Las cámaras de los teléfonos detectan los códigos QR de forma nativa - basta con apuntar la app de cámara a un código QR para que aparezca el enlace, sin software adicional. Leer un código de barras UPC o EAN es menos fiable: normalmente exige una app específica de compras, de biblioteca o de inventario, y el resultado varía según el dispositivo y la versión del sistema operativo.

Esa asimetría es la diferencia más práctica para cualquiera que imprima un código para el público. Un código de barras lineal en un cartel le pide al lector que instale algo primero. Un código QR en ese mismo cartel funciona con la cámara que el lector ya tiene abierta.

En las operaciones de tienda pasa lo contrario. Un escáner láser fijo en la caja de un supermercado lee un código de barras lineal en una fracción de segundo y en cualquier ángulo sobre la cinta, y no puede leer un código QR en absoluto salvo que el escáner sea un lector por cámara.

¿Hace falta registrar un código QR como se registra un UPC?

No. Un código QR no exige registro, ni licencia, ni una autoridad central, porque un código QR es solo un contenedor - codifica el texto que le pongas dentro. Un código de barras UPC o EAN exige un prefijo de empresa GS1, que es una suscripción de pago, porque el número codificado tiene que ser único entre todos los productos del comercio mundial.

Esto es una diferencia de significado entre los dos símbolos, no solo de coste. Un UPC significa algo porque la base de datos de un comercio reconoce el número. Un código QR significa algo porque apunta a un destino que tú controlas.

Crear un código QR es gratis con KoloQR, un generador de códigos QR gratuito con códigos QR circulares y de formas personalizadas, que exporta PNG y SVG sin cuenta. Conseguir un GTIN para un código de barras lineal de comercio es un trámite aparte que se gestiona a través de la organización GS1 de tu país.

Tamaño de impresión y zona de silencio de cada uno

Un código QR necesita alrededor de 1 cm de ancho por cada 10 cm de distancia de escaneo, con un mínimo práctico de 20 × 20 mm para escanear de cerca. Un código de barras UPC-A tiene un tamaño nominal de unos 37 × 26 mm incluyendo las zonas de silencio, y GS1 permite una magnificación de entre el 80% y el 200% de esa medida.

La zona de silencio es el margen vacío alrededor de un código de barras que permite a un escáner detectar dónde empieza y dónde acaba el símbolo. Un código QR necesita 4 módulos de espacio libre en los cuatro lados. Un código de barras UPC-A necesita 9 módulos de espacio libre a izquierda y derecha; EAN-13 necesita 11 módulos a la izquierda y 7 a la derecha.

La altura de las barras importa en los códigos lineales y ni siquiera existe como concepto en los códigos QR. Recortar un UPC por debajo de su altura nominal de 25,9 mm - algo que se hace a menudo para ahorrar espacio en el envase - reduce los ángulos con los que un escáner láser puede cruzar todas las barras, y es la causa más común de escaneos fallidos repetidos en caja.

Para imprimir, exporta vectorial en lugar de mapa de bits siempre que el flujo de trabajo lo permita. Un SVG se escala a cualquier tamaño sin ablandar los bordes de los módulos; un PNG ampliado en un programa de maquetación produce bordes borrosos que cuestan fiabilidad de escaneo con módulos pequeños. Esto vale igual para los dos tipos de símbolo.

Qué pasa cuando el código se daña

Un código QR sobrevive a un daño parcial; un código de barras lineal no. Los códigos QR llevan corrección de errores Reed–Solomon en cuatro niveles - L, M, Q y H - que recuperan aproximadamente el 7%, el 15%, el 25% y el 30% del símbolo respectivamente. Los códigos de barras lineales llevan solo un dígito de control, que detecta un error pero no puede reconstruir los datos que faltan.

Por eso los logotipos pueden ir sobre un código QR y no sobre un código de barras. Un logotipo que cubre el centro de un código QR en el nivel H elimina módulos que la corrección de errores puede reconstruir. Cualquier cosa que cubra las barras de un UPC elimina datos sin forma de recuperarlos, y por eso los códigos de barras del comercio se imprimen siempre limpios.

El 30% es un techo, no un presupuesto para gastar entero. Mantén el logotipo por debajo de aproximadamente el 25% del área del código QR y nunca sobre un patrón de localización - los tres cuadrados grandes de las esquinas - porque esos patrones son los que permiten al escáner situar el símbolo en primer lugar y no están protegidos por la corrección de errores.

¿Los códigos QR sustituirán a los códigos de barras en los envases?

Ni del todo, ni de inmediato. GS1 ha fijado un objetivo para el sector, conocido como Sunrise 2027 en Estados Unidos y migración a 2D en el resto, para que los sistemas de punto de venta del comercio puedan leer códigos de barras 2D con estándares GS1 antes de que termine 2027. Se espera que los códigos de barras UPC y EAN se sigan aceptando después de esa fecha.

El mecanismo es GS1 Digital Link, una sintaxis de URI que permite a un código QR llevar un GTIN y una dirección web al mismo tiempo. Un solo símbolo sirve entonces para la caja y para el teléfono del comprador. Hasta que se actualicen suficientes escáneres de punto de venta, la recomendación de GS1 es imprimir en el envase un código de barras lineal y un código 2D.

Para un negocio pequeño hoy, la lectura práctica es sencilla: un código QR que generes tú no se escaneará en la caja de un supermercado. Es un soporte de marketing y de información, no un identificador de producto, salvo que esté construido con la sintaxis de GS1 Digital Link y un GTIN de tu propiedad.

Otros códigos 2D que conviene conocer

Data Matrix es un código matricial 2D que mete el mismo tipo de datos en menos área que un código QR, y es el estándar para marcar componentes pequeños, electrónica y envases farmacéuticos. Elígelo cuando el espacio sea la restricción decisiva y el lector sea un escáner específico en lugar de un teléfono.

PDF417 es un código lineal apilado que se usa en carnés de conducir, tarjetas de embarque y etiquetas de envío. Guarda más que un código de barras lineal, pero se lee con la misma lógica de línea de escaneo, y es más ancho que alto.

Aztec es un código 2D muy usado en la venta de billetes de transporte, y no necesita zona de silencio - útil cuando un billete se imprime de borde a borde o se muestra en la pantalla de un teléfono.

Para cualquier cosa dirigida al público general, el QR sigue siendo la opción por defecto correcta entre los códigos 2D, porque es el único que las cámaras de los teléfonos detectan sin app.

Errores habituales al elegir entre los dos

  • Imprimir un código QR esperando que se escanee en caja. Un código QR generado por ti no contiene ningún GTIN y no está registrado en ningún comercio. Usa un UPC o EAN para el punto de venta.
  • Eliminar la zona de silencio. Pegar cualquiera de los dos símbolos contra un borde, un pliegue o un bloque de color es la causa más frecuente de un código que se escanea en pantalla y falla impreso.
  • Invertir los colores. Los módulos claros sobre fondo oscuro rompen muchos escáneres, que esperan datos oscuros sobre fondo claro. Mantén oscuros los elementos oscuros y el contraste alto.
  • Recortar la altura de las barras de un código lineal para que encaje en una composición, lo que reduce los ángulos de escaneo disponibles para un lector láser.
  • Ampliar un PNG pequeño para imprimir. Exporta SVG para todo lo que vaya a imprenta; un archivo de mapa de bits ampliado ablanda los bordes de los módulos y baja la tasa de escaneos correctos.
  • Subir la corrección de errores del QR en lugar de acortar la URL. Una corrección de errores más alta añade módulos, y cada uno se hace más pequeño al mismo tamaño impreso - lo que puede empeorar un código que ya estaba al límite en vez de mejorarlo.
  • Saltarse la prueba física. Imprime el código a tamaño final, sobre el material final, y escanéalo con un teléfono normal bajo la iluminación en la que se va a usar de verdad.

Questions? Answered

Sí. Un código QR es un código de barras bidimensional. En el habla corriente, “código de barras” suele significar el tipo lineal y unidimensional de los envases del comercio, pero los dos son símbolos legibles por máquina definidos por normas ISO. La distinción precisa es 1D frente a 2D.

Ninguno es mejor en general - resuelven problemas distintos. Usa un código de barras lineal cuando un escáner tenga que leer un número de producto fijo de forma rápida y repetida. Usa un código QR cuando una persona tenga que llegar a una página web, a una red Wi-Fi o a unos datos de contacto con la cámara del teléfono.

Sí, mediante GS1 Digital Link, que codifica un GTIN dentro de un URI web para que un único código QR sirva tanto al escáner de caja como al teléfono del comprador. Un código QR que generes tú con una URL normal no contiene ningún GTIN y no funcionará en el punto de venta.

Hoy normalmente no. La mayoría de los escáneres de punto de venta siguen leyendo solo códigos de barras lineales, y los que leen códigos 2D esperan sintaxis GS1. El objetivo declarado de GS1 es que los sistemas de punto de venta acepten códigos de barras 2D antes de que termine 2027, con los códigos lineales aún aceptados después.

No. Un código de barras lineal no tiene corrección de errores, así que cubrir cualquier parte de las barras destruye datos que no se pueden reconstruir. Los logotipos funcionan en los códigos QR porque los niveles de corrección de errores Q y H reconstruyen los módulos cubiertos - hasta un límite de aproximadamente el 25% del área del código.

La causa habitual es el tamaño del módulo. Una URL larga mete más módulos y más pequeños en el mismo cuadrado físico, y los módulos pequeños se emborronan en soportes absorbentes o texturizados. Acorta la URL, agranda el código o imprime desde SVG en lugar de un PNG escalado.

Los códigos QR estáticos no caducan - los datos están dentro del símbolo y funcionan de forma permanente. Los códigos QR dinámicos apuntan a una redirección propiedad de un proveedor y dejan de funcionar si esa suscripción vence. KoloQR genera códigos QR estáticos, así que el destino no puede cambiarse después de imprimir.

A veces, pero no siempre. Un código QR que solo lleve una URL corta cabe en unos 20 × 20 mm. Un contenido más largo necesita una versión de símbolo más alta con módulos más pequeños, lo que sube el tamaño mínimo imprimible. Data Matrix es la mejor opción cuando el espacio aprieta de verdad.

Para un escáner láser fijo que lee un número miles de veces al día, un código de barras lineal es más rápido y más barato de mantener. Los lectores por cámara leen los dos, pero renovar una flota de escáneres láser existente cuesta más de lo que suelen justificar los datos adicionales.

¿Por qué KoloQR?

  • Crea códigos QR para sitios web, menús, Wi-Fi, PDF y tarjetas de visita
  • Personaliza colores, logotipos y formas únicas
  • Descarga archivos PNG y SVG de alta calidad
  • Pensado tanto para impresión como para digital
Generar código QR
Un código QR negro sencillo junto al mismo código rediseñado como un círculo con los colores de la marca