Ce que fait cet outil
Cet obfuscateur analyse votre code avec acorn, construit un arbre syntaxique, applique quelques transformations structurelles et régénère du JavaScript avec astring, le tout dans votre navigateur. Rien de ce que vous collez n'est envoyé vers un serveur.
Il faut être clair sur ce que signifie « obfusquer » ici : c'est un frein à la lecture rapide, pas du chiffrement ni une vraie protection. Quiconque est prêt à exécuter votre code et à l'examiner (ou simplement à le lire plus attentivement) peut toujours en retrouver le comportement. Du JavaScript livré à un navigateur peut toujours être téléchargé et exécuté par celui qui le reçoit ; aucune transformation ne change cela. Utilisez cet outil pour compliquer le copier-coller occasionnel, pas pour protéger des secrets. Ne mettez jamais de vraies clés d'API ou identifiants dans du JavaScript côté client, obfusqué ou non.
Les trois niveaux
Basique renomme tout identifiant que l'outil peut prouver être lié localement — paramètres de fonction et déclarations var/let/const à l'intérieur d'une fonction — grâce à une véritable analyse lexicale, pas une supposition. Tout ce qui se résout vers une variable globale ou externe reste tel quel, volontairement : le renommer casserait votre code. Les espaces et commentaires sont aussi supprimés lors de la régénération du code.
Moyen fait tout ce que fait Basique, plus il rassemble chaque chaîne de caractères utilisée comme expression dans un seul tableau en tête de fichier, remplaçant chaque occurrence par un appel du type _fn(3) qui retrouve la chaîne par index.
Agressif fait tout ce que fait Moyen, plus il écrit chaque chaîne de ce tableau avec des séquences d'échappement \x/\u au lieu de caractères normaux, et réécrit les suites de trois instructions linéaires ou plus en une boucle dispatcher while(1) { switch(_i) { ... } }, de sorte que la structure ne se lit plus de haut en bas.
La correction avant tout
Chaque niveau est conçu pour produire un code qui s'exécute exactement comme celui que vous avez collé. Lorsqu'une construction ne peut pas être prouvée sûre — motifs de déstructuration, eval, with — l'outil évite de la renommer plutôt que de risquer de casser votre programme. Si votre code utilise eval ou with, un avis indique que le renommage a été entièrement ignoré pour cette raison.
Comment lire les chiffres de taille
Les indicateurs affichent le nombre exact d'octets en entrée et en sortie ainsi que le changement en pourcentage. Renommer et extraire les chaînes augmente généralement un peu la taille, même si le code devient plus difficile à parcourir : obfusquer et minifier sont deux objectifs différents.
Utilisations courantes
- Rendre un petit script moins trivial à parcourir avant de partager une démo.
- Apprendre le fonctionnement des obfuscateurs en comparant l'entrée et la sortie.
- Ajouter un frein léger à un script dont la logique n'est pas sensible.
Collez votre JavaScript, choisissez un niveau, puis copiez ou téléchargez le résultat.
Tiny Online Tools







