MostlyQR

Pourquoi mon code QR a cessé de fonctionner ? Quatre causes et comment identifier la vôtre

Un code QR imprimé qui a cessé de fonctionner a l'une de quatre causes. Le lien qu'il contient vous indique laquelle, et si c'est à vous de la corriger.

Max Čelar··Codes QR dynamiques

Quoi de neuf ici : Une observation datée (18 octobre 2026) montrant qu'un code désactivé sur le domaine court d'un grand générateur répond HTTP 200 avec une page « compte désactivé » au lieu d'un 404, ce qui fait qu'une vérification d'état le considère en bonne santé, plus un tableau de verdict généré par les règles que notre propre vérificateur de code QR exécute, que n'importe qui peut essayer sur la page du vérificateur.

Un QR code qui fonctionnait ne se dégrade presque jamais sur le papier. L’encre n’expire pas. Quand un code imprimé cesse de fonctionner, l’une de ces quatre choses s’est produite : l’entreprise derrière son lien court a désactivé ce lien, la page vers laquelle il pointe a changé de place, l’impression n’est pas lisible, ou le code a été créé avec une faute de frappe. Le lien contenu dans le code te dit lequel en moins d’une minute, et seul le premier échappe à ton contrôle.

# Le test de 30 secondes : lire le lien dans le code

Pointe l’appareil photo de ton téléphone vers le code et regarde l’aperçu avant de toucher. Ou envoie une photo à notre vérificateur de QR code gratuit, qui affiche la même chose puis suit chaque redirection derrière. Trois résultats possibles :

  • Rien n’apparaît. Le téléphone ne parvient pas à lire le code. C’est un problème d’impression (cause 3), et aucune manipulation de liens n’y changera quoi que ce soit.
  • Ta propre adresse apparaît (yourcafe.com/menu). Le code est statique : l’adresse est dessinée dans les carrés, il n’y a aucun intermédiaire, et personne ne peut le désactiver. S’il échoue, le problème vient de la page (cause 2) ou l’adresse contient une faute de frappe (cause 4).
  • Un lien court sur le domaine de quelqu’un d’autre apparaît (quelques lettres, une barre oblique, un code court). Le code est dynamique : il envoie d’abord les gens vers le générateur, et le générateur les redirige vers l’adresse que son propriétaire a choisie. S’il échoue, la redirection a très probablement été désactivée (cause 1).

Ce troisième cas est le plus difficile à diagnostiquer, pour une raison qui mérite sa propre section.

# Un code désactivé ouvre quand même une page, avec HTTP 200

On s’attendrait à ce qu’un code mort produise une erreur. Le 18 octobre 2026, nous avons vérifié un code désactivé sur qrco.de, le domaine court utilisé par QR Code Generator (QRCG de Bitly). Il ne redirigeait nulle part et ne renvoyait pas d’erreur. Le lien court a répondu :

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

et la page servie contenait un unique composant, <qrcg-web-component-error-account-disabled>, qui affiche un avis « compte désactivé ». Nous ne publions pas le chemin du code lui-même, car c’est le code de quelqu’un d’autre.

Trois choses découlent de cette seule réponse :

  1. Le code se scanne toujours. Le téléphone de ton client ouvre une page, simplement pas la tienne. C’est pourquoi le signalement habituel est « le QR code fonctionne, mais il affiche quelque chose de bizarre ».
  2. Une simple vérification de lien le juge sain. HTTP 200 veut dire « OK ». Tout outil de surveillance ou de détection de liens cassés qui ne lit que les codes d’état marquera ce code comme correct. Il faut regarder ce que la page dit.
  3. Le lien désigne qui peut y remédier. Le domaine dans le code (ici qrco.de) appartient au générateur. C’est la seule partie qui peut réactiver ce lien.

Cela correspond à ce que le centre d’aide du générateur lui-même indique quand un essai gratuit se termine : « Dynamic QR Codes are deactivated and point to a service page rather than the original destination. » Les pages de codes désactivés d’autres générateurs sont différentes. Certains redirigent vers une page d’avis au lieu d’en servir une directement au niveau du lien court. Une observation, un jour donné, est un exemple, pas une enquête.

Notre vérificateur cherche exactement cela. Quand la page au bout de la chaîne ressemble à un avis « ce code a été désactivé », d’après son titre, son adresse ou un petit ensemble de formulations dans son HTML comme « account disabled », il le signale, même si le statut est 200.

# Cause 1 : le générateur a désactivé son lien court

C’est ce qui arrive à des gens qui n’ont rien fait de travers. Un code dynamique passe par le lien court du générateur, et ce lien ne fonctionne que tant que le générateur le laisse actif. Déclencheurs courants, chacun décrit dans les pages d’aide des générateurs :

  • Un essai gratuit s’est terminé. Chez certains générateurs, les codes dynamiques gratuits cessent de rediriger à la fin de l’essai.
  • Un abonnement a expiré ou un paiement a échoué.
  • La limite de scans d’une offre gratuite a été atteinte. Centre d’aide 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. »
  • Le code ou le compte a été supprimé, souvent par un collègue qui faisait du rangement dans un tableau de bord, ou quand la personne propriétaire du compte est partie.

