Générateur de QR codes

Contenu

QR code

    Options

    La part du code qui peut être abîmée ou masquée sans l’empêcher d’être lu. Plus elle est élevée, plus le code est grand.

    Pour l’impression, préférez le SVG : il reste net à toutes les tailles.

    Vous avez un QR code à lire ? Décodez-le

    Transparence

    Les QR codes sont créés dans votre navigateur, par les scripts listés ci-dessous. Ce que vous saisissez ne quitte jamais cette page.

    Garanti par votre navigateur
    La politique de sécurité du contenu (CSP) de cette page n’autorise qu’une destination, la mesure d’audience du site (connect-src https://stats.r-no.fr, voir plus bas), et interdit tout envoi de formulaire (form-action 'none') : même un bogue ne pourrait envoyer nulle part ce que vous saisissez. Les fichiers SVG et PNG sont fabriqués dans la page et remis directement à votre navigateur. Vous pouvez lire cette politique en haut du code source de la page.
    Mesure d’audience
    Comme toutes les pages du site, celle-ci compte sa visite avec Umami, installé sur le serveur de R-no lui-même (stats.r-no.fr). Il reçoit l’adresse de la page, sans paramètres ni ancre, le site d’où vous venez (son nom de domaine seulement), votre navigateur, votre système, votre langue et la taille de votre écran, ainsi que le pays, la région et la ville déduits de votre adresse IP, qui n’est pas conservée. Il ne reçoit jamais ce que vous saisissez, ni le résultat de l’outil. Aucun cookie, rien d’enregistré dans votre navigateur ; si votre navigateur demande à ne pas être suivi (Do Not Track), rien n’est mesuré. Les données sont effacées au bout de 25 mois.
    • /commun/mesure.js : le filtre appliqué avant chaque envoi, écrit pour R-no Toolbox. 1.4 kB
      SHA-256 225eec74fd12623d82fc05ee7d222be629ce454d081c129e8d1e249ed37ee716
    • https://stats.r-no.fr/m.js : le script de suivi d’Umami, libre (MIT), servi par le serveur de mesure. Son empreinte n’est pas affichée ici : elle change à chaque version d’Umami, et vous ne pouvez pas vérifier depuis votre navigateur qu’il s’agit du code publié. Pour cette partie, il faut faire confiance à R-no.
    Ce qui est conservé
    Aucun cookie, et rien dans l’adresse. Ce que vous saisissez n’est jamais conservé, et le formulaire est vidé quand vous quittez la page. La langue est donnée par l’adresse elle-même (/en/ ou /fr/) : rien n’est conservé pour s’en souvenir. Comme tout site web, le serveur note le téléchargement de la page et de ses fichiers dans ses journaux d’accès (adresse IP, date et heure, adresse demandée, nom du navigateur). Il ne reçoit jamais ce que vous saisissez.
    Le code qui s’exécute ici
    • app.js: l’outil lui-même, écrit pour R-no Toolbox : il met en forme le contenu, dessine le code et fabrique les fichiers. Non minifié. 14.9 kB
      SHA-256 defdc89fda65ed4929a79552a3636f99257272138a99898acde39a3dd3bde78e
    • qrcodegen.js: la bibliothèque QR Code generator de Project Nayuki, version 1.8.0, qui transforme le contenu en QR code. Licence MIT, écrite en entier en tête du fichier. Non minifiée, commentaires compris. 45.8 kB
      SHA-256 6c3972efae2462260258a63ae9b792c18894990f37cb31ee568fa34f036da1e7
    • textes.js: les messages en français de l’outil, affichés par son script (le reste de la page française est écrit dans son HTML à la construction du site). Il ne fait que définir des textes, sans aucune logique. 7.1 kB
      SHA-256 e0d52a5cea7e85c5d159a28d93fca5a4df0da9af4f77dc8ca5fa0cc3290233a9
    • /commun/langue.js: l’aide à la traduction, la même sur toutes les pages du site. Elle lit la langue de la page et donne à l’outil ses messages dans cette langue. Elle ne conserve rien. 1.6 kB
      SHA-256 80f76f69773ef628d36d09bf8387cfedebda4529210d7120649b6f5603310631
    D’où vient qrcodegen.js
    De la source TypeScript officielle publiée par son auteur sur GitHub (tag v1.8.0). TypeScript ne fait que retirer les annotations de type : le code et ses commentaires sont inchangés. À chaque déploiement, le fichier est reconstruit à partir de cette source et comparé octet pour octet à celui servi ici ; le déploiement s’arrête s’ils diffèrent.
    Vérifiez vous-même
    Téléchargez un fichier et comparez son empreinte avec celle affichée ci-dessus :
    curl -s https://r-no.fr/qr-code/generator/qrcodegen.js | shasum -a 256
    Limites
    Un QR code contient au plus 2 953 octets (niveau L), et bien moins aux niveaux supérieurs ; un accent ou un emoji occupe plusieurs octets. Le texte est encodé en UTF-8, comme l’attendent les lecteurs actuels ; quelques lecteurs très anciens peuvent mal afficher les lettres accentuées. La façon dont un téléphone traite un code Wi-Fi, contact, e-mail ou SMS dépend de son lecteur ; les formats utilisés sont les plus largement reconnus. Testez votre code avec votre propre téléphone avant de l’imprimer.