ToolDeck

Minificatore CSS

Minifica il CSS rimuovendo spazi bianchi e commenti

Prova un esempio

Input CSS

CSS Minificato

Esegue in locale · Sicuro per incollare segreti
Il CSS minificato apparirà qui…

Cos'è la Minificazione CSS?

La minificazione CSS è il processo di rimozione di tutti i caratteri non necessari da un foglio di stile senza modificarne il comportamento. Significa eliminare spazi bianchi, interruzioni di riga, commenti e sintassi ridondante come i punto e virgola finali e le virgolette non necessarie. Il browser analizza il CSS minificato in modo identico all'originale. Il W3C CSS Syntax Module definisce la grammatica; gli spazi bianchi tra i token sono facoltativi, tranne dove separano identificatori. La minificazione sfrutta questo principio comprimendo tutto fino ai caratteri minimi necessari.

Un minificatore CSS online prende il tuo foglio di stile formattato e produce una versione compatta ottimizzata per la dimensione di trasferimento. Il risparmio tipico va dal 15% al 40% a seconda della quantità di spazi bianchi e commenti presenti nel sorgente. Per un foglio di stile da 50 KB, si traduce in 7–20 KB di byte in meno inviati sulla rete ad ogni caricamento di pagina. Combinata con la compressione gzip o Brotli sul server, la minificazione riduce ulteriormente la dimensione finale del trasferimento, perché l'output compresso di CSS già minificato è più piccolo rispetto alla compressione dell'originale formattato.

La minificazione è una fase standard nelle pipeline di build frontend. Strumenti come cssnano, clean-css ed esbuild eseguono la minificazione come parte del build. Ma durante lo sviluppo spesso hai bisogno di minificare un singolo snippet per testarlo, incorporare un blocco CSS critico inline, o verificare di quanto si riduce un foglio di stile prima di aggiungerlo a una configurazione di bundle. È qui che un minificatore CSS nel browser è utile: incolla il CSS, ottieni l'output minificato, copialo e vai avanti.

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}

Perché Usare Questo Minificatore CSS?

Incolla qualsiasi CSS e ottieni l'output minificato in pochi millisecondi. Nessuna configurazione di build tool, nessun comando CLI, nessun account richiesto.

Minificazione Immediata
L'output si aggiorna mentre digiti o incolli. Vedi il risultato minificato e il risparmio in byte immediatamente, senza attendere un passaggio di build.
🔒
Elaborazione Privacy-first
Tutta la minificazione viene eseguita localmente nel tuo browser tramite JavaScript. Il tuo CSS non lascia mai il tuo dispositivo e non viene mai inviato ad alcun server.
📦
Reportistica Accurata delle Dimensioni
Visualizza la dimensione originale, la dimensione minificata e la riduzione percentuale affiancate. Utile per stimare i guadagni in termini di prestazioni prima di applicare una modifica alla pipeline di build.
📋
Nessun Login Richiesto
Apri la pagina, incolla il tuo CSS, copia il risultato. Nessuna registrazione, nessun limite di utilizzo, nessuna funzionalità a pagamento. Lo strumento completo è disponibile ad ogni visita.

Casi d'Uso del Minificatore CSS

Ottimizzazione delle Prestazioni Frontend
Minifica il CSS critico prima di incorporarlo nell'elemento head del tuo HTML. Un CSS inline più piccolo significa un First Contentful Paint più veloce, soprattutto su connessioni mobile.
Template Email Lato Server
I client email ignorano i fogli di stile esterni e hanno limiti di dimensione rigidi. Minifica il tuo CSS inline per mantenere l'HTML delle email sotto la soglia di troncamento (102 KB per Gmail).
DevOps e Verifica dei Build
Confronta l'output minificato del tuo build tool con questo strumento per verificare che cssnano o clean-css siano configurati correttamente e producano risultati ottimali.
QA e Budget delle Dimensioni
Incolla un foglio di stile vendor per verificarne la dimensione minificata rispetto al tuo budget di prestazioni. Determina se necessita di tree-shaking o sostituzione prima di aggiungerlo al progetto.
Data Engineering e Web Scraping
Quando estrai CSS da pagine acquisite tramite crawling, minificalo per normalizzare le differenze di spazi bianchi tra le sorgenti prima del confronto o dell'archiviazione.
Imparare l'Ottimizzazione CSS
Gli studenti possono incollare CSS e vedere esattamente quali caratteri il minificatore rimuove. Confrontare input e output insegna quali parti della sintassi CSS sono significative per i browser rispetto a quelle puramente estetiche.

Tecniche di Minificazione CSS

Un minificatore CSS applica diverse trasformazioni per ridurre le dimensioni del file. Ognuna prende di mira un tipo diverso di ridondanza nel sorgente. La tabella seguente elenca le principali tecniche e i loro risparmi tipici su un foglio di stile formattato:

TecnicaCosa faRisparmio Tipico
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%

