Minifier du JavaScript supprime commentaires, indentation et sauts de ligne sans modifier le comportement du code : les fichiers s’allègent et les pages se chargent plus vite. Embellir fait l’inverse : le code tassé sur une ligne est réindenté pour lire un script tiers ou le déboguer. Cet outil réunit les deux sur une même page, avec un obfuscateur simple. Collez votre code et la taille d’origine, la taille obtenue et le taux de compression s’affichent aussitôt.
Soyons transparents : l’outil s’appuie sur des expressions régulières légères au lieu d’analyser le code en arbre syntaxique comme Terser ou esbuild. La minification retire les commentaires /* */ et //, fusionne les espaces et supprime ceux autour des opérateurs. C’est pratique pour de petits scripts, des bookmarklets ou des extraits à intégrer, mais certains cas peuvent casser : une chaîne contenant « // », comme l’URL "https://...", est prise pour un commentaire ; un code qui compte sur l’insertion automatique des points-virgules peut échouer une fois les lignes fusionnées ; les littéraux regex et les gabarits de chaîne peuvent aussi être touchés. Conservez l’original et testez le résultat avant de le déployer.
L’obfuscation encode le code en Base64 et l’enveloppe dans eval ; un JSON est enveloppé dans JSON.parse. Le code n’est plus lisible d’un coup d’œil, mais il est seulement masqué, pas protégé : n’importe qui le décode en quelques secondes, le fichier grossit d’environ un tiers et un code utilisant eval peut être bloqué par la politique de sécurité du contenu (CSP) du site. Ne placez jamais de clés d’API ou de mots de passe dans le front-end en comptant sur l’obfuscation.
Pour un projet en production, minifiez automatiquement lors du build avec Vite, esbuild ou Terser, qui raccourcissent les noms de variables en toute sécurité et éliminent le code mort. Cet outil est idéal pour des extraits ponctuels, pour voir jusqu’où un code peut maigrir ou pour déplier un code minifié afin de le lire. Tout s’exécute dans votre navigateur et le code n’est jamais envoyé.