100 % local — seus dados nunca saem do seu navegador

Desescapar XML — leia um trecho escapado

Decodifique as cinco entidades XML e as referências numéricas em texto, numa única passagem: você lê o que o documento carregava de verdade.

Instantâneo Privado Zero cookies

Entrada XML Escaped

Saída Text

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 — &amp sem ele é texto comum e assim permanece.

Uma passagem só, de propósito

A decodificação acontece exatamente uma vez. &amp;lt; dá &lt; e não <, porque &amp;lt; é a forma escapada do texto literal &lt; 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. &nbsp;, &copy; 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 (&#xD800;) ou um valor além de U+10FFFF (&#99999999;) 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: &#0; e &#xFFFF; 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.

Perguntas frequentes

Por que `&nbsp;` fica como está?
Porque não é uma entidade XML. O XML predefine exatamente cinco — `&amp;`, `&lt;`, `&gt;`, `&quot;` e `&apos;` — e todo o resto é de HTML. Use a ferramenta de entidades HTML para essas.
Por que `&amp;lt;` dá `&lt;` e não `<`?
Porque a decodificação acontece uma vez só, de propósito. `&amp;lt;` é a forma escapada do texto `&lt;`, então uma passagem é a resposta certa; decodificar duas vezes é o que transforma marcação escapada em marcação ativa.
O que acontece com uma referência numérica inválida?
Ela volta exatamente como foi escrita. Um ponto de código substituto como `&#xD800;` ou um valor fora de faixa como `&#99999999;` não tem caractere para o qual decodificar, então a referência é preservada em vez de virar um marcador.

Conversores relacionados