ToolDeck

Minificateur CSS

Minifiez le CSS en supprimant les espaces et les commentaires

Essayer un exemple

Entrée CSS

CSS Minifié

Fonctionne localement · Sûr pour coller des secrets
Le CSS minifié apparaîtra ici…

Qu'est-ce que la minification CSS ?

La minification CSS est le processus qui consiste à supprimer tous les caractères inutiles d'une feuille de style sans modifier son comportement. Cela inclut la suppression des espaces, des sauts de ligne, des commentaires et de la syntaxe redondante comme les points-virgules en fin de règle et les guillemets superflus. Le navigateur parse le CSS minifié de façon identique à l'original. Le W3C CSS Syntax Module définit la grammaire ; les espaces entre les tokens sont optionnels sauf lorsqu'ils séparent des identifiants. La minification exploite cela en réduisant tout au minimum de caractères requis.

Un minificateur CSS en ligne prend votre feuille de style formatée et produit une version compacte optimisée pour le transfert. Les économies typiques vont de 15 % à 40 % selon la quantité d'espaces et de commentaires dans le source. Pour une feuille de style de 50 Ko, cela représente 7 à 20 Ko d'octets en moins envoyés sur le réseau à chaque chargement de page. Combinée avec la compression gzip ou Brotli côté serveur, la minification réduit davantage la taille finale du transfert, car la sortie compressée d'un CSS déjà minifié est plus petite que la compression de l'original formaté.

La minification est une étape standard des pipelines de build frontend. Des outils comme cssnano, clean-css et esbuild l'exécutent dans le cadre du build. Mais pendant le développement, vous avez souvent besoin de minifier un seul extrait pour le tester, d'intégrer un bloc de CSS critique en ligne, ou de vérifier de combien une feuille de style se réduit avant de l'ajouter à une configuration de bundle. C'est là qu'un minificateur CSS dans le navigateur est utile : collez le CSS, récupérez la sortie minifiée, copiez-la et passez à la suite.

Before · css
After · css
/* Main navigation styles */
.nav {
  display: flex;
  align-items: center;
  padding: 1rem 2rem;
  background-color: #1e293b;
}

/* Links inside nav */
.nav a {
  color: #e2e8f0;
  text-decoration: none;
  margin-right: 1.5rem;
  transition: color 0.2s ease;
}

.nav a:hover {
  color: #818cf8;
}
.nav{display:flex;align-items:center;padding:1rem 2rem;background-color:#1e293b}.nav a{color:#e2e8f0;text-decoration:none;margin-right:1.5rem;transition:color .2s ease}.nav a:hover{color:#818cf8}

Pourquoi utiliser ce minificateur CSS ?

Collez n'importe quel CSS et obtenez une sortie minifiée en quelques millisecondes. Aucune configuration d'outil de build, aucune commande CLI, aucun compte requis.

Minification instantanée
La sortie se met à jour au fur et à mesure que vous tapez ou collez. Vous voyez le résultat minifié et les économies en octets immédiatement, sans attendre une étape de build.
🔒
Traitement axé sur la confidentialité
Toute la minification s'effectue localement dans votre navigateur en JavaScript. Votre CSS ne quitte jamais votre appareil et n'est jamais envoyé à un serveur.
📦
Rapport de taille précis
Consultez la taille originale, la taille minifiée et le pourcentage de réduction côte à côte. Utile pour estimer les gains de performance avant de valider un changement de pipeline de build.
📋
Aucun compte requis
Ouvrez la page, collez votre CSS, copiez le résultat. Pas d'inscription, pas de limites de débit, pas de fonctionnalités verrouillées. L'outil complet est disponible à chaque visite.

Cas d'utilisation du minificateur CSS

Optimisation des performances frontend
Minifiez le CSS critique avant de l'intégrer en ligne dans l'élément head de votre HTML. Un CSS inline plus petit signifie un First Contentful Paint plus rapide, en particulier sur les connexions mobiles.
Gabarits d'e-mail côté backend
Les clients de messagerie ignorent les feuilles de style externes et ont des limites de taille strictes. Minifiez votre CSS inline pour maintenir le HTML de l'e-mail sous le seuil de coupure (102 Ko pour Gmail).
DevOps & vérification de build
Comparez la sortie minifiée de votre outil de build avec cet outil pour vérifier que cssnano ou clean-css est correctement configuré et produit des résultats optimaux.
Gestion du budget de taille QA
Collez une feuille de style tierce pour vérifier sa taille minifiée par rapport à votre budget de performance. Déterminez si elle nécessite du tree-shaking ou un remplacement avant de l'ajouter au projet.
Data engineering & web scraping
Lors de l'extraction de CSS depuis des pages crawlées, minifiez-le pour normaliser les différences d'espaces entre les sources avant la comparaison ou le stockage.
Apprentissage de l'optimisation CSS
Les étudiants peuvent coller du CSS et voir exactement quels caractères le minificateur supprime. Comparer l'entrée et la sortie enseigne quelles parties de la syntaxe CSS sont significatives pour les navigateurs par rapport à celles qui sont purement cosmétiques.

Techniques de minification CSS

Un minificateur CSS applique plusieurs transformations pour réduire la taille du fichier. Chacune cible un type différent de redondance dans le source. Le tableau ci-dessous liste les principales techniques et leurs économies typiques sur une feuille de style formatée :

TechniqueCe qu'elle faitÉconomies typiques
Whitespace removalStrips spaces, tabs, and newlines between tokens15–25%
Comment strippingRemoves /* ... */ block comments5–15%
Zero shortening0px → 0, 0.5 → .51–3%
Shorthand colors#ffffff → #fff, #aabbcc → #abc1–2%
Semicolon removalDrops the last semicolon before }<1%
Quote removalfont-family: "Arial" → font-family: Arial<1%

