Decodificatore di entità HTML gratuito — Unescape HTML
Decodifica le entità HTML e fai l'unescape dell'HTML online — gratis, senza registrazione, 100% nel browser. Riconverte riferimenti con nome, decimali ed esadecimali in caratteri; mai caricato.
Il tuo testo viene decodificato localmente nel tuo browser e non viene mai caricato, registrato o memorizzato. Resta su questo dispositivo.
Opzioni · Opzioni di decodifica
Cos'è la decodifica delle entità HTML?
La decodifica delle entità HTML — chiamata anche unescaping HTML — è il processo di conversione dei riferimenti di carattere nei caratteri che rappresentano. Dove la codifica sostituisce un < letterale con l'entità < così che un browser lo mostri come testo, la decodifica fa l'inverso: scansiona una stringa cercando riferimenti come <, &, <, > o © e sostituisce a ciascuno il carattere effettivo (<, &, <, >, ©). È l'operazione che esegui quando hai markup memorizzato o trasmesso nella sua forma con escape e ti serve di nuovo il testo reale — per leggerlo, modificarlo, consegnarlo a un altro programma o capire perché una pagina sta rendendo < invece di <.
Vale la pena essere precisi su cosa fa questo strumento. Decodifica le entità in caratteri; non riformatta né valida il markup. Se vuoi prendere una stringa con escape e recuperarne i caratteri letterali, questo è lo strumento giusto. Per andare nell'altra direzione e trasformare i caratteri in entità, usa il Codificatore di entità HTML; e per indentare e riordinare un blocco di HTML, usa il Formattatore HTML. Codifica e decodifica sono esatti inversi, quindi una stringa fatta passare attraverso il codificatore e di nuovo attraverso il decodificatore torna inalterata.
Ci sono tre tipi di riferimento che il decodificatore deve comprendere, e li gestisce tutti. Un riferimento con nome usa un'etichetta definita (< per <, © per ©, — per —); un riferimento numerico decimale scrive il code point Unicode in base 10 (< per <); e un riferimento numerico esadecimale scrive lo stesso code point in base 16 (< per <), corrispondente alla notazione U+XXXX dello standard Unicode. Un decodificatore robusto accetta qualunque di essi, in qualsiasi misto, perché codificatori diversi emettono forme diverse. La tabella sotto mostra i riferimenti che incontrerai più spesso e il carattere in cui ciascuno si decodifica:
| Entità (con nome) | Decimale | Esadecimale | Si decodifica in | |----------------|---------|-----|------------| | < | < | < | < | | > | > | > | > | | & | & | & | & | | " | " | " | " | | ' | ' | ' | ' | | |   |   | (spazio unificatore) | | © | © | © | © | | ® | ® | ® | ® | | ™ | ™ | ™ | ™ | | € | € | € | € | | £ | £ | £ | £ | | — | — | — | — | | – | – | – | – | | … | … | … | … | | 😀 | 😀 | 😀 | 😀 |
Due comportamenti distinguono un decodificatore accurato. Primo, ricostruisce i caratteri del piano astrale — qualsiasi cosa sopra U+FFFF, incluse la maggior parte delle emoji — dai loro riferimenti numerici anziché produrre un mezzo carattere rotto; 😀 diventa correttamente 😀. Secondo, segue il parsing permissivo del browser per il piccolo insieme di entità con nome legacy che storicamente apparivano senza il punto e virgola finale, quindi © 2026 si decodifica ancora in © 2026 anche se l'XML rigido lo rifiuterebbe. Questo strumento fa entrambe le cose, in linea con il comportamento della diffusa libreria he, così che il suo output concordi con ciò che un browser reale renderebbe.
Un avvertimento che appartiene a ogni decodificatore: il testo decodificato è privo di escape per definizione. La decodifica è l'inverso dell'escape che protegge le pagine dal cross-site scripting, quindi una stringa decodificata contenente un tag <script> o un gestore di eventi è di nuovo markup attivo e pericoloso. Non decodificare mai input non attendibile e poi inserirlo in una pagina con innerHTML — questo riapre l'esatto buco che l'escape doveva chiudere. Decodifica quando ti servono i caratteri grezzi per leggere, modificare o memorizzare; se il risultato sarà reso di nuovo in HTML, fagli prima di nuovo l'escape nel suo contesto di destinazione. E poiché ogni byte è elaborato nel tuo browser, le stringhe con escape che decodifichi — anche un record privato o una bozza non pubblicata — non attraversano mai la rete. Per conversioni vicine, il Codificatore / Decodificatore URL gestisce la percent-encoding e Codifica / Decodifica Base64 gestisce il trasporto binary-safe.
// Decoding is the inverse of escaping. The classic round-trip:
// < → < > → > & → & " → " ' → '
// Browser — the safest decoder is the platform itself. Use textarea, NOT innerHTML on a live node,
// so the decoded markup is never executed.
function decodeHtml(str) {
const ta = document.createElement('textarea');
ta.innerHTML = str; // the parser resolves entities into text
return ta.value; // .value is plain text — no script runs
}
decodeHtml('<div> & ©'); // → '<div> & ©'
decodeHtml('<>'); // → '<>'
decodeHtml('😀'); // → '😀'
decodeHtml('© 2026'); // → '© 2026' (lenient, no semicolon)
// ---------------------------------------------------------------
// SECURITY: decoded text is unescaped. Never do this with untrusted input:
// el.innerHTML = decodeHtml(userInput); // ❌ reopens the XSS hole
// If the decoded value must be displayed, re-escape it in its destination context first,
// or assign it as text:
// el.textContent = decodeHtml(userInput); // ✅ shown as literal text
// ---------------------------------------------------------------
// Node.js (no DOM) — use a tested library such as he:
// import { decode } from 'he';
// decode('<div> & ©'); // → '<div> & ©' Funzionalità principali
Decodifica riferimenti con nome, decimali ed esadecimali
Risolve l'intero set di entità con nome HTML5 (<, ©, —), i riferimenti numerici decimali (<) e i riferimenti esadecimali (<) in qualsiasi combinazione, esattamente come farebbe un browser — così inverte qualunque cosa abbia prodotto un codificatore.
Gestisce emoji e caratteri del piano astrale
I riferimenti numerici sopra U+FFFF vengono ricostruiti nel loro code point completo, quindi 😀 si decodifica in 😀 anziché in un surrogato rotto. Anche ideogrammi CJK rari e simboli matematici si decodificano fedelmente.
Parsing permissivo delle entità legacy
Segue le regole compatibili all'indietro del browser per le entità con nome a cui manca il punto e virgola finale, quindi markup legacy o trascurato come © 2026 si decodifica ancora in © 2026 dove un parser rigido lo lascerebbe rotto.
Decodifica live e istantanea
L'output si aggiorna mentre digiti — nessun pulsante di invio, nessuna latenza di andata e ritorno. Incolla un grande blocco con escape e il testo recuperato appare immediatamente, pronto da copiare.
Tabella di riferimento rapido integrata
Una tabella di riferimento che mappa le entità più comuni — i cinque riservati più ©, ®, ™, €, —, e altre — ai loro caratteri sta proprio nella pagina, così non devi mai cercare un'entità altrove.
Passaggio al codificatore con un clic
Inverti direzione passa direttamente al Codificatore di entità HTML per invertire l'operazione. Codifica e decodifica sono esatti inversi, quindi puoi far compiere al testo un ciclo completo senza perdita.
100% privato, solo nel browser
Tutta la decodifica avviene sul tuo dispositivo con JavaScript — nessuna richiesta di rete, nessun log, nessuna memorizzazione, verificabile in DevTools → Network. Frammenti di database privati, contenuti di email e bozze non pubblicate non lasciano mai la scheda.
Disponibile in 15 lingue
L'intera interfaccia — etichette, istruzioni e indicazioni — è localizzata in 15 lingue, così lo strumento e i suoi consigli sulla sicurezza sono chiari ovunque lavori il tuo team.
Esempi pratici
Decodificare un misto di entità con nome
<div> & ©
<div> & ©
Il decodificatore risolve ogni riferimento con nome nel carattere che rappresenta: < diventa <, > diventa >, & diventa & e © diventa il simbolo di copyright ©. Questo è il caso quotidiano — prendere una stringa che è stata memorizzata o trasmessa nella sua forma con escape e riconvertirla nei caratteri reali così da poter leggere, modificare o rielaborare il markup. La decodifica è l'esatto inverso della codifica, quindi una stringa che compie un ciclo completo attraverso il codificatore e ritorno arriva inalterata.
Decodificare riferimenti numerici decimali ed esadecimali
<>
<>
I riferimenti numerici di carattere funzionano in entrambe le basi: < è la forma decimale del code point 60, che è <, e > è la forma esadecimale del code point 62, che è >. Il decodificatore gestisce in modo intercambiabile i riferimenti decimali (&#NNN;) ed esadecimali (&#xHHH;), risolvendo ciascuno nel suo carattere Unicode. Questo è importante perché i codificatori non concordano su quale forma emettere — alcuni preferiscono il decimale, altri l'esadecimale — e un decodificatore robusto deve accettare entrambe.
Decodificare un'entità legacy a cui manca il punto e virgola
© 2026
© 2026
Il vecchio HTML permetteva a un piccolo insieme di entità con nome di apparire senza il punto e virgola finale, e i browser le risolvono ancora per compatibilità all'indietro — © 2026 viene reso come © 2026. Questo decodificatore segue le stesse regole di parsing permissive, quindi recupera il carattere voluto da markup trascurato o legacy che un parser rigido lascerebbe intatto. Se stai cercando di capire un testo che mostra un errante ©, ecco perché.
Decodificare un'emoji dal suo riferimento esadecimale
😀
😀
I riferimenti numerici non sono limitati al Basic Multilingual Plane — 😀 è il riferimento esadecimale per il code point U+1F600, l'emoji della faccina sorridente 😀. Il decodificatore ricostruisce correttamente i caratteri del piano astrale (qualsiasi cosa sopra U+FFFF) dai loro riferimenti numerici, così emoji, ideogrammi CJK rari e simboli matematici si decodificano fedelmente anziché trasformarsi in un surrogato rotto o in un glifo sostitutivo.
Decodificare una stringa di attributo con escape
<a href="x">Tom & Jerry's</a>
<a href="x">Tom & Jerry's</a>
Questo è un ciclo completo dell'esempio di punta del codificatore. " si risolve in una virgoletta doppia, ' (l'apostrofo numerico compatibile) si risolve in ', e le entità di parentesi angolare ed e commerciale si risolvono nei loro caratteri letterali, ricostruendo esattamente l'originale Tom & Jerry's. Poiché il decodificatore accetta riferimenti con nome, decimali ed esadecimali in qualsiasi combinazione, inverte qualunque cosa abbia prodotto un codificatore, indipendentemente dallo stile di entità usato.
Come usare il decodificatore di entità HTML
- 1
Incolla la stringa con escape
Inserisci nel riquadro di input il testo pieno di entità HTML. I caratteri decodificati si aggiornano in tempo reale mentre digiti — non c'è alcun pulsante di invio e niente viene inviato da nessuna parte.
- 2
Leggi il risultato decodificato
I riferimenti con nome, decimali ed esadecimali si risolvono tutti automaticamente nei caratteri che rappresentano, incluse emoji e altri code point del piano astrale. Non serve alcuna selezione di formato — il decodificatore rileva il tipo di ogni riferimento.
- 3
Copia il testo decodificato
Clicca Copia per mettere i caratteri recuperati negli appunti, pronti da incollare in un editor, un database o un altro strumento. Cancella reimposta entrambi i riquadri per la stringa successiva.
- 4
Rifai l'escape prima di rivisualizzare testo non attendibile
Se l'output decodificato sarà reso di nuovo in una pagina web e parte di esso proveniva da una fonte non attendibile, fagli prima di nuovo l'escape con il codificatore per evitare di riaprire un buco XSS.
- 5
Serve invece codificare? Inverti direzione
Usa Inverti direzione per passare al Codificatore di entità HTML quando vuoi trasformare i caratteri grezzi in entità.
Errori comuni nella decodifica HTML
Reso input non attendibile decodificato con innerHTML
La decodifica fa l'unescape del testo, quindi un tag <script> decodificato è di nuovo markup attivo. Inserirlo tramite innerHTML lo esegue — un buco XSS da manuale. Rifai l'escape del testo decodificato non attendibile, oppure usa textContent.
el.innerHTML = decode(userInput) → script runs (XSS)
el.textContent = decode(userInput) → shown as text
Decodificato solo una volta quando il testo era a doppia codifica
Il testo a doppia codifica richiede due passaggi di decodifica. Decodificare < una volta produce <, non <. Decodifica di nuovo — e correggi la pipeline così che non faccia mai il doppio escape in primo luogo.
&lt; decoded once → < (still an entity)
&lt; decoded twice → <
Confuso la decodifica HTML con quella URL o Base64
Entità, percent-encoding e base64 sono schemi diversi. Un decodificatore HTML non trasforma %20 in uno spazio né decodifica un blob base64. Usa lo strumento corrispondente per ogni livello di codifica.
HTML-decode "%3Cdiv%3E" → unchanged, still percent-encoded
URL-decode "%3Cdiv%3E" → <div>
Usato una regex che manca i riferimenti numerici o astrali
Una regex scritta a mano per le entità con nome salta silenziosamente <, > ed emoji come 😀, lasciandole nell'output. Usa il parser del browser o una libreria collaudata che copra tutte le forme di riferimento.
regex for &name; only → 😀 left undecoded
full decoder → 😀 becomes 😀
Output mostrato come mojibake dopo la decodifica
Decodificare é dà la é reale, ma se la pagina o il file ricevente non è servito come UTF-8 il carattere si corrompe in spazzatura. Imposta il charset su UTF-8 prima di scrivere fuori il testo decodificato.
decoded é into a Latin-1 file → é mojibake
decoded é into a UTF-8 file → é
Assunto il parsing rigido e mancato le entità legacy
Un parser XML rigido ignora le entità senza punto e virgola come ©, lasciandole letterali. I browser le risolvono, quindi un decodificatore fedele deve farlo anche lui — altrimenti il tuo output non concorda con ciò che gli utenti vedono.
strict parse of "© 2026" → © 2026 literal
lenient parse of "© 2026" → © 2026
Chi usa questo strumento
- Leggere markup memorizzato in forma con escape
- Hai estratto un frammento HTML da un database, un log o un campo JSON dove era salvato come <div>…? Decodificalo per vedere e modificare il markup reale anziché strizzare gli occhi su un muro di entità.
- Analizzare testo a doppia codifica
- Vedi < su una pagina attiva dove dovrebbe esserci <? Incollalo qui per confermare che è a doppia codifica, decodificalo due volte per recuperare l'originale e risali al doppio escape fino alla sua fonte nella tua pipeline.
- Estrarre testo semplice da snippet HTML
- Ti serve il testo leggibile da un corpo di email con escape o da un campo CMS? Decodifica le entità per recuperare i caratteri reali prima di indicizzare, cercare o mostrare il contenuto altrove.
- Recuperare caratteri da dati raccolti o esportati
- Esportazioni e scraper spesso consegnano contenuti con le entità intatte. Decodifica &, é e simili nei loro caratteri così che i dati siano puliti prima di entrare nei tuoi sistemi.
- Verificare che l'output di un codificatore compia il ciclo completo
- Dopo aver fatto l'escape di una stringa con il codificatore, decodificala qui per confermare di riottenere l'originale inalterato. Un ciclo pulito dimostra che il tuo escape è corretto e reversibile.
- Risolvere un'entità misteriosa
- Bloccato su cosa siano davvero ™ o …? Incollalo e leggi il carattere decodificato, oppure consulta la tabella di riferimento rapido integrata — senza bisogno di memorizzare le tabelle delle entità.
- Decodificare markup legacy in sicurezza
- Lavori con vecchio HTML che usa entità senza punto e virgola come © o   in modo incoerente? Il decodificatore permissivo recupera i caratteri voluti come farebbe un browser reale, così la tua ripulitura corrisponde a ciò che gli utenti vedono davvero.
Come funziona il decodificatore
- Risolve tutte e tre le forme di riferimento
- Il decodificatore confronta i riferimenti con nome con l'intera tabella di caratteri con nome HTML5, analizza i riferimenti decimali (&#NNN;) come code point in base 10 e analizza i riferimenti esadecimali (&#xHHH;) come code point in base 16. Ciascuno si risolve nel suo carattere Unicode; le tre forme sono interscambiabili in input.
- Ricostruzione del piano astrale
- I riferimenti numerici il cui code point supera U+FFFF — la maggior parte delle emoji e molti simboli — vengono convertiti nella coppia surrogata corretta così che il carattere venga reso come un singolo glifo. 😀 diventa 😀, non due mezzi caratteri rotti.
- Gestione permissiva delle entità legacy
- Un sottoinsieme definito di entità con nome appariva storicamente senza il punto e virgola finale, e i browser le risolvono ancora. Il decodificatore rispecchia questo comportamento — © 2026 produce © 2026 — in linea con la resa di un browser reale anziché di un parser XML rigido.
- Idempotente sul testo semplice
- I caratteri che non fanno parte di un riferimento riconosciuto, incluso il testo non ASCII grezzo già presente nell'input, passano inalterati. Decodificare una stringa senza entità la restituisce inalterata, quindi l'operazione è sicura da eseguire su contenuti misti.
- L'output decodificato è privo di escape
- La decodifica è l'inverso dell'escape protettivo contro l'XSS, quindi il risultato è di nuovo markup attivo. Lo strumento lo mette in evidenza così che tu non inserisca testo decodificato non attendibile in una pagina con innerHTML — rifagli l'escape nel suo contesto di destinazione prima di renderlo.
- Locale nel browser, zero rete
- La decodifica gira in modo sincrono in JavaScript sul thread principale; non c'è alcuna chiamata API, nessun andata e ritorno a un server e nessuna persistenza. L'input non lascia mai la pagina, cosa che puoi confermare osservando un pannello Network vuoto mentre digiti.
Buone pratiche per l'unescape HTML
- Non rendere mai testo decodificato non attendibile direttamente
- L'output decodificato è markup privo di escape. Se parte di esso proveniva da un utente o da una fonte esterna, rifagli l'escape prima di inserirlo in una pagina, oppure assegnalo tramite textContent anziché innerHTML. Saltare questo passo riapre il buco di cross-site scripting che l'escape doveva chiudere.
- Decodifica nell'ordine inverso della codifica
- Un valore può essere HTML-codificato, poi URL-codificato, poi Base64-codificato. Annulla i livelli nell'ordine opposto a quello in cui sono stati applicati — e usa lo strumento corrispondente per ciascuno: questo per le entità, il decodificatore URL per la percent-encoding, lo strumento Base64 per il base64.
- Decodifica una volta, non per riflesso
- Se una singola decodifica lascia entità visibili come <, l'input era a doppia codifica — decodifica di nuovo per recuperare l'originale, poi correggi la pipeline a monte così che il testo venga sottoposto a escape esattamente una volta. Non andare in loop alla cieca; capisci perché esiste il livello extra.
- Servi il risultato come UTF-8
- Decodificare i riferimenti numerici produce caratteri Unicode reali — accenti, simboli, emoji. Assicurati che la pagina, il file o il campo che riceve il testo decodificato sia UTF-8, altrimenti quei caratteri recuperati si visualizzeranno come mojibake.
- Preferisci una libreria collaudata nel codice applicativo
- Per conversioni occasionali questo strumento è ideale; in produzione, decodifica con una libreria ben collaudata (he in Node, il parser del browser tramite una textarea staccata) anziché con una regex fatta a mano, che regolarmente manca riferimenti numerici, caratteri astrali ed entità legacy.
Domande frequenti
Il mio testo viene inviato al vostro server quando lo decodifico?
Cosa significa decodificare o fare l'unescape dell'HTML?
Quali tipi di entità può gestire questo decodificatore?
Perché il mio testo mostra < invece di
L'output decodificato sarà sicuro da rimettere in una pagina?
La decodifica gestisce correttamente i caratteri non ASCII e le emoji?
Come faccio a ricodificare il testo in entità?
È la stessa cosa della decodifica URL o della decodifica Base64?
Strumenti correlati
Vedi tutti gli strumenti →Decodificatore e codificatore Base64
Codifica e formattazione
Decodifica e codifica Base64 online gratis. Conversione in tempo reale con pieno supporto UTF-8 ed emoji. 100% privato — gira nel tuo browser. Nessuna registrazione.
Convertitore da Base64 a immagine
Codifica e formattazione
Decodifica una stringa Base64 o un data URI in un'immagine nel tuo browser. Anteprima, dimensioni e MIME, poi scarica come PNG, JPG, GIF, SVG. Nessun upload.
Convertitore CSV in JSON
Codifica e formattazione
Converti CSV in JSON nel browser. RFC 4180, inferenza tipi, riga header, sicuro per big-int. 100% privato, nessun upload.
Convertitore da .env a JSON
Codifica e formattazione
Incolla un file .env online e ottieni subito il JSON. Password, chiavi API e token non lasciano mai il browser: parser dotenv web, 100% privato, senza upload.
Codificatore di entità HTML gratuito — Escape HTML
Codifica e formattazione
Codifica le entità HTML e fai l'escape dei caratteri speciali (< > & " ') online — gratis, senza registrazione, 100% nel browser. Output con nome, decimale o esadecimale; mai caricato.
Convertitore da HTML a Markdown
Codifica e formattazione
Converti HTML in Markdown pulito nel tuo browser — tabelle GFM, elenchi di attività e link. Scegli titoli ATX/Setext e link inline o di riferimento. Ottimo per migrare contenuti o alimentare gli LLM. 100% privato.