Formattatore HTML
Formatta, minimizza e controlla il tuo markup
Questo formattatore HTML sistema il tuo markup come lo legge un browser, così un elemento di lista non chiuso o una cella di tabella mancante viene completato invece che rifiutato. Inoltre corregge l’indentazione, mette gli attributi tra virgolette e chiude i tag lasciati impliciti, poi annota ogni modifica sulla sua riga. Perché tutto il lavoro avviene in questa scheda, niente di ciò che incolli viene inviato e niente viene eseguito.
- GratuitoPrezzo
- Formatta + minimizzaModalità
- Sulla sua rigaControlli
- NessunoCaricamenti
HTML Formatter
Beautify, minify and check HTML in your browser, with every issue on its line
- Elementi
- 0
- Profondità
- 0
- Dimensione
- 0 B
Ready. Paste your HTML, open a file or try the sample.
| Risultato | Controllo | Dettagli |
|---|
Cosa fa un formattatore HTML
Un browser non rifiuta mai una pagina. Di conseguenza, un paragrafo non chiuso, un elemento di lista senza tag di chiusura e una cella di tabella lasciata aperta si visualizzano comunque, perché l’analizzatore riempie in silenzio i vuoti mentre legge. Così il markup dietro un sito attivo è di solito più lasco della sorgente che una persona vorrebbe maneggiare.
Proprio per questo divario esiste questo formattatore HTML. Infatti legge il tuo markup con le stesse regole di un browser: chiude i tag lasciati impliciti, corregge l’indentazione, allinea gli attributi e ti restituisce qualcosa di davvero leggibile.
Oltre al riordino, tiene nota di ogni decisione. Così una fine di lista implicita, un elemento vuoto scritto con una barra di chiusura o un tag spaiato senza partner finiscono ciascuno in una tabella dei controlli, con la riga e la colonna dove si trovano.
Non costruisce alcuna pagina e non esegue alcuno script, quindi un blocco di markup copiato dal sito di un cliente viene letto esattamente come il tuo. Inoltre un blocco <script> o <style> viene trasportato intatto, perché il suo contenuto non è HTML e riformattarlo lo romperebbe.
Niente lascia questa scheda, del resto. Così un template sotto NDA, un componente a metà o una pagina che non pubblicheresti mai sono tutti sicuri da incollare.
Come un formattatore HTML legge il tuo markup
La prima passata trasforma il testo in token. Un tag di apertura, un tag di chiusura, una sequenza di testo, un commento e il doctype sono cose diverse, quindi il lettore decide quale sta guardando un carattere alla volta.
La seconda passata dispone poi quei token in un albero, ed è lì che la forma viene controllata. Il regolamento qui è la specifica di parsing HTML del WHATWG, lo stesso documento che segue ogni browser.
L’ordine spiega gran parte di ciò che dice la tabella dei controlli. Perché alcuni tag possono restare aperti di proposito, un nuovo <li> chiude il precedente e una nuova riga chiude l’ultima cella. Così l’albero che il lettore costruisce è più ordinato del testo che gli hai dato.
Tre tipi di elemento ricevono un trattamento speciale. Prima, un elemento vuoto come <br> o <img> non prende mai un tag di chiusura. Poi, un elemento a testo grezzo come <script>, <style> o <textarea> mantiene il suo contenuto alla lettera. Infine, <pre> mantiene i suoi spazi, perché in quell’unico elemento lo spazio è contenuto.
La distinzione tra maiuscole e minuscole è una scelta, non una regola. Per impostazione predefinita il formattatore lascia i nomi di tag e attributi esattamente come sono, così un <svg> in linea mantiene viewBox e linearGradient scritti come l’SVG richiede. Tuttavia, una sola opzione mette tutto in minuscolo quando vuoi lo stile HTML più semplice.
Perché formattare e minimizzare sono lo stesso lettore
Entrambe le modalità leggono il markup allo stesso modo e costruiscono lo stesso albero. Poi una modalità stampa quell’albero su molte righe indentate, e l’altra lo stampa togliendo gli spazi tra i tag.

