Minifier CSS, JS ou HTML
Supprimez commentaires, indentation et espaces inutiles dans vos feuilles de style, scripts et pages, sans rien renommer dans votre code.
Déposez vos fichiers ici
.css, .js, .mjs, .html, .htm, .txt · jusqu’à 20 Mo
Comment minifier
- 1
Déposez vos fichiers source
Ajoutez jusqu’à vingt feuilles de style, scripts ou pages, chacun jusqu’à 20 Mo. Chaque fichier est lu et traité dans cet onglet de navigateur.
- 2
Confirmez le langage
L’extension du fichier décide d’abord, puis le contenu lui-même. Si rien ne tranche, choisissez vous-même CSS, JavaScript ou HTML avant de continuer.
- 3
Téléchargez les fichiers minifiés
Chaque résultat apparaît à côté de l’original sous forme de fichier .min, et un traitement par lot arrive regroupé dans une archive ZIP.
Analyse en jetons, les chaînes restent des chaînes
Chaque fichier est d’abord découpé en vrais jetons avant de supprimer un seul caractère. Cela empêche un marqueur de commentaire à l’intérieur d’une chaîne de couper la ligne trop tôt, une double barre oblique dans une URL d’avaler une règle, ou un début de commentaire avec chevrons dans un script de fermer le bloc avant la fin. Un simple nettoyage des espaces se brise précisément sur ces cas, et il se brise sans avertir.
Les retours à la ligne significatifs sont conservés
En JavaScript, un saut de ligne tient parfois lieu de point-virgule. Un return suivi d’un saut de ligne renvoie undefined, alors qu’un return suivi d’une espace renvoie la valeur, donc remplacer cette coupure change le comportement du code. Les retours de ligne dont le langage dépend restent en place. En HTML, le contenu de pre et textarea est recopié tel quel, et les commentaires conditionnels sont conservés : ce sont des balises, pas des notes.
Ce que l’outil ne fait volontairement pas
Les noms de variables ne sont pas raccourcis et aucun source map n’est produit. Renommer des variables locales exige une analyse de portée complète avec un parseur complet, et la moindre erreur casse un code fonctionnel sans signe extérieur. Les gains ici sont plus modestes que ceux d’une chaîne de build complète, et tout ce qui est retiré peut être reconstruit.
Votre code n’est jamais envoyé sur un serveur
La lecture, l’analyse et la réécriture se font dans cet onglet de navigateur, sans serveur, sans file d’attente et sans copie conservée après fermeture. C’est important pour des fichiers source, qui contiennent souvent des points d’accès internes, des commentaires sur des travaux non publiés et parfois des clés oubliées dans une configuration.
Questions fréquentes
Est-il prudent de minifier du code que je n’ai pas écrit ?
Les transformations effectuées ici ne retirent que ce que le langage ignore déjà : commentaires, indentation et espaces redondants. Rien n’est réécrit, réordonné ou renommé, donc le résultat se comporte comme le code d’origine. Gardez tout de même l’original, car un fichier minifié est fait pour être généré, pas modifié.
Pourquoi mes noms de variables ne sont-ils pas modifiés ?
Raccourcir les noms demande une analyse de portée reposant sur un parseur complet du langage, et une erreur dedans change silencieusement le comportement du code en production. Cette étape n’est pas implémentée et aucun réglage ne prétend le contraire. Le résultat est une réduction sûre mais moins forte que celle obtenue avec un bundler complet, ce qu’il faut avoir en tête avant de comparer les tailles de fichiers.
Est-ce la même chose que l’obfuscation ?
Non. La minification enlève des octets dont le parseur n’a pas besoin, et la logique reste lisible une fois réindentée. L’obfuscation rend le code volontairement difficile à suivre avec des identifiants renommés, de l’encodage de chaînes et des réécritures de flot de contrôle. Ici, rien n’essaie de cacher quoi que ce soit.
Ai-je droit à un source map ?
Aucun source map n’est généré. Faire correspondre les positions minifiées aux lignes d’origine impose de suivre chaque jeton pendant la réécriture, ce qui relève d’un outil de build. Pour le débogage, gardez le fichier non minifié et servez la version minifiée.
Puis-je minifier plusieurs fichiers à la fois ?
Jusqu’à vingt fichiers par lot, avec détection du langage fichier par fichier. Une feuille de style, un script et une page peuvent donc passer ensemble. Un fichier contenant une erreur de syntaxe est signalé par son nom et ignoré, sans annuler les autres.
Que se passe-t-il si un fichier a une erreur de syntaxe ?
Vous obtenez la ligne et la colonne au lieu d’un résultat. Un bloc CSS non fermé ou une déclaration sans valeur arrêtent volontairement ce fichier : produire une feuille de style tronquée qui a l’air correcte jusqu’à la mise en production est pire qu’un message d’erreur.
Pourquoi mon fichier a-t-il à peine rétréci ?
Il était probablement déjà minifié. Quand la sortie approche la taille de l’entrée, il ne reste plus rien à retirer, et l’outil l’indique clairement tout en vous rendant le fichier au lieu de vous bloquer.
Les styles et scripts intégrés dans du HTML sont-ils aussi minifiés ?
Oui. Les blocs style et script d’une page sont minifiés avec les mêmes mécanismes que les fichiers séparés, et les espaces entre balises sont réduits à une seule espace. Un script inline erroné ne fait pas tomber le reste de la page : ce bloc est laissé tel quel.