MostlyQR

¿Por qué dejó de funcionar mi código QR? Cuatro causas y cómo saber cuál es

Un código QR impreso que dejó de funcionar tiene una de cuatro causas. El enlace dentro te dice cuál es y si es tu responsabilidad repararlo.

Max Čelar··Códigos QR dinámicos

Novedades aquí: Una observación fechada (18 de octubre de 2026) de que un código desactivado en el dominio corto de un generador grande responde HTTP 200 con una página de "cuenta deshabilitada" en lugar de 404, por lo que una verificación de estado lo considera activo, más una tabla de veredictos generada por las reglas que ejecuta nuestro propio verificador de códigos QR, que cualquiera puede probar en la página del verificador.

Un código QR que funcionaba casi nunca se estropea en el papel. La tinta no caduca. Cuando un código impreso deja de funcionar, ha pasado una de estas cuatro cosas: la empresa que está detrás de su enlace corto ha desactivado ese enlace, la página a la que apunta se ha movido, la impresión no se puede leer o el código se creó con una errata. El enlace que lleva dentro el código te dice cuál de las cuatro es en menos de un minuto, y solo la primera queda fuera de tu control.

# La prueba de 30 segundos: lee el enlace que hay dentro del código

Apunta la cámara del móvil al código y mira la vista previa antes de tocarla. O sube una foto a nuestro verificador de códigos QR gratuito, que muestra lo mismo y después sigue todas las redirecciones que haya detrás. Hay tres resultados posibles:

  • No aparece nada. El móvil no consigue leer el código. Es un problema de impresión (causa 3), y por mucho que toquetees los enlaces no lo vas a arreglar.
  • Aparece tu propia dirección (tucafe.com/menu). El código es estático: la dirección está dibujada en los cuadrados, no hay nada en medio y nadie puede desactivarlo. Si falla, el problema es la página (causa 2) o una errata en la dirección (causa 4).
  • Aparece un enlace corto en el dominio de otra empresa (unas pocas letras, una barra, un código corto). El código es dinámico: lleva primero al generador, y el generador reenvía a quien lo visita al destino que su propietario configuró. Si falla, lo más probable es que se haya desactivado el reenvío (causa 1).

Ese tercer caso es el más difícil de diagnosticar, por una razón que merece su propia sección.

# Un código desactivado sigue abriendo una página, con HTTP 200

Cabría esperar que un código muerto diera un error. El 18 de octubre de 2026 revisamos un código desactivado en qrco.de, el dominio corto que usa QR Code Generator (QRCG, de Bitly). No redirigía a ningún sitio y tampoco devolvía un error. El enlace corto respondía:

text
HTTP/2 200
content-type: text/html; charset=UTF-8

y la página que servía contenía un único componente, <qrcg-web-component-error-account-disabled>, que muestra un aviso de «cuenta desactivada». No publicamos la ruta del código, porque es el código de otra persona.

De esa única respuesta se desprenden tres cosas:

  1. El código se sigue escaneando. El móvil de tu cliente abre una página, solo que no la tuya. Por eso el aviso más habitual es «el QR funciona, pero muestra algo raro».
  2. Una comprobación de enlace sencilla lo da por sano. HTTP 200 significa «OK». Cualquier monitor de disponibilidad o herramienta de enlaces rotos que solo lea códigos de estado marcará este código como correcto. Hay que mirar lo que dice la página.
  3. El enlace señala quién puede arreglarlo. El dominio del código (aquí qrco.de) pertenece al generador. Es la única parte que puede volver a activar ese enlace.

Esto concuerda con lo que dice el propio centro de ayuda del generador sobre lo que ocurre cuando termina una prueba gratuita: «Dynamic QR Codes are deactivated and point to a service page rather than the original destination» (los códigos QR dinámicos se desactivan y apuntan a una página de servicio en lugar del destino original). Las páginas de los códigos desactivados de otros generadores son distintas. Algunos redirigen a una página de aviso en lugar de servirla en el propio enlace corto. Una observación en un día concreto es un ejemplo, no un estudio.

Nuestro verificador busca justamente esto. Cuando la página al final de la cadena parece un aviso de «este código ha sido desactivado», ya sea por su título, su dirección o un pequeño conjunto de frases en su HTML como «account disabled», lo indica, aunque el estado sea 200.

# Causa 1: el generador desactivó su enlace corto

Esta es la que les pasa a personas que no hicieron nada mal. Un código dinámico pasa por el enlace corto del generador, y ese enlace solo funciona mientras el generador lo mantenga activo. Los desencadenantes habituales, cada uno descrito en las páginas de ayuda de los propios generadores:

  • Terminó una prueba gratuita. Los códigos dinámicos gratuitos de algunos generadores dejan de redirigir cuando acaba la prueba.
  • Caducó una suscripción o falló un pago.
  • Se alcanzó el límite de escaneos del plan gratuito. Centro de ayuda de QR TIGER: «Dynamic QR codes created with a Freemium account have a predetermined limit on the number of scans they can receive. Once this limit is reached, the QR code becomes inactive» (los códigos QR dinámicos creados con una cuenta Freemium tienen un límite predeterminado de escaneos; al alcanzarlo, el código queda inactivo).
  • Se eliminó el código o la cuenta, a menudo porque un compañero estaba ordenando un panel, o porque se fue la persona que era titular de la cuenta.

