Minifier du CSS
Retirez commentaires et espaces, et raccourcissez les valeurs. Et si le minifieur ne sait pas gérer un élément de votre fichier, il le dit — au lieu de vous rendre discrètement une feuille de style amputée de règles.
- Jamais conservé
- Pas de file d'attente, pas d'attente
- Sans inscription, sans filigrane
Le CSS minifié s'affiche ici.
Comment ça marche
Collez votre CSS
Ou déposez le fichier. Rien n'est conservé.
Lisez le résultat
Vous obtenez la feuille de style minifiée et le gain obtenu — ou l'explication de ce qui n'a pas pu être traité.
Copiez ou téléchargez
Prête à intégrer à votre build.
Où partent vraiment les octets
L'essentiel du gain vient des espaces et des commentaires, qui dans une feuille de style écrite à la main représentent beaucoup — l'indentation, les lignes vides entre les règles et les titres de section qui rendent un gros fichier navigable sont du pur surpoids une fois le fichier servi. Au-delà, les valeurs sont raccourcies d'une manière qui ne peut pas en changer le sens : une couleur écrite #ffffff devient #fff, 0px devient 0 car zéro n'a pas besoin d'unité, le zéro initial de 0.5em disparaît, et margin: 10px 10px 10px 10px se réduit à margin: 10px.
Ce qui n'est délibérément pas fait, c'est la catégorie risquée. Fusionner des règles aux déclarations identiques, ou les réordonner, modifie la cascade — et la cascade est la partie du CSS où deux règles de même spécificité sont départagées par celle qui vient en dernier. Un minifieur qui réordonne agressivement produira un fichier plus léger et, dans une grande feuille de style, une page subtilement différente. Les déclarations en double sont d'ailleurs souvent volontaires, laissées comme solutions de repli pour les anciens navigateurs qui ignorent la seconde.
Les règles imbriquées et la syntaxe moderne des plages de media queries sont refusées plutôt que minifiées, et la raison mérite d'être expliquée, car c'est l'inverse de ce que font la plupart des outils. L'analyseur utilisé ici est antérieur à ces deux fonctionnalités, et quand il rencontre quelque chose qu'il ne comprend pas, il ne signale aucune erreur — il le supprime en silence : un bloc imbriqué disparaît tout simplement du résultat, et la page perd des styles sans que rien ne l'ait signalé. Refuser le fichier est la réponse honnête. Si votre feuille de style utilise l'imbrication native ou @media (400px <= width <= 700px), utilisez l'un des outils ci-dessous.
Comme pour le balisage, jugez le résultat après compression. Les feuilles de style sont servies compressées en gzip ou en brotli, et ces algorithmes gèrent déjà très bien les espaces répétés — si bien qu'un fichier réduit de 30 % par la minification ne diminuera peut-être que de 5 % sur le réseau. Le gain est réel, et plus modeste que le chiffre affiché.
Si vous cherchez autre chose
Lightning CSS est le bon outil pour les feuilles de style modernes : il comprend l'imbrication, les plages de media queries, les fonctions de couleur et tout ce qui a été ajouté ces dernières années, minifie plus fort que n'importe quel outil plus ancien, et transpile au passage la nouvelle syntaxe pour les anciens navigateurs. esbuild --minify style.css est presque aussi bon et extrêmement rapide. Tous deux ont leur place dans une étape de build plutôt que dans un onglet de navigateur.
Le gain de loin le plus important consiste généralement à supprimer les règles que vous n'utilisez pas. Un site construit sur un framework utilitaire ou une bibliothèque de composants livre couramment des feuilles de style dont la majeure partie ne correspond à rien sur la page — et PurgeCSS, ou le build du framework lui-même, les réduira d'un ordre de grandeur. Minifier du CSS inutilisé donne du CSS inutilisé plus léger ; le supprimer est la vraie solution.
Questions fréquentes
Mon CSS est-il conservé quelque part ?
Non, et pour du code source, c'est tout l'intérêt. Rien n'est conservé et aucun serveur ne le voit jamais. Coller du code propriétaire dans un minifieur en ligne qui l'envoie quelque part, c'est le divulguer, quoi que le site affirme sur la conservation des données — et c'est exactement le genre de chose qu'on fait dans l'urgence, sans réfléchir.
Pourquoi mon fichier a-t-il été refusé ?
Parce que le minifier aurait fait perdre des règles. Le minifieur utilisé par cette page date de 2022 et ignore deux choses qui relèvent aujourd'hui du CSS ordinaire. Face à l'imbrication native — une règle écrite à l'intérieur d'une autre, avec ou sans « & » —, il renvoie la règle extérieure et SUPPRIME EN SILENCE la règle imbriquée. Face à une media query moderne avec plage, comme @media (width >= 400px), il renvoie une feuille de style vide. Aucun des deux cas ne produit d'erreur. Nous avons mesuré les deux sur la version exacte que nous utilisons, et jugé que rendre une feuille de style privée de styles est pire que refuser : ces deux cas sont donc détectés et refusés. Les règles sont aussi comptées avant et après, à titre de vérification générale, au cas où un troisième cas existerait sans que personne ne l'ait encore trouvé.
Comment minifier du CSS imbriqué, alors ?
Supprimez d'abord l'imbrication en compilant. Tous les outils de build qui gèrent l'imbrication — Sass, PostCSS, Lightning CSS ou votre bundler — l'aplatissent pendant le build, et le résultat aplati se minifie ici sans difficulté. Si vous écrivez de l'imbrication à la main et la servez telle quelle, vous comptez sur une fonctionnalité prise en charge par les navigateurs actuels, mais que l'écosystème des minifieurs n'a pas encore entièrement rattrapée.
Que fait-il concrètement ?
Il supprime commentaires et espaces, raccourcit les couleurs (#ffffff devient #fff, #ff0000 devient red), retire les unités et points-virgules inutiles, et fusionne ce qui peut l'être sans risque. Il ne supprime pas les règles qu'il juge inutilisées — il faudrait pour cela connaître votre HTML, et une erreur d'appréciation efface des styles dont vous avez besoin.
De combien le fichier va-t-il diminuer ?
Pour du CSS écrit à la main, généralement de 15 à 30 %. Le résultat déjà compilé d'un outil de build est souvent presque minimal et ne bougera guère. La compression gzip de votre serveur fait plus que la minification ; les deux gains se cumulent.
Puis-je minifier ici une feuille de style de production sans risque ?
Oui. Rien n'est conservé, et les deux cas qu'il ne sait pas gérer sont refusés plutôt que cassés en silence : ce qui revient est donc soit correct, soit une explication du refus.
Bon à savoir : Les règles imbriquées et la syntaxe moderne des plages de media queries sont refusées plutôt que minifiées. Le minifieur repose sur un analyseur antérieur à ces deux fonctionnalités qui, au lieu de signaler une erreur, supprime en silence ce qu'il ne comprend pas — un bloc imbriqué disparaît tout simplement du résultat. Refuser le fichier est la réponse honnête tant que cet analyseur n'a pas rattrapé son retard.
Intégrez cet outil à votre site
Gratuit pour tout blog, page de cours ou article d'aide. Collez un seul extrait de code et vos visiteurs pourront l'utiliser directement sur votre page.
Voir aussi : Utilitaires texte
Minifier JavaScript
Compressez du JavaScript, en toute confidentialité
Minifier HTML
Allégez le HTML sans casser la page
Convertisseur de casse
MAJUSCULES, minuscules, Titre, camelCase et les autres
Supprimer les lignes en double
Retirez les doublons, triez et nettoyez une liste
Compteur de mots
Mots, phrases et temps de lecture
Compteur de caractères
Caractères, octets et ce que votre limite compte vraiment