Les pourcentages d'économies varient selon l'entrée. Les fichiers très commentés bénéficient davantage de la suppression des commentaires, tandis que les fichiers déjà compacts voient des gains plus faibles. Les gains les plus fiables proviennent de la suppression des espaces et de l'optimisation des shorthands. Les minificateurs avancés comme cssnano fusionnent également les sélecteurs en doublon, réduisent les propriétés longhand en shorthands (margin-top + margin-right + margin-bottom + margin-left en margin) et suppriment les déclarations écrasées.

Minification vs. compression gzip

La minification et la compression sont complémentaires, pas interchangeables. Elles opèrent à des couches différentes et se combinent :

Minification CSS (cet outil)
Opère au niveau de la syntaxe CSS. Supprime les espaces, les commentaires et réécrit les valeurs shorthand. S'exécute une fois au moment du build. La sortie est du CSS valide que les navigateurs parsent directement. Réduction typique : 15 à 40 % de la taille du fichier original.
Compression gzip / Brotli
Opère au niveau des octets à l'aide d'algorithmes de compression généralistes. Appliquée par le serveur web à chaque réponse (ou pré-compressée au déploiement). Fonctionne sur tout type de fichier. Réduction typique : 60 à 80 % de la taille minifiée. L'utilisation des deux ensemble produit la plus petite taille de transfert.

Exemples de code

Comment minifier du CSS par programmation dans différents langages et environnements :

JavaScript (cssnano + PostCSS)
import postcss from 'postcss'
import cssnano from 'cssnano'

const input = `
.nav {
  display: flex;
  padding: 0px 1rem;
  color: #ffffff;
  /* TODO: update color */
}
`

const result = await postcss([cssnano]).process(input, { from: undefined })
console.log(result.css)
// → ".nav{display:flex;padding:0 1rem;color:#fff}"
Python (csscompressor)
import csscompressor

css = """
.nav {
  display: flex;
  padding: 0px 1rem;
  color: #ffffff;
  /* navigation styles */
}
"""

minified = csscompressor.compress(css)
print(minified)
# → ".nav{display:flex;padding:0 1rem;color:#fff}"
Go (tdewolff/minify)
package main

import (
	"fmt"
	"github.com/tdewolff/minify/v2"
	"github.com/tdewolff/minify/v2/css"
)

func main() {
	m := minify.New()
	m.AddFunc("text/css", css.Minify)

	input := ".nav { display: flex; padding: 0px 1rem; color: #ffffff; }"
	output, _ := m.String("text/css", input)
	fmt.Println(output)
	// → ".nav{display:flex;padding:0 1rem;color:#fff}"
}
CLI (cssnano / clean-css)
# Using cssnano via PostCSS CLI
npx postcss styles.css --use cssnano -o styles.min.css

