Qué hace esta herramienta
Decodifica las cinco entidades que XML predefine —&, <, >, " y '— junto con las referencias numéricas de caracteres en sus dos formas: decimal A y hexadecimal A, incluidos los caracteres por encima de U+FFFF, de modo que 😀 recupera su emoji.
Los nombres de entidad distinguen mayúsculas, como exige XML: & se decodifica, & no. Una referencia también necesita su punto y coma: & sin él es texto corriente y así se queda.
Una sola pasada, deliberadamente
La decodificación ocurre exactamente una vez. &lt; da < y no <, porque &lt; es la forma escapada del texto literal < y ese texto es la respuesta correcta.
Decodificar una segunda vez es lo que devuelve el marcado escapado a marcado activo: el paso detrás de toda una clase de fallos de inyección. Si tu valor está realmente codificado dos veces, vuelve a pegar el resultado y decodifica otra vez, como decisión tuya y no de la herramienta.
Qué no hace
Las entidades con nombre de HTML quedan fuera. , © y los varios miles restantes pertenecen a HTML, no a XML, y salen intactas.
Las referencias numéricas inválidas se conservan literalmente en lugar de sustituirse. Un punto de código suplente (�) o un valor más allá de U+10FFFF (�) no puede corresponder a ningún carácter, y devolver la referencia sin tocar mantiene la entrada recuperable en vez de perderla en silencio. Lo mismo vale para cualquier carácter que XML 1.0 no puede representar en absoluto —NUL, la mayoría de los de control, los no caracteres U+FFFE y U+FFFF—: � y  salen tal como estaban escritos. Decodificarlos te daría un documento que ningún analizador XML acepta.
Privado por diseño
Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.