Comment le savoir : le lien dans le code se trouve sur un domaine qui n’est pas le tien, et la page où tu arrives est un avis, une invitation à passer à l’offre payante ou un écran vide au lieu de ton contenu.

Que faire : le code imprimé pointe vers l’adresse de l’autre entreprise, donc elle seule peut le réactiver. Tes vrais choix sont de le réactiver auprès d’elle, ou de réimprimer une fois avec un code qui ne s’arrêtera pas. Si tu ne sais pas lequel s’applique, le vérificateur de QR code indique à qui appartient le lien court dans le code.

# Cause 2 : la page vers laquelle il pointe a changé de place ou a été supprimée

Le code fonctionne parfaitement et amène le visiteur vers une page qui n’existe plus. Une refonte du site a renommé /menu en /our-menu, un PDF a été remplacé par un fichier avec un nouveau nom, ou le site lui-même a disparu.

Comment le savoir : le lien dans le code est ton adresse (ou un lien court qui redirige vers ton adresse), et tu arrives sur une page « introuvable », généralement avec HTTP 404. Si l’adresse commence par http:// et que le site ne sert que du https://, certains téléphones affichent aussi un avertissement ou refusent de charger la page.

Que faire :

  • Si le code est statique, remets une page à cette adresse exacte, ou configure sur ton propre site une redirection de l’ancienne adresse vers la nouvelle. Ton hébergeur ou ton outil de création de site peut le faire, et cela corrige d’un coup tous les exemplaires imprimés.
  • Si c’est un code dynamique que tu contrôles encore, change sa destination vers la nouvelle page. Pas de réimpression.

# Cause 3 : l’impression n’est pas lisible

Comment le savoir : l’appareil photo du téléphone n’affiche aucun lien, ou ne lit le code que sous un angle et à une distance précis. Essaie aussi un autre téléphone : si un modèle récent le lit facilement et un plus ancien non, il est limite plutôt que cassé.

Les coupables habituels :

  • Trop petit pour son contenu. Un code est une grille de modules, et un lien plus long signifie plus de modules serrés dans le même espace. Dans nos mesures de taille d’impression, un lien court de 21 caractères donne 25 modules de large au niveau de correction d’erreur M, et une URL de produit de 116 caractères en donne 45. À la même largeur de 25 mm, cela fait des modules de 0,76 mm contre 0,47 mm.
  • Pas de zone de silence. La norme demande quatre modules d’espace vide de chaque côté, et les lecteurs s’en servent pour repérer les bords du code. Une bordure, une photo ou du texte collé contre le code est une cause fréquente.
  • Faible contraste. Des modules foncés sur fond clair. Du clair sur foncé, des couleurs pâles, ou un code imprimé sur une image chargée compliquent le travail du lecteur.
  • Dégâts et support. Rayures, décoloration, plis, reflets dus à la plastification, ou code enroulé autour d’une bouteille bombée.

Que faire : réimprimer. Le faire plus grand, lui rendre sa zone de silence, et tester la copie imprimée à l’endroit où les gens la scanneront, avec le pire téléphone que tu puisses trouver.

# Cause 4 : un code statique avec une faute de frappe

Un code statique est l’adresse dessinée en carrés, donc la faute de frappe y est dessinée aussi : cafe.com/menu encodé en cafe.com/mneu, ou un domaine mal orthographié.

Comment le savoir : le lien dans le code ressemble presque, mais pas tout à fait, à ton adresse. Un chemin erroné donne une page « introuvable » sur ton propre site. Un domaine mal orthographié ne donne généralement aucune réponse.

Que faire : si la faute est dans le chemin sur ton propre site, ajoute une redirection du chemin erroné vers la bonne page (même solution que pour la cause 2). Si c’est le domaine lui-même qui est mal orthographié et qu’il ne t’appartient pas, il n’y a rien à corriger de ton côté. Réimprime.

# Ce que conclut le vérificateur, cas par cas

Voici le même diagnostic passé dans le code derrière notre vérificateur de QR code, sur sept réponses d’exemple, une par situation ci-dessus. La requête est simulée (pas de vrais codes, uniquement des domaines d’exemple), donc ce tableau montre ce que le vérificateur conclut de chaque type de réponse, pas ce que fait aujourd’hui le code d’une entreprise en particulier. Le cas 5 reproduit le corps de la réponse de qrco.de du 18 octobre.

