O que esta ferramenta faz
Ela decodifica as cinco entidades que o XML predefine — &, <, >, " e ' — junto com as referências numéricas de caracteres nas duas formas: decimal A e hexadecimal A, inclusive acima de U+FFFF, de modo que 😀 volta a ser seu emoji.
Nomes de entidade diferenciam maiúsculas, como o XML exige: & é decodificado, & não. Uma referência também precisa do ponto e vírgula — & sem ele é texto comum e assim permanece.
Uma passagem só, de propósito
A decodificação acontece exatamente uma vez. &lt; dá < e não <, porque &lt; é a forma escapada do texto literal < e esse texto é a resposta certa.
Rodar a decodificação uma segunda vez é o que devolve marcação escapada ao estado ativo — a etapa por trás de toda uma classe de falhas de injeção. Se o seu valor estiver de fato codificado duas vezes, cole o resultado de novo e decodifique outra vez, como decisão sua e não da ferramenta.
O que ela não faz
Entidades nomeadas do HTML estão fora do escopo. , © e as outras milhares pertencem ao HTML, não ao XML, e voltam intactas.
Referências numéricas inválidas são preservadas tal como escritas, em vez de substituídas. Um ponto de código substituto (�) ou um valor além de U+10FFFF (�) não corresponde a caractere algum, e devolver a referência intacta mantém a entrada recuperável em vez de perdê-la em silêncio. O mesmo vale para todo caractere que o XML 1.0 não consegue representar — NUL, a maioria dos de controle, os não caracteres U+FFFE e U+FFFF: � e  voltam como foram escritos. Decodificá-los devolveria um documento que nenhum parser XML aceita.
Privado por padrão
Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.