À propos de ces outils
Ce que chacun fait et quand y recourir
Base64
Encodez du texte en Base64 (RFC 4648) ou décodez. Le décodage est le sens par défaut car il est de loin le plus courant au quotidien. Vous utiliserez le décodage Base64 en inspectant une URL data:, en disséquant un segment JWT arrivé dans votre en-tête Authorization, en lisant un jeton collé sur Slack, ou en déballant un secret atterri dans une variable d'environnement. L'encodage est ce que vous faites pour intégrer du texte binaire dans une URL ou un champ JSON. Les deux sens gèrent correctement Unicode (UTF-8).
TOTP & HOTP — Générateur de mots de passe à usage unique
Ouvrir la page dédiée TOTP / HOTP →
Générez le même code qu'afficherait une app d'auth, à partir d'un secret partagé encodé en Base32. Implémente RFC 6238 (TOTP, basé sur le temps) et RFC 4226 (HOTP, basé sur compteur), avec toutes les options des déploiements 2FA réels: HMAC-SHA1 / SHA-256 / SHA-512, 6 / 7 / 8 chiffres, fenêtres de 30 / 60 secondes, et un compteur HOTP explicite. Compatible avec Google Authenticator, 1Password, Authy, FreeOTP et tout autre client conforme aux RFCs.
Collez un URI otpauth:// et toutes les options se remplissent automatiquement — utile pour examiner un URI reçu par canal latéral avant import. En sens inverse, l'action Afficher comme QR transmet la configuration actuelle à l'onglet QR pour la scanner directement avec l'app de votre téléphone. Les fenêtres précédente et suivante restent à l'écran au cas où l'horloge du serveur de vérification aurait dérivé.
Générateur de Code QR
Affichez tout texte ou URL en code QR selon ISO/IEC 18004. L'usage pratique le plus courant est de convertir un URI otpauth:// en code scannable pour le passer à une app d'auth, mais cela fonctionne pour tout texte court — identifiants Wi-Fi, carte de visite, URL ponctuelle. Choisissez le niveau de correction L / M / Q / H — les niveaux élevés survivent aux taches et plis mais produisent des codes plus denses. Téléchargez en SVG vectoriel (net à toute taille) ou PNG.
Encodeur / Décodeur URL
Encodage/décodage pourcent des composants URL selon RFC 3986. Le décodage est le sens par défaut car le scénario le plus courant est «je vois cette URL encodée dans un log et je dois la lire». Deux portées: Composant traite votre entrée comme une seule valeur et encode tout ce qui n'est pas alphanumérique — le mode strict pour les valeurs de paramètres; URL complète préserve les caractères de structure URL (:/?#[]) pour qu'une URL complète reste cliquable. Utilisez Composant pour des valeurs de chaîne de requête ou des segments individuellement, URL complète pour travailler avec des URLs entières.
Formateur JSON
Validez, embellissez ou minifiez du JSON (ECMA-404). En cas d'entrée invalide, la ligne et la colonne exactes de l'erreur de syntaxe sont mises en évidence. Le formateur supporte indentation 2 espaces, 4 espaces et tab. Utile lorsqu'on vient de recevoir un blob non formaté d'une API, qu'on inspecte une réponse profondément imbriquée, ou qu'on minifie avant intégration dans un artefact de build.
Décodeur et Vérificateur JWT
Décodez et inspectez les JSON Web Tokens (RFC 7519). Le jeton est divisé en ses trois parties Base64 (en-tête, charge utile, signature) et le contenu JSON de chacune est embelli. Les revendications de temps standards — iat, nbf, exp — apparaissent comme horodatages lisibles avec un compte à rebours en direct quand le jeton est actif.
Collez une clé dans la boîte Vérifier la signature et la vérification cryptographique s'exécute localement via la Web Crypto API du navigateur. Familles supportées: HS256/HS384/HS512 avec un secret partagé; RS256/RS384/RS512 et PS256/PS384/PS512 avec une clé publique RSA au format PEM SPKI; ES256/ES384/ES512 avec une clé publique EC sur P-256 / P-384 / P-521. Le secret ou la clé n'est conservé qu'en mémoire pour la vérification — jamais envoyé à un serveur, écrit en stockage ou journalisé.
Hash
Calculez des hashes cryptographiques (FIPS 180-4): SHA-1, SHA-256, SHA-384 et SHA-512. Déposez un fichier ou collez du texte; l'empreinte est calculée localement avec crypto.subtle.digest — l'implémentation native Web Crypto du navigateur. Utile pour vérifier qu'un fichier téléchargé correspond à son checksum publié, générer des empreintes pour stockage adressé par contenu, ou faire des contrôles d'intégrité rapides.
Hex
Convertissez entre texte et séquences d'octets hex. Le décodage est le défaut — collez du hex (avec ou sans séparateurs) et lisez-le en texte. Utile pour lire des hex dumps, déboguer des protocoles binaires ou travailler avec un encodage bas niveau où vous avez les octets bruts mais pas encore de forme lisible. L'option de séparateur permet de basculer entre sortie séparée par espaces, deux-points ou continue lors de l'encodage.
Entités HTML
Encodez et décodez des entités HTML. Le décodage est le défaut — collez du markup truffé de <, &, ", etc. et lisez les caractères originaux. Le mode encodage produit une sortie sûre pour HTML, utilisable pour intégrer du texte fourni par l'utilisateur dans une page. La grille de référence sous l'entrée montre des entités communes que vous pouvez copier individuellement.
Testeur de Regex
Testez des expressions régulières au goût JavaScript (ECMA-262). Tapez un motif, basculez les flags (g global, i insensible à la casse, m multiligne, s point-tout) et regardez les correspondances surligner votre texte de test en temps réel. Les groupes de capture sont colorés; la liste complète et le contenu des groupes apparaissent en dessous. Utile pour prototyper un motif avant de le coller dans le code, déboguer pourquoi une regex ne correspond pas comme attendu, ou apprendre la syntaxe regex de manière interactive.
Diff
Comparez deux textes et voyez les différences ligne par ligne avec ajouts en vert et suppressions en rouge. Utile pour repérer les changements entre deux configurations, deux réponses d'API, deux extraits de log — tout ce qu'on doit comparer côte à côte. La ligne de résumé montre les totaux pour avoir d'un coup d'œil le nombre de lignes ajoutées et supprimées.
Couleur
Collez une couleur en HEX, rgb() ou hsl() et voyez les quatre formes CSS standard côte à côte — HEX, RGB, HSL, et OKLCH perceptuellement uniforme (CSS Color Module Level 4). La forme OKLCH est affichée en sortie uniquement et est pratique pour générer des palettes de thème ou quand on veut une couleur dont la luminosité reste cohérente à l'œil quel que soit la teinte.
Générateur UUID
Générez des UUIDs cryptographiquement aléatoires (RFC 4122 v4) — l'identifiant 128 bits standard utilisé en bases de données, systèmes distribués, IDs de file et APIs. Les octets aléatoires viennent de crypto.getRandomValues. Sous le générateur, un validateur indique si un UUID collé est bien formé et quelle version RFC 4122 il prétend être (v1 à v5).
Générateur de Mot de Passe
Générez des mots de passe cryptographiquement aléatoires alignés sur les recommandations NIST SP 800-63B. Choisissez une longueur et les classes de caractères à inclure (minuscules, majuscules, chiffres, symboles); une estimation d'entropie en direct se met à jour à mesure que vous ajustez les paramètres. La source aléatoire est crypto.getRandomValues, le même RNG cryptographiquement sûr que les navigateurs modernes utilisent pour les opérations TLS. Utile quand on a besoin d'un nouveau mot de passe fort et qu'on ne veut pas se rabattre sur ce que le gestionnaire de mots de passe propose par défaut.
Générateur de Nombres Aléatoires
Ouvrir la page dédiée Aléatoire →
Tirez des entiers ou décimaux cryptographiquement aléatoires depuis crypto.getRandomValues du navigateur. La page tire des valeurs uniformes par échantillonnage par rejet, donc pas de biais modulo — Math.random() est rapide mais déterministe et légèrement non uniforme une fois mis à l'échelle. Configurable: plage (positive, négative ou mixte), combien tirer à la fois (jusqu'à 10 000), mode entier ou décimal (avec 0–15 chiffres de précision), mode unique-seulement (utilise un mélange Fisher–Yates partiel pour l'équité), ordre, et séparateur de sortie (saut de ligne, virgule, espace, tableau JSON, ligne CSV). Des préréglages rapides sont câblés pour les jets de dés, choix de loterie, pourcentages, octets aléatoires et décimaux 0–1.
Pile ou Face
Un vrai lancer de pièce avec une vraie animation 3D. Le résultat est décidé par un bit tiré de crypto.getRandomValues avant que la pièce commence à tourner, donc le lancer est purement cosmétique et le résultat est prouvablement 50 / 50. Personnalisez les étiquettes (utilisez Oui / Non, Rester / Partir, n'importe quel binaire), choisissez une taille de lot par lancer de 1 à 1000, une vitesse d'animation de Lent à Instantané, et regardez les pourcentages pile/face converger. Le journal de session montre votre historique complet avec suivi de la plus longue série — utile pour confirmer de vos propres yeux que les séries de dix lancers ou plus du même côté arrivent bien au taux attendu.
Temps Unix
Convertissez les timestamps Unix (POSIX.1 — secondes depuis 1970-01-01 UTC) en dates lisibles et inversement. Le timestamp en direct en haut est l'heure actuelle de votre appareil (Date.now()); aucun service d'horloge n'est consulté. Choisissez une date dans la deuxième colonne pour voir son timestamp, ou collez un timestamp dans la première colonne pour voir la date en UTC, votre heure locale et une forme humaine relative («il y a 2 heures»). Utile pour lire des fichiers de log, déboguer du code lié au temps, ou simplement comprendre ce que 1714363200 signifie réellement.
Comment tout cela fonctionne
Chaque opération s'exécute localement dans votre navigateur. Hashes, HMAC, génération de nombres aléatoires, encodage base, regex, rendu de polices — tout. Le site ne charge aucun script tiers, aucune analytique, aucun cadre publicitaire. Les seules requêtes réseau après le chargement initial sont pour les assets statiques eux-mêmes (HTML, CSS, JS, polices, icônes), et seulement à la première visite — ensuite un Service Worker les sert hors ligne.
Rien de ce que vous collez, tapez ou déposez n'est envoyé ou stocké en dehors de votre onglet de navigateur. Le seul état persistant est quelques préférences (thème, palette, animation) sauvegardées dans localStorage. Voir la Politique de confidentialité pour la version complète.
Contact
Questions, rapports de bugs ou suggestions d'outils que vous aimeriez voir ajoutés? Contactez-nous à [email protected].