En quoi consiste cet outil ?
Un minificateur JavaScript réécrit le code pour qu'il soit aussi petit que possible tout en se comportant à l'identique : il raccourcit les noms de variables et fonctions quand c'est sûr, supprime commentaires et espaces, replie les constantes et élimine le code inaccessible.
Cet outil repose sur Terser, le minificateur basé sur l'AST utilisé par webpack, Vite, Rollup et la plupart des outils de build JavaScript modernes. Comme il analyse réellement votre code plutôt que de faire du filtrage par motif, il distingue correctement un opérateur de division d'une expression régulière, ne casse pas les template strings contenant des séquences ressemblant à //, et ne renomme pas une variable avec un nom entrant en collision avec quelque chose dans une portée englobante.
Pourquoi l'utiliser ?
- Minification basée sur l'AST (Terser), le même moteur utilisé par les principaux bundlers — fiable avec les expressions régulières, template strings et closures.
- Raccourcit les noms de variables pour un vrai gain de taille, pas juste la suppression des espaces.
- Affiche exactement combien d'octets et quel pourcentage vous avez économisés.
- Le mode Formater reconvertit du JS minifié et obscurci sur une seule ligne en code lisible et indenté — utile pour comprendre des scripts tiers.
- Traitement 100% local — le code propriétaire ne quitte jamais votre navigateur.
Mode d'emploi
- Collez votre JavaScript dans le champ de saisie, ou cliquez sur "Charger un exemple" pour tester un échantillon avec une expression régulière et un template string.
- Cliquez sur "Minifier" pour le compresser, ou sur "Formater" pour l'embellir avec une indentation de 2 espaces.
- Vérifiez le message sous les champs — le mode minifier affiche la réduction de taille ; une erreur de syntaxe dans votre code affiche un message clair au lieu de produire silencieusement un résultat cassé.
- Cliquez sur "Copier" pour récupérer le résultat.
Exemple
Entrée
function greet(name) {
const pattern = /^[a-z]+$/i;
const msg = `Hello, ${name}!`;
if (pattern.test(name)) {
// simple check
return msg;
}
return "Hi there";
}Résultat
function greet(n){const e=/^[a-z]+$/i,g=`Hello, ${n}!`;return e.test(n)?g:"Hi there"}Les noms de variables sont raccourcis, le commentaire et le if sont réduits à une expression, mais l'expression régulière et le template string sont préservés exactement et le comportement reste inchangé.
Conseils pratiques
- Minifiez au moment du build, pas en modifiant à la main — gardez la source lisible dans le contrôle de version et générez le bundle minifié comme une étape de build.
- Si le résultat minifié se comporte de façon inattendue, vérifiez s'il y a du code dépendant de Function.prototype.name ou de réflexion — le raccourcissement des noms renomme les fonctions, ce qui peut apparaître dans de rares cas limites.
- Formater un script tiers avant de le lire est bien plus rapide que d'essayer d'analyser une seule ligne de 2000 caractères.
- Combinez avec les minificateurs HTML et CSS ci-dessous si vous préparez un bundle statique complet pour le déploiement.
Sa place dans de vrais flux de travail
Le JavaScript est généralement la plus grande ressource bloquant le rendu ou l'analyse sur une page, donc le minifier a un effet réel et mesurable sur le temps de chargement — plus que le HTML ou le CSS octet pour octet. La plupart des frameworks modernes le font automatiquement au moment du build, mais les scripts écrits à la main, extensions de navigateur et bookmarklets sont souvent publiés non minifiés à moins que quelqu'un ne les passe dans un outil comme celui-ci.
Le mode Formater est couramment utilisé dans l'autre sens : déboguer une erreur de production à partir d'une stack trace minifiée est bien plus facile une fois le code environnant reformaté et lisible, même sans les noms de variables d'origine.
Cas d'usage courants
- Réduire un script autonome ou un bookmarklet avant de le publier.
- Reformater un script minifié récupéré sur un site en ligne pour comprendre ce qu'il fait.
- Nettoyer du JavaScript collé depuis un forum ou un extrait généré par IA avant de le lire attentivement.
- Vérifier rapidement si un extrait JS écrit à la main contient une erreur de syntaxe, une erreur d'analyse apparaissant clairement.
Foire aux questions
Mon JavaScript est-il envoyé quelque part ?
Non. La minification et le formatage se font localement dans votre navigateur avec JavaScript. Rien de ce que vous collez n'est envoyé à un serveur, ce qui rend l'outil sûr pour du code propriétaire ou non publié.
Le JavaScript minifié est-il sûr à déployer — peut-il casser mon code ?
Il repose sur Terser, un minificateur basé sur l'AST auquel font confiance webpack, Vite et Rollup pour les builds de production, il analyse donc correctement le JavaScript plutôt que de deviner à partir du texte. Cela dit, tout minificateur peut occasionnellement mal interagir avec du code dépendant de function.name, eval() ou de globales non standard — testez votre bundle après minification, comme vous le feriez avec n'importe quel outil de build.
La minification obscurcit-elle mon code ?
Elle raccourcit les noms de variables et supprime la structure, ce qui rend le code plus difficile à lire, mais ce n'est pas une véritable obfuscation ou protection — n'importe qui peut le passer dans un formateur (comme le bouton Formater ici) et lire la logique. Ne comptez pas sur la minification pour cacher des secrets ou de la logique métier.
De combien le JavaScript rétrécit-il généralement ?
Un code écrit à la main avec des noms de variables longs, des commentaires et des espaces rétrécit souvent de 50 à 70 % grâce à la minification et au raccourcissement des noms. Un code déjà produit par un bundler économisera moins.
Puis-je lire le JavaScript minifié d'un site que j'inspecte ?
Oui — collez-le et cliquez sur "Formater" pour le réindenter. Les noms de variables resteront courts et sans signification puisque la minification a déjà supprimé les originaux, mais la structure devient lisible.