Così la differenza sta solo nell’ultimo passo. Perché la minimizzazione comprime le sequenze di spazi invece di cancellarle, uno spazio tra due tag in linea viene mantenuto, perché toglierlo incollerebbe due parole sulla pagina.
Quel lettore condiviso è il motivo per cui i controlli sono gli stessi in entrambe le modalità. Infatti un tag di chiusura mancante viene inserito sia che tu stia formattando sia che tu stia minimizzando, e la nota compare in ogni caso.
Quindi formatta quando vuoi leggere o modificare il markup, e minimizza quando vuoi pubblicarlo. Per una pagina che stai per servire, il minificatore HTML dedicato fa la stessa compressione con qualche opzione in più.
I controlli che esegue, e cosa significa ogni nota
La prima nota è un tag di chiusura implicito. Un <li>, un <p> o una riga di tabella può chiudersi da solo, quindi il formattatore inserisce il tag di chiusura e ti dice dove, così l’albero è esplicito anche quando la tua sorgente non lo era.

La seconda è un elemento vuoto scritto con un tag di chiusura. Un </br> o un tag di chiusura su un <img> non significa niente, quindi il lettore lo toglie e annota il punto invece di lasciare una coppia confusa.
La terza è un tag di chiusura senza partner. Quando un tag di chiusura non corrisponde a niente nello stack, il lettore non può accoppiarlo, quindi segnala la riga invece di indovinare quale tag aperto intendevi.
La quarta è un elemento che non si chiude mai. Se un <div> o uno <span> arriva alla fine del file ancora aperto, la nota nomina il tag che l’ha aperto, perché è quello che devi trovare.
La quinta è un attributo duplicato. Due valori class su un tag significano che un browser tiene il primo e ignora il secondo, quindi il lettore indica la coppia prima che cambi in silenzio il tuo stile.
La sesta ferma tutto, ed è l’unica a farlo. Un commento, un doctype o un blocco <script> senza fine corre oltre il bordo del file, quindi il lettore non può finire e niente viene stampato finché non lo chiudi.
Cosa non farà questo formattatore HTML
Non renderizzerà la tua pagina. Niente qui carica un’immagine, esegue uno script o applica un foglio di stile, quindi il markup non può agire sulla scheda mentre lo leggi.

