Codificatore / decodificatore di entità HTML — Escape e unescape dell'HTML
Esegui l'escape del testo per l'HTML con entità nominali o numeriche, decodifica i riferimenti come & in caratteri e cerca in una tabella di riferimento delle entità.
<p class="note">Fish & chips — £4.50 at Café "Ōshima" 🐟</p>
Riferimento delle entità HTML
| Car. | Con nome | Decimale | Esadecimale | |
|---|---|---|---|---|
| " | " | " | " | |
| & | & | & | & | |
| ' | ' | ' | ' | |
| < | < | < | < | |
| > | > | > | > | |
| · | |   |   | |
| ¡ | ¡ | ¡ | ¡ | |
| ¢ | ¢ | ¢ | ¢ | |
| £ | £ | £ | £ | |
| ¤ | ¤ | ¤ | ¤ | |
| ¥ | ¥ | ¥ | ¥ | |
| ¦ | ¦ | ¦ | ¦ | |
| § | § | § | § | |
| ¨ | ¨ | ¨ | ¨ | |
| © | © | © | © | |
| ª | ª | ª | ª | |
| « | « | « | « | |
| ¬ | ¬ | ¬ | ¬ | |
| · | ­ | ­ | ­ | |
| ® | ® | ® | ® | |
| ¯ | ¯ | ¯ | ¯ | |
| ° | ° | ° | ° | |
| ± | ± | ± | ± | |
| ² | ² | ² | ² | |
| ³ | ³ | ³ | ³ | |
| ´ | ´ | ´ | ´ | |
| µ | µ | µ | µ | |
| ¶ | ¶ | ¶ | ¶ | |
| · | · | · | · | |
| ¸ | ¸ | ¸ | ¸ | |
| ¹ | ¹ | ¹ | ¹ | |
| º | º | º | º | |
| » | » | » | » | |
| ¼ | ¼ | ¼ | ¼ | |
| ½ | ½ | ½ | ½ | |
| ¾ | ¾ | ¾ | ¾ | |
| ¿ | ¿ | ¿ | ¿ | |
| À | À | À | À | |
| Á | Á | Á | Á | |
| Â | Â | Â | Â | |
| Ã | Ã | Ã | Ã | |
| Ä | Ä | Ä | Ä | |
| Å | Å | Å | Å | |
| Æ | Æ | Æ | Æ | |
| Ç | Ç | Ç | Ç | |
| È | È | È | È | |
| É | É | É | É | |
| Ê | Ê | Ê | Ê | |
| Ë | Ë | Ë | Ë | |
| Ì | Ì | Ì | Ì | |
| Í | Í | Í | Í | |
| Î | Î | Î | Î | |
| Ï | Ï | Ï | Ï | |
| Ð | Ð | Ð | Ð | |
| Ñ | Ñ | Ñ | Ñ | |
| Ò | Ò | Ò | Ò | |
| Ó | Ó | Ó | Ó | |
| Ô | Ô | Ô | Ô | |
| Õ | Õ | Õ | Õ | |
| Ö | Ö | Ö | Ö | |
| × | × | × | × | |
| Ø | Ø | Ø | Ø | |
| Ù | Ù | Ù | Ù | |
| Ú | Ú | Ú | Ú | |
| Û | Û | Û | Û | |
| Ü | Ü | Ü | Ü | |
| Ý | Ý | Ý | Ý | |
| Þ | Þ | Þ | Þ | |
| ß | ß | ß | ß | |
| à | à | à | à | |
| á | á | á | á | |
| â | â | â | â | |
| ã | ã | ã | ã | |
| ä | ä | ä | ä | |
| å | å | å | å | |
| æ | æ | æ | æ | |
| ç | ç | ç | ç | |
| è | è | è | è | |
| é | é | é | é | |
| ê | ê | ê | ê | |
| ë | ë | ë | ë | |
| ì | ì | ì | ì | |
| í | í | í | í | |
| î | î | î | î | |
| ï | ï | ï | ï | |
| ð | ð | ð | ð | |
| ñ | ñ | ñ | ñ | |
| ò | ò | ò | ò | |
| ó | ó | ó | ó | |
| ô | ô | ô | ô | |
| õ | õ | õ | õ | |
| ö | ö | ö | ö | |
| ÷ | ÷ | ÷ | ÷ | |
| ø | ø | ø | ø | |
| ù | ù | ù | ù | |
| ú | ú | ú | ú | |
| û | û | û | û | |
| ü | ü | ü | ü | |
| ý | ý | ý | ý | |
| þ | þ | þ | þ | |
| ÿ | ÿ | ÿ | ÿ | |
| Α | Α | Α | Α | |
| Β | Β | Β | Β | |
| Γ | Γ | Γ | Γ | |
| Δ | Δ | Δ | Δ | |
| Ε | Ε | Ε | Ε | |
| Ζ | Ζ | Ζ | Ζ | |
| Η | Η | Η | Η | |
| Θ | Θ | Θ | Θ | |
| Ι | Ι | Ι | Ι | |
| Κ | Κ | Κ | Κ | |
| Λ | Λ | Λ | Λ | |
| Μ | Μ | Μ | Μ | |
| Ν | Ν | Ν | Ν | |
| Ξ | Ξ | Ξ | Ξ | |
| Ο | Ο | Ο | Ο | |
| Π | Π | Π | Π | |
| Ρ | Ρ | Ρ | Ρ | |
| Σ | Σ | Σ | Σ | |
| Τ | Τ | Τ | Τ | |
| Υ | Υ | Υ | Υ | |
| Φ | Φ | Φ | Φ | |
| Χ | Χ | Χ | Χ | |
| Ψ | Ψ | Ψ | Ψ | |
| Ω | Ω | Ω | Ω | |
| α | α | α | α | |
| β | β | β | β | |
| γ | γ | γ | γ | |
| δ | δ | δ | δ | |
| ε | ε | ε | ε | |
| ζ | ζ | ζ | ζ | |
| η | η | η | η | |
| θ | θ | θ | θ | |
| ι | ι | ι | ι | |
| κ | κ | κ | κ | |
| λ | λ | λ | λ | |
| μ | μ | μ | μ | |
| ν | ν | ν | ν | |
| ξ | ξ | ξ | ξ | |
| ο | ο | ο | ο | |
| π | π | π | π | |
| ρ | ρ | ρ | ρ | |
| ς | ς | ς | ς | |
| σ | σ | σ | σ | |
| τ | τ | τ | τ | |
| υ | υ | υ | υ | |
| φ | φ | φ | φ | |
| χ | χ | χ | χ | |
| ψ | ψ | ψ | ψ | |
| ω | ω | ω | ω | |
| Œ | Œ | Œ | Œ | |
| œ | œ | œ | œ | |
| Š | Š | Š | Š | |
| š | š | š | š | |
| Ÿ | Ÿ | Ÿ | Ÿ | |
| ƒ | ƒ | ƒ | ƒ | |
| ˆ | ˆ | ˆ | ˆ | |
| ˜ | ˜ | ˜ | ˜ | |
| ϑ | ϑ | ϑ | ϑ | |
| ϒ | ϒ | ϒ | ϒ | |
| ϖ | ϖ | ϖ | ϖ | |
| · |   |   |   | |
| · |   |   |   | |
| · |   |   |   | |
| · | ‌ | ‌ | ‌ | |
| · | ‍ | ‍ | ‍ | |
| · | ‎ | ‎ | ‎ | |
| · | ‏ | ‏ | ‏ | |
| – | – | – | – | |
| — | — | — | — | |
| ‘ | ‘ | ‘ | ‘ | |
| ’ | ’ | ’ | ’ | |
| ‚ | ‚ | ‚ | ‚ | |
| “ | “ | “ | “ | |
| ” | ” | ” | ” | |
| „ | „ | „ | „ | |
| † | † | † | † | |
| ‡ | ‡ | ‡ | ‡ | |
| • | • | • | • | |
| … | … | … | … | |
| ‰ | ‰ | ‰ | ‰ | |
| ′ | ′ | ′ | ′ | |
| ″ | ″ | ″ | ″ | |
| ‹ | ‹ | ‹ | ‹ | |
| › | › | › | › | |
| ‾ | ‾ | ‾ | ‾ | |
| ⁄ | ⁄ | ⁄ | ⁄ | |
| € | € | € | € | |
| ℑ | ℑ | ℑ | ℑ | |
| ℘ | ℘ | ℘ | ℘ | |
| ℜ | ℜ | ℜ | ℜ | |
| ™ | ™ | ™ | ™ | |
| ℵ | ℵ | ℵ | ℵ | |
| ← | ← | ← | ← | |
| ↑ | ↑ | ↑ | ↑ | |
| → | → | → | → | |
| ↓ | ↓ | ↓ | ↓ | |
| ↔ | ↔ | ↔ | ↔ | |
| ↵ | ↵ | ↵ | ↵ | |
| ⇐ | ⇐ | ⇐ | ⇐ | |
| ⇑ | ⇑ | ⇑ | ⇑ | |
| ⇒ | ⇒ | ⇒ | ⇒ | |
| ⇓ | ⇓ | ⇓ | ⇓ | |
| ⇔ | ⇔ | ⇔ | ⇔ | |
| ∀ | ∀ | ∀ | ∀ | |
| ∂ | ∂ | ∂ | ∂ | |
| ∃ | ∃ | ∃ | ∃ | |
| ∅ | ∅ | ∅ | ∅ | |
| ∇ | ∇ | ∇ | ∇ | |
| ∈ | ∈ | ∈ | ∈ | |
| ∉ | ∉ | ∉ | ∉ | |
| ∋ | ∋ | ∋ | ∋ | |
| ∏ | ∏ | ∏ | ∏ | |
| ∑ | ∑ | ∑ | ∑ | |
| − | − | − | − | |
| ∗ | ∗ | ∗ | ∗ | |
| √ | √ | √ | √ | |
| ∝ | ∝ | ∝ | ∝ | |
| ∞ | ∞ | ∞ | ∞ | |
| ∠ | ∠ | ∠ | ∠ | |
| ∧ | ∧ | ∧ | ∧ | |
| ∨ | ∨ | ∨ | ∨ | |
| ∩ | ∩ | ∩ | ∩ | |
| ∪ | ∪ | ∪ | ∪ | |
| ∫ | ∫ | ∫ | ∫ | |
| ∴ | ∴ | ∴ | ∴ | |
| ∼ | ∼ | ∼ | ∼ | |
| ≅ | ≅ | ≅ | ≅ | |
| ≈ | ≈ | ≈ | ≈ | |
| ≠ | ≠ | ≠ | ≠ | |
| ≡ | ≡ | ≡ | ≡ | |
| ≤ | ≤ | ≤ | ≤ | |
| ≥ | ≥ | ≥ | ≥ | |
| ⊂ | ⊂ | ⊂ | ⊂ | |
| ⊃ | ⊃ | ⊃ | ⊃ | |
| ⊄ | ⊄ | ⊄ | ⊄ | |
| ⊆ | ⊆ | ⊆ | ⊆ | |
| ⊇ | ⊇ | ⊇ | ⊇ | |
| ⊕ | ⊕ | ⊕ | ⊕ | |
| ⊗ | ⊗ | ⊗ | ⊗ | |
| ⊥ | ⊥ | ⊥ | ⊥ | |
| ⋅ | ⋅ | ⋅ | ⋅ | |
| ⌈ | ⌈ | ⌈ | ⌈ | |
| ⌉ | ⌉ | ⌉ | ⌉ | |
| ⌊ | ⌊ | ⌊ | ⌊ | |
| ⌋ | ⌋ | ⌋ | ⌋ | |
| ⟨ | ⟨ | ⟨ | ⟨ | |
| ⟩ | ⟩ | ⟩ | ⟩ | |
| ◊ | ◊ | ◊ | ◊ | |
| ♠ | ♠ | ♠ | ♠ | |
| ♣ | ♣ | ♣ | ♣ | |
| ♥ | ♥ | ♥ | ♥ | |
| ♦ | ♦ | ♦ | ♦ |
253 di 253 entità. I caratteri invisibili (spazi, joiner, trattino morbido) sono mostrati come ·.
Funziona interamente nel tuo browser. Nulla di ciò che inserisci viene inviato a noi o salvato. Sfoglia tutti gli strumenti gratuiti.
Hai trovato un problema o qualcosa che potrebbe andare meglio? Leggiamo ogni messaggio e sistemiamo le cose in fretta.
Questo codificatore e decodificatore di entità HTML converte i caratteri da e verso i riferimenti a caratteri HTML. La codifica trasforma i cinque caratteri che hanno un significato speciale nel markup (< > & " ') in < > & " e ', così il testo può essere mostrato in una pagina o inserito in un attributo senza essere interpretato come HTML. Puoi anche codificare ogni carattere non ASCII, il che aiuta quando un template, un'email o un sistema legacy rovina l'UTF-8.
La decodifica gestisce entità nominali come é e …, riferimenti decimali come é ed esadecimali come é, seguendo le regole del parser HTML5, comprese le sue stranezze per i code point non validi. I nomi che non sono nella tabella integrata di 253 voci vengono risolti dal parser HTML del browser, quindi si decodificano tutti gli oltre 2.000 nomi di HTML5. I nomi sconosciuti restano come sono e vengono elencati, invece di sparire senza avviso. Questo strumento converte testo: non è un sanitizzatore HTML.
Come si usa
- Scegli Codifica o Decodifica.
- Per la codifica, scegli l'ambito: solo i cinque caratteri non sicuri (sufficiente per il normale HTML), tutti i caratteri non ASCII oppure tutto tranne lettere, cifre e spazi.
- Scegli riferimenti nominali, decimali o esadecimali. In modalità nominale si passa al decimale per i caratteri senza nome.
- Scrivi o incolla: il risultato si aggiorna mentre digiti. Inverti rimanda il risultato nell'input per verificare l'andata e ritorno.
- Cerca nella tabella di riferimento per nome, carattere, codice decimale o gruppo (per esempio "arrow" o "greek") e copia un'entità.
Domande frequenti
Quali caratteri vanno sottoposti a escape in HTML?
Nel contenuto testuale vanno sottoposti a escape < e &, perché aprono tag ed entità. Dentro il valore di un attributo, fai l'escape anche delle virgolette che delimitano l'attributo: " come " o ' come '. L'escape di > come > non è strettamente necessario, ma è consuetudine e non fa danni. Tutto il resto, comprese lettere accentate ed emoji, può comparire così com'è in una pagina UTF-8.
Che differenza c'è tra e uno spazio normale?
è U+00A0, uno spazio unificatore. A differenza degli spazi normali, i browser non vanno a capo in quel punto e non ne riducono diversi a uno solo. Serve per tenere sulla stessa riga "10 kg" o "Sig. Rossi". Usare file di per l'impaginazione è segno che quel lavoro spetta al CSS.
Meglio ' o '?
' è definita in XML e in HTML5 ma non in HTML 4, quindi i browser molto vecchi e alcuni client email non la riconoscono. ' funziona ovunque, ed è per questo che questo codificatore la usa per l'apostrofo anche in modalità nominale. In una pagina HTML5 moderna vanno bene entrambe.
La codifica HTML basta a prevenire l'XSS?
L'escape di < > & " ' impedisce l'iniezione nel testo HTML e nei valori di attributo tra virgolette, che è il caso più comune. Non rende sicuro un valore dentro un blocco <script>, un attributo style, un attributo senza virgolette o un URL come href="javascript:...". Ognuno di questi contesti richiede la propria codifica o validazione. Usa un motore di template che faccia l'escape per impostazione predefinita e un sanitizzatore come DOMPurify quando devi accettare HTML dagli utenti.
Perché nel mio testo vedo &amp; o é?
&amp; significa che il testo è stato codificato in HTML due volte: & è diventato & e poi quella & è stata codificata di nuovo. Decodifica una volta per ogni livello in più. é al posto di é non è un problema di entità ma di codifica dei caratteri non corrispondente: dei byte UTF-8 sono stati letti come Windows-1252 o Latin-1. Correggi la dichiarazione del charset o la codifica della connessione al database: le entità nasconderebbero solo il sintomo.
Riferimenti nominali, decimali ed esadecimali
L'HTML offre tre modi per scrivere lo stesso carattere. Un riferimento nominale come © è leggibile, ma esiste solo per i caratteri a cui l'HTML assegna un nome. Un riferimento decimale come © e uno esadecimale come © funzionano per ogni code point Unicode, emoji comprese: 🌲 è 🌲 o 🌲, un solo riferimento per l'intero carattere, non due per le sue metà UTF-16.
I 253 nomi della tabella di questo strumento sono l'insieme di HTML 4 più '. Sono supportati da ogni browser, client email e libreria HTML. HTML5 ne ha aggiunti circa 2.000, soprattutto simboli matematici (≂̸, ⨂), che si decodificano nei browser moderni ma è meglio scrivere come semplice UTF-8 o come riferimenti numerici se il contenuto passerà per strumenti più vecchi.
I nomi distinguono tra maiuscole e minuscole: É è É e é è é. Alcuni, come © e &, esistono anche in maiuscolo per ragioni storiche, ma le forme standard sono quelle minuscole.
Quando codificare e quando no
• Mostrare l'input degli utenti in una pagina: fai l'escape dei cinque caratteri non sicuri al momento dell'output, nel template, non quando salvi nel database.
• Esempi di codice in un articolo di blog o nella documentazione: fai l'escape di < e & così i tag compaiono come testo.
• Template email e sistemi legacy con un supporto UTF-8 inaffidabile: codificare tutti i caratteri non ASCII come riferimenti numerici fa sì che il contenuto sopravviva a qualsiasi charset.
• Pagine UTF-8 moderne: non codificare lettere accentate, virgolette curve o emoji. I caratteri semplici occupano meno spazio, si possono cercare e sono più facili da modificare.
• JSON, URL e stringhe JavaScript: lì le entità HTML non significano nulla. Usa rispettivamente l'escape JSON, il percent-encoding o le sequenze di escape delle stringhe JavaScript.
Come vengono decodificati i riferimenti numerici
La specifica HTML5 stabilisce cosa deve fare un parser con i riferimenti numerici anomali, e questo decodificatore la segue. �, i riferimenti a code point surrogati (�) e i valori oltre U+10FFFF diventano il carattere di sostituzione U+FFFD. I riferimenti nell'intervallo da € a Ÿ vengono letti come Windows-1252, quindi – è un trattino medio e € è il simbolo dell'euro, perché è quello che intendevano le vecchie pagine quando li scrivevano.
I riferimenti nominali vengono decodificati solo se terminano con un punto e virgola. Nel testo i browser accettano anche alcuni nomi storici senza, come © o &, ma il comportamento dipende da ciò che segue, quindi il contenuto dovrebbe sempre includere il punto e virgola.
Strumenti gratuiti correlati
- Codificatore / decodificatore URL — Codifica o decodifica il testo per gli URL con il percent-encoding in modalità componente, URL completo o modulo, e modifica i parametri di query di un URL in una tabella.
- Codificatore / decodificatore Base64 — Codifica testo o file in Base64, trasforma immagini in data URI con snippet CSS e <img>, e decodifica Base64 in un file con anteprima. Nulla esce dal tuo browser.
- Generatore di meta tag — Compila title, description e dettagli della social card di una pagina; ottieni un blocco <head> completo, con escape corretto e contatori di lunghezza in tempo reale.
- Formattatore JSON — Formatta, minifica e valida JSON, con gli errori di parsing localizzati per riga e colonna. Nel tuo browser, senza upload.