Cas Lien dans le code Étapes (statut) Verdict Avis de désactivation
Statique, page en ligne https://www.cafe.example/menu www.cafe.example (200) static non
Statique, page déplacée https://www.cafe.example/old-menu www.cafe.example (404) broken non
Statique, faute dans le domaine https://www.cfae.example/menu www.cfae.example (injoignable) broken non
Lien court, actif https://short.example/Ab12Cd short.example (301) → www.cafe.example (200) redirect non
Code court, page « compte désactivé » https://qr.example/Xy34Zw qr.example (200) hosted oui
Lien court, vers une page « désactivé » https://short.example/Zz99Yy short.example (302) → generator.example (200) redirect oui
Code MostlyQR https://mqr.sh/AB12CD mqr.sh (302) → www.cafe.example (200) mostlyqr non

Comment le lire :

  • static : aucun autre site dans la chaîne. Rien ne peut le désactiver ; il fonctionne tant que la page existe.
  • redirect : le code passe d’abord par le lien court d’un autre site. Ce site décide où il mène, et son domaine est la première étape de la chaîne.
  • hosted : pas de redirection, mais le lien est un code court sur un site qui sert lui-même la page (cas 5). À moins que ce site ne soit le tien, la personne qui l’exploite contrôle le code.
  • broken : la chaîne se termine par une erreur ou ne répond jamais.
  • Avis de désactivation est un indicateur distinct, en plus du verdict. Regarde les cas 5 et 6 : tous deux renvoient 200 au bout de la chaîne, et l’indicateur est la seule chose qui les sépare d’un code qui fonctionne.

Le tableau est généré, pas saisi à la main : nous avons appliqué les propres règles du vérificateur de QR code à chaque réponse d’exemple et copié ses verdicts. Tu peux essayer n’importe quel vrai code de la même façon sur la page du vérificateur.

# Ce que cela ne couvre pas

  • Un générateur, un jour. La réponse de qrco.de est une observation unique du 18 octobre 2026. Les codes désactivés d’autres générateurs se comportent différemment, et chacun peut changer ce que font les siens.
  • Les limites du vérificateur. Il suit au plus huit étapes, abandonne après huit secondes, ne lit que les 64 premiers Ko d’une page et repère un avis à partir d’une courte liste de formulations. Un avis rédigé autrement obtiendra un verdict mais pas d’indicateur. Et un verdict « redirect » dit qui contrôle le code. Il ne dit pas que le code est cassé.
  • Les problèmes d’impression ne sont pas diagnostiqués par un vérificateur de liens. Si le téléphone ne peut pas lire le code, il n’y a pas de lien à vérifier. Le vérificateur ne peut lire qu’une photo nette.

# En bref

  1. Lis le lien dans le code avec l’aperçu de ton appareil photo ou le vérificateur de QR code.
  2. Rien ne se lit : réimprime-le plus grand, avec sa zone de silence, et teste la copie papier.
  3. Ta propre adresse : répare la page ou ajoute une redirection sur ton site. Si le domaine est mal orthographié, réimprime.
  4. Le lien court de quelqu’un d’autre qui mène à un avis : seule cette entreprise peut le réactiver.

Si tu finis par réimprimer, choisis avec soin. Un code statique ne peut pas être désactivé, mais il ne peut pas non plus être modifié. Un QR code dynamique peut être modifié après l’impression, mais il dépend de l’entreprise derrière. Les nôtres continuent de rediriger vers leur dernière destination enregistrée même si tu résilies une offre payante, tant que tu gardes ton compte gratuit et que MostlyQR fonctionne. Tu peux créer un remplaçant ici ; le premier code dynamique est gratuit, sans carte bancaire.

Questions fréquemment posées

Pourquoi mon code QR a cessé de fonctionner alors que rien n'a changé ?

Généralement parce que le code contient un lien court sur le domaine du générateur, pas votre propre adresse, et le générateur a désactivé ce lien : un essai gratuit a expiré, un abonnement a pris fin, ou une limite de scans du forfait gratuit a été atteinte. Le motif imprimé est intact. Seule l'entreprise propriétaire du domaine court peut le réactiver.

Comment savoir si mon code QR est statique ou dynamique ?

Regardez le lien qu'il contient, soit dans l'aperçu de votre appareil photo avant de le scanner, soit avec un vérificateur de code QR. S'il s'agit de l'adresse de votre propre site web, le code est statique. S'il s'agit d'un lien court sur le domaine d'une autre entreprise, le code est dynamique et cette entreprise décide où il pointe.

Un code QR peut-il expirer de lui-même ?

Non. Le motif imprimé n'a pas de date. Un code statique fonctionne aussi longtemps que la page vers laquelle il pointe existe. Un code dynamique fonctionne aussi longtemps que l'entreprise derrière son lien court le maintient activé.

Mon téléphone ne réagit pas du tout au code QR. Quel est le problème ?

C'est un problème d'impression, pas un problème de lien. Le code est trop petit pour la distance à laquelle il est scanné, a trop peu de contraste, est endommagé, ou manque la marge blanche (la zone silencieuse) autour de lui. Réimprimez-le plus grand, foncé sur clair, avec quatre modules d'espace blanc de chaque côté, et testez la copie imprimée plutôt que le fichier.

Sources
  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