Le percentuali di risparmio variano in base all'input. I file con molti commenti beneficiano maggiormente della rimozione dei commenti, mentre i file già compatti registrano guadagni minori. I vantaggi più affidabili derivano dalla rimozione degli spazi bianchi e dall'ottimizzazione delle shorthand. I minificatori avanzati come cssnano uniscono anche i selettori duplicati, comprimono le proprietà longhand in shorthand (margin-top + margin-right + margin-bottom + margin-left in margin) e rimuovono le dichiarazioni sovrascritte.

Minificazione vs. Compressione Gzip

Minificazione e compressione sono complementari, non intercambiabili. Operano su livelli diversi e si sommano l'una all'altra:

Minificazione CSS (questo strumento)
Opera a livello di sintassi CSS. Rimuove spazi bianchi e commenti, e riscrive i valori shorthand. Viene eseguita una sola volta al momento del build. L'output è CSS valido che i browser analizzano direttamente. Riduzione tipica: 15–40% della dimensione originale del file.
Compressione Gzip / Brotli
Opera a livello di byte usando algoritmi di compressione generici. Applicata dal server web ad ogni risposta (o pre-compressa al momento del deploy). Funziona con qualsiasi tipo di file. Riduzione tipica: 60–80% della dimensione minificata. Usarle entrambe insieme produce la dimensione di trasferimento più piccola.

Esempi di Codice

Come minificare il CSS a livello di codice in diversi linguaggi e ambienti:

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}"

Domande Frequenti

Qual è la differenza tra minificazione CSS e compressione CSS?
La minificazione riscrive il codice sorgente CSS per rimuovere i caratteri non necessari (spazi bianchi, commenti, sintassi ridondante) preservando un comportamento identico. La compressione (gzip, Brotli) codifica i byte del file in un formato binario più compatto a livello di trasporto. La minificazione produce file CSS più piccoli su disco; la compressione riduce i byte inviati tramite HTTP. La buona pratica è applicarle entrambe: prima minifica, poi lascia che il server comprima l'output minificato.
La minificazione del CSS causa problemi?
La minificazione standard preserva il comportamento del CSS. Gli spazi bianchi all'interno dei valori stringa (come le proprietà content) vengono preservati da tutti i principali minificatori. Tuttavia, ottimizzazioni aggressive come l'unione di selettori o il riordinamento delle proprietà possono modificare la specificità o l'ordine di override. Se usi il preset predefinito di cssnano, queste trasformazioni rischiose sono disabilitate. Questo strumento esegue solo minificazione sicura: rimozione degli spazi bianchi, eliminazione dei commenti e ottimizzazione delle shorthand.
Di quanto si riduce il CSS dopo la minificazione?
La riduzione tipica è del 15–40% rispetto alla dimensione originale del file formattato. I file con molti commenti e spazi bianchi generosi si avvicinano all'estremo superiore di tale intervallo. Un CSS già compatto scritto senza commenti potrebbe ridursi solo del 10–15%. Il risparmio esatto dipende dallo stile di codice, dalla densità dei commenti e dal fatto che il sorgente utilizzi proprietà longhand che possono essere compresse in shorthand.
Devo minificare il CSS manualmente o usare un build tool?
Per i build di produzione, usa sempre un build tool (PostCSS con cssnano, esbuild, o il plugin css-minimizer-webpack-plugin di webpack). La minificazione automatizzata viene eseguita ad ogni build e copre tutti i file. Un minificatore nel browser è utile per operazioni occasionali: incorporare inline un snippet CSS critico, verificare la dimensione minificata di un foglio di stile vendor, o minificare un prototipo rapido prima di condividerlo.
Posso minificare SCSS o LESS con questo strumento?
Questo strumento minifica il CSS standard. SCSS e LESS sono linguaggi preprocessore che compilano in CSS. Compila prima il tuo SCSS o LESS in CSS (usando sass o lessc), poi incolla l'output compilato qui. Minificare la sintassi SCSS grezza potrebbe eliminare commenti che controllano il comportamento della compilazione, come i commenti //! preserve o le annotazioni @use.
Il CSS minificato è più difficile da debuggare?
Sì, il CSS minificato è una singola riga senza formattazione, il che lo rende difficile da leggere in DevTools. La soluzione standard sono le source map. Build tool come PostCSS ed esbuild generano file .map che consentono a DevTools del browser di mostrare il sorgente formattato originale mentre il browser carica la versione minificata. Per il debug in produzione senza source map, incolla il CSS minificato in un formattatore CSS per ripristinarne la leggibilità.
Qual è la differenza tra un minificatore CSS e un compressore CSS?
Nell'uso comune, i termini sono intercambiabili. Entrambi si riferiscono alla rimozione dei caratteri non necessari dal CSS per ridurre le dimensioni del file. Alcuni strumenti usano 'compressore' nel loro nome (come csscompressor per Python) ma eseguono una minificazione standard. La parola 'compressione' può anche riferirsi alla codifica gzip/Brotli, che è un processo separato a livello server. Se vedi 'CSS compressor', quasi sempre significa minificazione, non gzip.