Tiny Online Tools logoTiny Online ToolssearchRechercher des outils…grid_viewTous les outils
Accueilchevron_rightOutils ingénierie inversechevron_rightObfuscateur JavaScriptObfuscateur JavaScript

Obfuscateur JavaScript

Renomme les variables locales, masque les chaînes de caractères et aplatit le flux de contrôle en JavaScript, entièrement dans votre navigateur, sans rien envoyer.

Niveau d'obfuscationBasiqueMoyenAgressifRenomme les variables prouvées locales et supprime espaces et commentaires.
infoCeci est un frein à la lecture rapide, pas une vraie protection ni du chiffrement, et cela ne protège aucun secret. Tout s'exécute localement dans votre navigateur ; rien n'est envoyé.

Outils similaires

Assistant de Désobfuscation JavaScript

Assistant de Désobfuscation JavaScript

Inverse les schémas courants d'obfuscation JavaScript statique : tableaux de chaînes, échappements, constantes calculées, branches mortes et crochets convertis en points.

Analyseur de Code Mort JavaScript

Analyseur de Code Mort JavaScript

Collez un bundle JS et trouvez les fonctions de premier niveau sans aucune référence statique dans le fichier — une analyse heuristique d'accessibilité, pas une certitude.

Extracteur de Chaînes Binaires

Extracteur de Chaînes Binaires

Extrayez les chaînes imprimables ASCII et UTF-16LE de tout fichier binaire, avec décalages d'octets, longueur minimale réglable et filtrage en direct.

Éditeur de Matériaux 3D

Éditeur de Matériaux 3D

Ouvrez un modèle GLB ou GLTF et modifiez chacun des matériaux PBR qu'il contient — gratuitement, dans votre navigateur, sans rien téléverser.

Inspecteur OpenDocument

Inspecteur OpenDocument

Regardez à l'intérieur des paquets ODT, ODS et ODP : mimetype, manifeste, métadonnées et chaque partie XML, vérifiés selon les règles d'empaquetage OpenDocument.

Convertisseur MP3 en WAV

Convertisseur MP3 en WAV

Convertissez des fichiers audio MP3 en WAV non compressé 16 bits directement dans votre navigateur. Entièrement privé, aucun téléchargement requis.

HTML vers Markdown

HTML vers Markdown

Convertit le balisage HTML en texte Markdown propre et lisible.

apps

Plus d'outils

Parcourez notre collection complète d'outils en ligne gratuits.

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.