Encoder e decoder di entità HTML

Esegui l'escape del testo per inserirlo in sicurezza nell'HTML, oppure riconverti entità come & e € in caratteri leggibili.

Funziona nel browserNessuna registrazioneNessun caricamento

Codificato

Come usare Encoder / decoder di entità HTML

  1. Scegli Codifica per eseguire l'escape del testo o Decodifica per riconvertire le entità in caratteri.
  2. In codifica, scegli quali caratteri convertire: solo quelli speciali dell'HTML, anche tutti i caratteri non ASCII, oppure tutto tranne lettere e cifre.
  3. Scegli entità con nome (é), decimali (é) o esadecimali (é).
  4. Copia il risultato. In decodifica, le entità sconosciute vengono elencate così puoi individuare gli errori di battitura.

Perché fare l'escape dell'HTML?

Cinque caratteri hanno un significato speciale in HTML: & apre un'entità, < e > delimitano i tag, " e ' chiudono i valori degli attributi. Se un testo fornito dall'utente che li contiene viene inserito in una pagina senza escape, può rompere il layout o, peggio, iniettare script (cross-site scripting, XSS). L'escape li trasforma in &amp;, &lt;, &gt;, &quot; e &#x27;, che il browser mostra come testo.

Entità con nome, decimali ed esadecimali

Ogni carattere Unicode può essere scritto come riferimento numerico: decimale &#8364; o esadecimale &#x20AC; per €. Molti caratteri comuni hanno anche un nome leggibile, come &euro;, &copy; o &nbsp;. I riferimenti numerici funzionano ovunque, anche in XML, che definisce solo cinque entità con nome. Le entità con nome sono più leggibili nel codice sorgente.

Devo codificare i caratteri non ASCII?

No, se la pagina è servita in UTF-8, come quasi tutti i siti moderni (<meta charset="utf-8">). Caratteri come é, ü o 日本 si possono scrivere direttamente. Codificarli è utile per sistemi legacy, template email o quando una pipeline corrompe il testo non ASCII.

L'escape dipende dal contesto

L'escape in entità HTML protegge il testo inserito nel contenuto degli elementi e negli attributi tra virgolette. Non basta per i valori dentro blocchi <script>, gestori di eventi inline, CSS o URL, che richiedono ciascuno la propria codifica. Preferisci l'auto-escaping del tuo framework (React, Vue, Jinja, Blade) alla costruzione manuale delle stringhe.

Domande frequenti

Quali caratteri vanno sottoposti a escape in HTML?
Nel contenuto testuale sono indispensabili & e <. Nei valori degli attributi, esegui l'escape anche del tipo di virgolette usato. Convertire tutti e cinque (& < > " ') è la scelta sicura predefinita.
Cos'è &amp;nbsp;?
Uno spazio unificatore (U+00A0). Sembra uno spazio, ma impedisce l'a capo e non viene compresso insieme agli spazi vicini.
Perché &amp;copy2024 viene decodificato in ©2024?
Per retrocompatibilità, i browser decodificano alcune entità legacy, come &copy, &amp e &lt, anche senza il punto e virgola finale. Questo decoder segue la stessa regola. Nel tuo HTML scrivi sempre il punto e virgola.
L'apostrofo è &amp;apos; o &amp;#39;?
&apos; è valido in HTML5 e XML ma non in HTML 4, quindi il numerico &#39; o &#x27; è la scelta più compatibile ed è ciò che produce questo encoder.

Strumenti correlati