100 % locale — i tuoi dati non lasciano mai il tuo browser

Minificatore HTML — pagina più leggera, stesso resa

Togli gli spazi da un HTML. I valori degli attributi e gli spazi tra elementi inline restano: la pagina dimagrisce e si vede uguale.

Istantaneo Privato Zero cookie

Input HTML

Output HTML

Che cosa fa questo strumento

HTML leggibile diventa il più piccolo HTML che viene reso allo stesso modo.

<div>
  <p>  Ciao  </p>
</div>
<div><p> Ciao </p></div>

Le sequenze di spazi diventano uno spazio, gli spazi tra elementi di blocco se ne vanno, e i commenti se ne vanno — tranne quelli condizionali, che sono istruzioni a un vecchio browser più che note a un lettore.

Lo spazio tra due elementi in linea è contenuto

<span>a</span> <span>b</span>
<span>a</span> <span>b</span>

Lì non c’è nulla da togliere: quello spazio viene reso, e cancellarlo trasforma «a b» in «ab». Veniva cancellato, il che rendeva la pagina diversa invece che più piccola — un difetto vero, trovato scrivendo questa pagina e corretto. Attorno a un elemento di blocco lo stesso spazio non rende nulla, quindi se ne va:

<div>a</div>   <div>b</div>
<div>a</div><div>b</div>

Il valore di un attributo non è impaginazione

<input value="a  b">
<input value="a  b">

I due spazi restano. Venivano schiacciati in uno perché il passaggio sugli spazi attraversava gli attributi — e il valore che un modulo invia, il testo di un title, il contenuto di un alt sono dati, non indentazione. I valori tra virgolette vengono messi da parte prima e rimessi intatti.

Dove non entra mai

  • <pre> e <textarea>. Mostrati o inviati esattamente come sono scritti.
  • <script> e <style>. Il loro contenuto è JavaScript e CSS; i minificatori per quelli sono strumenti a parte su questo sito, e lanciarli è una tua decisione, non un effetto collaterale di questo.
  • I commenti condizionali. <!--[if IE]>…<![endif]--> viene letto da un browser, quindi resta.

Un limite che conviene conoscere: una regione protetta finisce al suo tag di chiusura, trovato per modello. Un </script> letterale dentro una stringa JavaScript la chiude quindi troppo presto. Trattare bene quel caso richiede un analizzatore HTML completo, che è uno strumento diverso da un minificatore di spazi.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Cambia l’aspetto della mia pagina?
No, e valeva la pena correggerlo. Lo spazio tra due elementi in linea viene reso: `<span>a</span> <span>b</span>` si legge «a b», e toglierlo dava «ab». Ora resta quando entrambi i lati sono in linea, e se ne va attorno agli elementi di blocco, dove non rende nulla. Più piccolo, non diverso.
I valori dei miei attributi vengono toccati?
Non più. La compressione degli spazi ci passava attraverso: `<input value="a b">` tornava con un solo spazio — e il valore che un modulo invia non è una questione di impaginazione. `title`, `alt`, `data-*` e gli altri avevano lo stesso problema. I valori tra virgolette vengono ora messi da parte prima della compressione e rimessi esattamente com’erano.
Che cosa viene lasciato del tutto in pace?
`<pre>` e `<textarea>`, i cui spazi vengono mostrati o inviati come scritti; `<script>` e `<style>`, il cui contenuto non è HTML; e i commenti condizionali (`<!--[if IE]>`), che sono istruzioni e non note. I commenti ordinari vengono tolti. Un limite noto: un `</script>` letterale dentro una stringa JavaScript chiude troppo presto la regione protetta — riconoscerlo davvero richiede un analizzatore HTML completo.
` letterale dentro una stringa JavaScript chiude troppo presto la regione protetta — riconoscerlo davvero richiede un analizzatore HTML completo."}}]}

Convertitori correlati