Vai al contenuto
Minify

Compressione fino al 70% con statistiche di byte risparmiati

Minify e beautify per HTML, CSS, JSON, XML. Riduzione tipica del 30-50% sui sorgenti HTML/CSS, fino al 70% sul JSON pretty-printed. Statistiche di compressione inline. Per JavaScript serve un minifier AST-based (Terser, esbuild, swc) integrato nella build pipeline: questo tool si limita ai linguaggi che si possono trattare con regole text-replacement deterministiche.

Come usare il minifier

  1. 1

    Incolla il sorgente

    HTML, CSS, JSON o XML. Per HTML il tool preserva il contenuto di <pre>, <textarea>, <script>, <style> intatto (whitespace significativo).

  2. 2

    Scegli l'azione

    Minify rimuove commenti e collassa whitespace. Beautify riformatta con indentazione consistente. Funzionalità inverse: minify l'output del beautify ti restituisce un sorgente equivalente.

  3. 3

    Verifica le stats

    Lo status bar mostra dimensione input, dimensione output, percentuale di riduzione/aumento. Tipico: HTML -30%, CSS -25%, JSON pretty -> minified -65%.

  4. 4

    Copia o re-elabora

    Copia per uso diretto. Per workflow di build (Webpack, Vite, esbuild), questi minifier sono integrati nei tool: usa il minifier qui solo per script ad-hoc o quick check.

Cosa minifica e cosa lascia stare

Linguaggi coperti. Il minifier elabora HTML, CSS, JSON e XML, cioè linguaggi su cui la riduzione di whitespace e commenti può essere applicata con regole deterministiche di text-replacement. Per JavaScript la riduzione affidabile richiede un parser AST (Terser, esbuild, swc) capace di operare su rinomina variabili, dead code elimination e mangling: trasformazioni semanticamente complesse, fuori scope per un'utility lightweight e correttamente di responsabilità della build pipeline (Webpack, Vite, esbuild).

HTML, le regole di preservazione. Il minifier HTML rispetta i contesti dove whitespace è significativo: dentro <pre>, <textarea>, <script>, <style> il contenuto resta intatto. Alcuni minifier più aggressivi rimuovono newline dentro <pre> spezzando i code samples o rimuovono whitespace dentro <script> spezzando i template literal multi-riga: qui questi errori sono prevenuti.

Privacy operativa. HTML, CSS e JSON di un sito in build possono contenere riferimenti a backend interni, schema database, struttura API, dummy account o secret in commenti. La minificazione avviene direttamente nel browser, evitando di trasferire questi sorgenti a un servizio terzo per un'operazione che è essenzialmente meccanica.

Glossario

Termini tecnici usati in questa pagina, spiegati in due righe.

Minify #
Rimozione di whitespace, commenti, indentazione non significativi per ridurre la dimensione del file. Tipicamente -20-50% bytes per HTML/CSS, -50-70% per JSON pretty-printed.
Beautify #
Operazione inversa: re-indenta e re-spazia un file minificato o mal formattato per renderlo leggibile umano.
Whitespace significativo #
Spazi/newline che hanno effetto sul rendering o sull'esecuzione. Esempi: dentro <pre>, dentro stringhe JS/CSS, in CDATA XML. Il minifier rispetta questi contesti.

Domande frequenti

Perché non c'è il JS minify?
Per ridurre i byte JS in modo affidabile serve un parser AST (Terser, esbuild, swc): trasformazioni come rinomina variabili, dead code elimination e mangling richiedono comprensione semantica del codice. Sono librerie pesanti, normalmente integrate in una build pipeline (Webpack, Vite, esbuild). Per minify ad-hoc da terminale: npx terser file.js -c -m.
Il CSS minifier collassa colors?
Si parzialmente: #aabbcc diventa #abc dove possibile (solo se i tre canali hanno entrambi i nibble uguali). Altri micro-ottimizzazioni (rimozione unità su 0, conversione rgba(0,0,0,1) -> #000) non sono implementate per non rischiare di rompere CSS edge case.
HTML minify rompe il rendering?
Non dovrebbe. Il tool preserva il contenuto di <pre>, <textarea>, <script>, <style>. Edge case: HTML con whitespace significativo nell'inline (es. <span>a</span> <span>b</span>) può diventare <span>a</span><span>b</span> con i due span attaccati. Per layout testuali sensibili al whitespace, usare beautify e rivedere a mano.
Funziona offline?
Si. Bookmark per uso offline.
JSON minify gestisce JSON con commenti (JSONC)?
No, JSON.parse rifiuta commenti. Per JSONC: rimuovi commenti via regex prima di pasteare, oppure usa un parser JSONC dedicato (lib jsonc-parser di Microsoft per esempio).
C'e' un limit di dimensione?
Niente di hardcoded. File HTML/CSS/JSON da 1-2 MB sono comodi. Oltre i 10 MB l'UI può diventare lenta. Per file enormi: html-minifier-terser CLI.
XML beautify gestisce CDATA section?
Tratta <![CDATA[...]]> come elemento da preservare. Verificare il risultato per casi complessi (CDATA con tag interni testuali che il parser potrebbe confondere).

Chi sviluppa questi strumenti?

Maurizio Fonte, consulente IT senior con oltre 20 anni di esperienza in PHP, Laravel, infrastrutture Linux, cybersecurity e integrazione AI/LLM in azienda. Backend di produzione, modernizzazione di codice legacy, audit di sicurezza, agenti AI e MCP server custom: il lavoro che sta dietro a questi strumenti.

Conosci Maurizio Fonte