Non convaliderà del tutto il markup. Un formattatore controlla la forma, non il regolamento, quindi un <div> annidato dentro uno <span> o un livello di titolo saltato da due a quattro esce ben indentato e comunque sbagliato. Infatti ordinato non è lo stesso che valido.
Non sistemerà il tuo codice al posto tuo oltre alla forma. Un tag di chiusura indovinato viene inserito e annotato, perché è ciò che richiede la lettura dell’albero; tuttavia, il formattatore non riscrive mai i tuoi attributi né riordina il tuo contenuto.
Non toccherà ciò che non è HTML. Il contenuto di un <script>, di un <style> o di un <pre> viene copiato esattamente, quindi passalo attraverso il validatore JavaScript o il validatore CSS quando vuoi controllare anche quelli.
Come usare il formattatore HTML
Quattro passi, e nessuno di essi richiede un account.
- 1
Incolla o trascina il markup
Incolla quindi una pagina intera o un solo componente, oppure trascina un file sulla casella. Perché il lettore lavora sul testo, un frammento va bene e anche un documento completo va bene.
- 2
Scegli l’indentazione, o minimizza
Scegli poi due spazi, quattro spazi o tabulazioni per formattare, oppure una sola riga per minimizzare. Poiché lo stesso lettore guida entrambe, puoi passare dall’una all’altra senza incollare di nuovo.
- 3
Leggi i controlli
Scorri poi la tabella sotto il risultato. Perché ogni riga porta una riga e una colonna, un tag di chiusura implicito o una chiusura vuota tolta è a un clic invece che a una caccia.
- 4
Copia, scarica o prosegui
Infine, copia il risultato, scaricalo come file, oppure salta al primo problema e correggilo. Dopo di che, il markup è pronto per il tuo editor o per la pagina.
Perché usare questo formattatore HTML
Cinque motivi, e ognuno fa risparmiare qualche minuto di occhi strizzati.
Ti dà sempre un risultato
Perché l’HTML è permissivo per sua natura, il lettore sistema un markup imperfetto invece di rifiutarlo. Così ottieni un output ordinato e un elenco di note, non un errore e un pannello vuoto.
Mostra la riga e la colonna
Ogni nota porta entrambe, e un pulsante salta dritto al punto. Di conseguenza un lungo template è una lettura breve invece di una ricerca.
Mantiene i tuoi blocchi script e style
Perché il contenuto di un elemento a testo grezzo non è HTML, il formattatore lo ricopia intatto. Così una pagina esce ordinata senza che il suo JavaScript venga rovinato.
Niente viene caricato
Tutto il lavoro avviene in questa scheda del browser. Così una pagina da un repository privato o da una build di un cliente è sicura da incollare e leggere qui.
Formatta e minimizza in un unico posto
Un solo lettore guida entrambe le modalità, quindi formatti mentre lavori e minimizzi quando pubblichi, senza un secondo strumento o un secondo incolla.
Abitudini che tengono il markup ordinato
Sei abitudini che tengono una pagina facile da leggere e veloce da formattare.
- Chiudi un tag mentre lo apri Così il partner è già lì quando riempi il centro. È una piccola abitudine, eppure toglie quasi ogni nota di elemento non chiuso prima che accada.
- Metti tra virgolette ogni valore di attributo Un valore senza virgolette funziona finché non incontra uno spazio o una barra, e poi inghiotte ciò che segue. Perché le virgolette chiudono le congetture, il formattatore non deve mai aggiungerle per te.
- Indenta per annidamento, non a occhio Un tag figlio sta un livello dentro rispetto al suo genitore, sempre. Di conseguenza un formattatore può confermare la forma che intendevi, invece di ereditare qualunque spaziatura si sia insinuata.
- Tieni un elemento di blocco per riga I tag in linea possono condividere una riga, ma una section, una lista o una tabella si leggono meglio impilate. Così l’albero sulla pagina corrisponde all’albero nella tua testa.
- Convalida prima di minimizzare Un minificatore si fida del suo input, quindi un tag lasciato aperto esce aperto e più difficile da notare. Perciò formatta prima, leggi i controlli, e solo allora riduci il file.
- Lascia i blocchi grezzi ai loro strumenti Uno script o un foglio di stile dentro la pagina non è HTML. Così controllali con un validatore costruito per loro invece di aspettarti che un formattatore li legga.
Sei modi in cui il markup inganna le persone
Nessuno di questi ferma un browser, ed è proprio per questo che è facile pubblicarli per sbaglio.
Un elemento di lista senza tag di chiusura
Attenzione qui. Un
<li>si chiude da solo quando si apre il successivo, quindi la pagina sembra giusta e la sorgente nasconde quanto è profondo davvero l’annidamento.Un elemento vuoto con un tag di chiusura
Un
</br>o un<img>chiuso non significa niente per un browser, quindi viene tolto in silenzio. Perché niente si rompe, il tag spaiato sopravvive revisione dopo revisione.Due attributi con lo stesso nome
Un browser tiene il primo
classe ignora il secondo. Perciò uno stile che non si applica è spesso un attributo duplicato invece di un selettore sbagliato.Un elemento di blocco dentro uno in linea
Un
<div>dentro uno<span>si visualizza, tuttavia non è valido e confonde il layout. Così il markup può essere indentato alla perfezione e comunque sbagliato.Un commento mai chiuso
Un commento senza marcatore di fine inghiotte il resto del file. Così tutto ciò che lo segue sparisce dalla pagina, e questo è l’unico caso in cui il formattatore non stampa niente.
Una virgoletta persa dentro un attributo
Una virgoletta di chiusura mancante lascia il valore sconfinare nell’attributo successivo. Perché il tag si legge allora come un unico lungo valore, l’errore compare lontano da dove l’hai fatto.
Domande sul formattatore HTML
Questo formattatore HTML è gratuito?
Sì. Non c’è account, né limite, né livello a pagamento. Così formatti quante pagine vuoi.
Carica il mio markup?
No. Tutto il lavoro avviene in questa scheda del browser, e niente viene inviato da nessuna parte. Così una pagina coperta da una clausola di riservatezza resta dov’è.
Qual è la differenza tra formattare e minimizzare?
Entrambe leggono il markup allo stesso modo. La formattazione stampa l’albero su righe indentate perché tu possa leggerlo; la minimizzazione, invece, lo stampa senza gli spazi così pesa di meno.
Mantiene gli spazi tra i miei tag in linea quando minimizza?
Sì. La minimizzazione comprime le sequenze di spazi invece di cancellarle, perché uno spazio tra due elementi in linea è visibile sulla pagina e toglierlo unirebbe due parole.
Tocca i miei blocchi script e style?
No. Il contenuto di un elemento script, style o pre viene copiato esattamente, perché non è HTML e riformattarlo lo romperebbe.
Perché ha aggiunto tag di chiusura che non ho mai scritto?
Perché alcuni tag, come un elemento di lista o una riga di tabella, possono restare aperti di proposito. Il lettore inserisce il tag di chiusura implicito e lo segnala, così l’albero diventa esplicito.
Perché ha tolto un tag di chiusura dalla mia immagine?
Un elemento vuoto come un’immagine o un’interruzione di riga non prende mai un tag di chiusura. Perciò un tag di chiusura su uno di essi non significa niente, quindi il lettore lo toglie e nomina la riga.
Convalida il mio HTML?
No. Controlla la forma, non l’intero regolamento, quindi una pagina può uscire ordinata e restare comunque non valida. Infatti ordinato e valido sono due domande diverse.
Può formattare un documento intero, non solo un frammento?
Sì. Una pagina completa con un doctype, un head e un body si formatta, e così fa anche un singolo componente. Inoltre, i numeri di riga si riferiscono a ciò che hai incollato.
Mantiene il maiuscolo e minuscolo dei miei attributi SVG?
Sì, per impostazione predefinita. Un SVG in linea mantiene viewBox e linearGradient esattamente, perché l’SVG distingue tra maiuscole e minuscole dove l’HTML non lo fa. Invece, un’opzione mette tutto in minuscolo se lo preferisci.
Si rifiuterà mai di formattare?
Quasi mai. Solo un commento, un doctype o un blocco script senza fine ferma il lettore, perché non riesce a trovare dove quel blocco doveva chiudersi.
Funziona su file Vue, Svelte o template?
Perlopiù. Gli attributi dei framework come un valore collegato o una direttiva sopravvivono, perché il lettore è tollerante sui nomi degli attributi. Tuttavia, una sintassi di template pesante viene letta come testo.
Posso mettere in minuscolo i nomi dei tag e degli attributi?
Sì. Un’opzione riduce ogni nome di tag e attributo in minuscolo, che è lo stile HTML comune, lasciando intatti il tuo testo e i tuoi valori. In questo modo niente cambia nel contenuto.
Come salto a un problema?
Ogni nota porta una riga e una colonna, e un pulsante fa scorrere l’ingresso fino al primo. Così arrivi sul carattere invece che sull’area.
Posso mandare a capo lunghi elenchi di attributi?
Sì. Un’opzione spezza un tag con molti attributi su più righe quando la riga diventa troppo lunga, il che mantiene leggibile un componente largo. In questo modo niente sborda.
Minimizzare qui è lo stesso della pagina del minificatore HTML?
Il risultato è la stessa compressione. Il minificatore HTML dedicato aggiunge qualche opzione per una pagina che stai per servire, quindi rivolgiti a lui quando pubblichi.
Conta qualcosa?
Sì. Riporta il numero di elementi, l’annidamento più profondo e la dimensione in uscita, il che aiuta quando controlli se un incolla ha perso qualcosa. Infatti un numero che cambia salta all’occhio.
Serve un account o un’estensione?
No. Non c’è registrazione, né plugin, né estensione. Così chiudi la scheda una volta che il markup è ordinato.
Funziona su un telefono?
Sì. I pannelli si impilano e le note vanno a capo, così una formattazione veloce funziona su un telefono; tuttavia, un file lungo è più facile con una tastiera.
E la mia privacy?
Tutto avviene nel browser, quindi nessun markup viene salvato o inviato. Inoltre, puoi verificare il comportamento da solo aprendo la pagina con la scheda di rete aperta.
Strumenti che vanno con questo
Quattro pagine a cui questo stesso lavoro porta spesso.
Una volta che la pagina è ordinata, riducila per la produzione. Infatti un browser scarica ogni byte, quindi minimizza il markup che stai per servire.
Apri lo strumento →Codificatore e decodificatore di entità HTML
Un formattatore lascia stare il tuo testo, quindi trasforma qui una parentesi angolare vagante in un’entità quando devi mostrare il markup invece di renderizzarlo.
Apri lo strumento →Il cugino più severo, dove un tag di chiusura mancante è un errore invece di qualcosa da completare. Così formatta un feed o un file di configurazione con il lettore giusto.
Apri lo strumento →Una volta che il markup si legge bene, coloralo per un articolo o una slide. Perché i colori seguono i token, una pagina ordinata si evidenzia in modo pulito.
Apri lo strumento →
Sistema il markup, poi pubblicalo
Incolla la pagina, scegli un’indentazione o la minimizzazione, poi leggi le note sotto il risultato. Niente viene eseguito e niente viene inviato. Inoltre, la maggior parte dei file si formatta prima che bolla l’acqua, perché la tabella dei controlli nomina ogni tag che il lettore ha dovuto chiudere per te.