Cómo saberlo: el enlace del código está en un dominio que no es tuyo, y la página en la que aterrizas es un aviso, una invitación a pasar a un plan de pago o una pantalla en blanco en lugar de tu contenido.

Qué hacer: el código impreso apunta a la dirección de la otra empresa, así que solo ella puede volver a activarlo. Tus opciones reales son reactivarlo con ellos o reimprimir una sola vez con un código que no se vaya a detener. Si no tienes claro cuál es tu caso, el verificador de códigos QR te muestra de quién es el enlace corto que lleva el código.

# Causa 2: la página a la que apunta se movió o se eliminó

El código funciona perfectamente y lleva al visitante a una página que ya no existe. Un rediseño de la web cambió /menu por /nuestro-menu, se sustituyó un PDF por un archivo con otro nombre, o el sitio entero desapareció.

Cómo saberlo: el enlace del código es tu dirección (o un enlace corto que reenvía a tu dirección) y aterrizas en una página de «no encontrado», normalmente con HTTP 404. Si la dirección empieza por http:// y el sitio solo sirve https://, algunos móviles también mostrarán una advertencia o se negarán a cargarla.

Qué hacer:

  • Si el código es estático, vuelve a poner una página en esa dirección exacta, o configura en tu propia web una redirección desde la dirección antigua a la nueva. Tu proveedor de alojamiento o tu creador de sitios web puede hacerlo, y arregla todas las copias impresas a la vez.
  • Si es un código dinámico que aún controlas, cambia su destino a la página nueva. Sin reimprimir.

# Causa 3: la impresión no se puede leer

Cómo saberlo: la cámara del móvil no muestra ningún enlace, o solo lee el código desde un ángulo y una distancia concretos. Prueba también con otro móvil: si uno reciente lo lee sin problema y uno antiguo no, está al límite, pero no roto.

Los culpables habituales:

  • Demasiado pequeño para su contenido. Un código es una cuadrícula de módulos, y un enlace más largo supone más módulos apretados en el mismo espacio. En nuestras mediciones de tamaño de impresión, un enlace corto de 21 caracteres se codifica en 25 módulos de ancho con corrección de errores de nivel M, y una URL de producto de 116 caracteres en 45. Con el mismo ancho de 25 mm, eso son módulos de 0,76 mm frente a 0,47 mm.
  • Sin zona de silencio. El estándar pide cuatro módulos de espacio en blanco por todos los lados, y los lectores lo usan para encontrar los bordes del código. Un marco, una foto o un texto pegados al código son una causa frecuente.
  • Poco contraste. Módulos oscuros sobre fondo claro. Claro sobre oscuro, colores pálidos o un código impreso sobre una imagen recargada le ponen las cosas más difíciles al lector.
  • Daños y superficie. Arañazos, desgaste del color, pliegues, reflejos del plastificado o un código envuelto alrededor de una botella curva.

Qué hacer: reimprime. Hazlo más grande, devuélvele su zona de silencio y prueba la copia impresa en el lugar donde la gente la va a escanear, con el peor móvil que encuentres.

# Causa 4: un código estático con una errata

Un código estático es la dirección dibujada en cuadrados, así que una errata también queda dibujada: cafe.com/menu codificado como cafe.com/mneu, o un dominio mal escrito.

Cómo saberlo: el enlace del código es casi tu dirección, pero no del todo. Una ruta equivocada da una página de «no encontrado» en tu propio sitio. Un dominio mal escrito normalmente no da ninguna respuesta.

Qué hacer: si la errata está en la ruta de tu propio sitio, añade una redirección desde la ruta mal escrita a la página correcta (la misma solución que en la causa 2). Si el que está mal escrito es el dominio y no es tuyo, desde tu lado no hay arreglo posible. Reimprime.

# Qué concluye el verificador, caso por caso

Aquí tienes el mismo diagnóstico pasado por el código que hay detrás de nuestro verificador de códigos QR, con siete respuestas de ejemplo, una por cada situación anterior. La consulta está simulada (sin códigos reales, solo dominios de ejemplo), así que esta tabla muestra lo que el verificador concluye de cada tipo de respuesta, no lo que hace hoy el código de una empresa concreta. El caso 5 reproduce el cuerpo de la respuesta de qrco.de del 18 de octubre.