# Using clean-css CLI
npx clean-css-cli styles.css -o styles.min.css

# Quick one-liner with Node.js
node -e "const CleanCSS=require('clean-css');console.log(new CleanCSS().minify('body { margin: 0px; }').styles)"
# → "body{margin:0}"

Questions fréquentes

Quelle est la différence entre la minification CSS et la compression CSS ?
La minification réécrit le code source CSS pour supprimer les caractères inutiles (espaces, commentaires, syntaxe redondante) tout en préservant un comportement identique. La compression (gzip, Brotli) encode les octets du fichier dans un format binaire plus compact au niveau de la couche transport. La minification produit des fichiers CSS plus petits sur disque ; la compression réduit les octets envoyés via HTTP. La bonne pratique est d'appliquer les deux : minifier d'abord, puis laisser le serveur compresser la sortie minifiée.
La minification CSS casse-t-elle quelque chose ?
La minification standard préserve le comportement CSS. Les espaces à l'intérieur des valeurs de chaîne (comme les propriétés content) sont préservés par tous les grands minificateurs. Cependant, des optimisations agressives comme la fusion de sélecteurs ou le réordonnancement de propriétés peuvent modifier la spécificité ou l'ordre de cascade. Si vous utilisez le preset par défaut de cssnano, ces transformations risquées sont désactivées. Cet outil effectue uniquement une minification sûre : suppression des espaces, des commentaires et optimisation des shorthands.
De combien le CSS se réduit-il après minification ?
La réduction typique est de 15 à 40 % de la taille du fichier formaté original. Les fichiers bien commentés avec beaucoup d'espaces se situent dans la tranche haute de cette fourchette. Un CSS déjà compact écrit sans commentaires peut ne se réduire que de 10 à 15 %. Les économies exactes dépendent du style de codage, de la densité des commentaires et de l'utilisation de propriétés longhand qui peuvent être réduites en shorthands.
Dois-je minifier le CSS manuellement ou utiliser un outil de build ?
Pour les builds de production, utilisez toujours un outil de build (PostCSS avec cssnano, esbuild, ou le css-minimizer-webpack-plugin de webpack). La minification automatisée s'exécute à chaque build et traite tous les fichiers. Un minificateur dans le navigateur est utile pour les tâches ponctuelles : intégrer un extrait CSS critique en ligne, vérifier la taille minifiée d'une feuille de style tierce, ou minifier un prototype rapide avant de le partager.
Puis-je minifier du SCSS ou du LESS avec cet outil ?
Cet outil minifie du CSS standard. SCSS et LESS sont des langages préprocesseurs qui compilent vers le CSS. Compilez d'abord votre SCSS ou LESS en CSS (avec sass ou lessc), puis collez la sortie compilée ici. Minifier la syntaxe SCSS brute peut supprimer des commentaires qui contrôlent le comportement de compilation, comme les commentaires //! preserve ou les annotations @use.
Le CSS minifié est-il plus difficile à déboguer ?
Oui, le CSS minifié est sur une seule ligne sans formatage, ce qui le rend difficile à lire dans les DevTools. La solution standard est les source maps. Des outils de build comme PostCSS et esbuild génèrent des fichiers .map qui permettent aux DevTools du navigateur d'afficher le source formaté original pendant que le navigateur charge la version minifiée. Pour déboguer en production sans source maps, collez le CSS minifié dans un formateur CSS pour retrouver la lisibilité.
Quelle est la différence entre un minificateur CSS et un compresseur CSS ?
Dans l'usage courant, les termes sont interchangeables. Les deux désignent la suppression des caractères inutiles du CSS pour réduire la taille du fichier. Certains outils utilisent « compresseur » dans leur nom (comme csscompressor pour Python) mais effectuent une minification standard. Le mot « compression » peut également désigner l'encodage gzip/Brotli, qui est un processus distinct au niveau du serveur. Si vous voyez « compresseur CSS », cela signifie presque toujours minification, pas gzip.