Caso Enlace en el código Saltos (estado) Veredicto Aviso de desactivado
Estático, página activa https://www.cafe.example/menu www.cafe.example (200) static no
Estático, página movida https://www.cafe.example/old-menu www.cafe.example (404) broken no
Estático, errata en el dominio https://www.cfae.example/menu www.cfae.example (inaccesible) broken no
Enlace corto, activo https://short.example/Ab12Cd short.example (301) → www.cafe.example (200) redirect no
Código corto, página de cuenta desactivada https://qr.example/Xy34Zw qr.example (200) hosted sí
Enlace corto, hacia una página de «desactivado» https://short.example/Zz99Yy short.example (302) → generator.example (200) redirect sí
Código de MostlyQR https://mqr.sh/AB12CD mqr.sh (302) → www.cafe.example (200) mostlyqr no

Cómo leerla:

  • static: no hay otro sitio en la cadena. Nada puede desactivarlo; funciona mientras exista la página.
  • redirect: el código pasa primero por el enlace corto de otro sitio. Ese sitio decide adónde va, y su dominio es el primer salto de la cadena.
  • hosted: no hay redirección, pero el enlace es un código corto en un sitio que sirve la página él mismo (caso 5). A menos que ese sitio sea tuyo, quien lo gestiona controla el código.
  • broken: la cadena termina en un error o nunca responde.
  • Aviso de desactivado es una marca aparte que se suma al veredicto. Fíjate en los casos 5 y 6: ambos devuelven 200 al final de la cadena, y la marca de aviso es lo único que los distingue de un código que funciona.

La tabla se genera, no se escribe a mano: pasamos las reglas propias del verificador de códigos QR por cada respuesta de ejemplo y copiamos sus veredictos. Puedes probar cualquier código real del mismo modo en la página del verificador.

# Lo que este artículo no cubre

  • Un generador, un día. La respuesta de qrco.de es una única observación del 18 de octubre de 2026. Los códigos desactivados de otros generadores se comportan de otra manera, y cualquiera de ellos puede cambiar lo que hace el suyo.
  • Los límites del verificador. Sigue como máximo ocho saltos, se rinde a los ocho segundos, lee solo los primeros 64 KB de una página y detecta un aviso a partir de una lista corta de frases. Un aviso redactado de otra manera recibirá un veredicto, pero no la marca. Y un veredicto «redirect» dice quién controla el código. No dice que el código esté roto.
  • Un verificador de enlaces no diagnostica los problemas de impresión. Si el móvil no puede leer el código, no hay ningún enlace que comprobar. El verificador solo puede leer una foto nítida.

# La versión corta

  1. Lee el enlace que hay dentro del código con la vista previa de la cámara o con el verificador de códigos QR.
  2. No se lee nada: reimprímelo más grande, con su zona de silencio, y prueba la copia en papel.
  3. Tu propia dirección: arregla la página o añade una redirección en tu sitio. Si el dominio está mal escrito, reimprime.
  4. El enlace corto de otra empresa que lleva a un aviso: solo esa empresa puede volver a activarlo.

Si acabas reimprimiendo, elige con criterio. Un código estático no se puede desactivar, pero tampoco se puede cambiar. Un código QR dinámico se puede cambiar después de imprimirlo, pero depende de la empresa que está detrás. Los nuestros siguen redirigiendo a su último destino guardado aunque canceles un plan de pago, mientras conserves tu cuenta gratuita y MostlyQR siga funcionando. Puedes crear un reemplazo aquí; el primer código dinámico es gratis, sin tarjeta.

Preguntas frecuentes

¿Por qué dejó de funcionar mi código QR si nada cambió?

Generalmente porque el código contiene un enlace corto en el dominio del generador, no tu propia dirección, y el generador desactivó ese enlace: terminó una prueba gratuita, venció una suscripción o se alcanzó el límite de escaneos del plan gratuito. El patrón impreso está bien. Solo la empresa propietaria del dominio corto puede reactivarlo.

¿Cómo puedo saber si mi código QR es estático o dinámico?

Mira el enlace dentro, ya sea en la vista previa de la cámara de tu teléfono antes de tocarlo o con un verificador de códigos QR. Si es la dirección de tu propio sitio web, el código es estático. Si es un enlace corto en el dominio de otra empresa, el código es dinámico y esa empresa decide a dónde apunta.

¿Puede un código QR expirar por sí solo?

No. El patrón impreso no tiene fecha en él. Un código estático funciona mientras la página a la que apunta exista. Un código dinámico funciona mientras la empresa detrás de su enlace corto mantenga ese enlace activado.

Mi teléfono no reacciona al código QR en absoluto. ¿Qué está mal?

Ese es un problema de impresión, no de enlace. El código es demasiado pequeño para la distancia desde la que se escanea, tiene muy poco contraste, está dañado o le falta el margen en blanco (la zona tranquila) alrededor. Vuelve a imprimirlo más grande, oscuro sobre claro, con cuatro módulos de espacio en blanco en cada lado, y prueba la copia impresa en lugar del archivo.

Fuentes
  1. QR Code Generator support: What happens to my account and QR Codes when the trial expires?
  2. QR TIGER help centre: How do I fix a QR code that has reached its scan limit?
  3. QR Code standardization (ISO/IEC 18004), Denso Wave