100 % local: tus datos nunca salen de tu navegador

Desescapar XML — lee un fragmento escapado

Decodifica las cinco entidades XML y las referencias numéricas a texto, en una sola pasada: lees lo que el documento llevaba de verdad dentro.

Instantáneo Privado Cero cookies

Entrada XML Escaped

Salida Text

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: &amp sin él es texto corriente y así se queda.

Una sola pasada, deliberadamente

La decodificación ocurre exactamente una vez. &amp;lt; da &lt; y no <, porque &amp;lt; es la forma escapada del texto literal &lt; 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. &nbsp;, &copy; 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 (&#xD800;) o un valor más allá de U+10FFFF (&#99999999;) 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—: &#0; y &#xFFFF; 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.

Preguntas frecuentes

¿Por qué `&nbsp;` se queda igual?
Porque no es una entidad XML. XML predefine exactamente cinco —`&amp;`, `&lt;`, `&gt;`, `&quot;` y `&apos;`— y todo lo demás es de HTML. Usa la herramienta de entidades HTML para esas.
¿Por qué `&amp;lt;` da `&lt;` y no `<`?
Porque la decodificación se hace una sola vez, a propósito. `&amp;lt;` es la forma escapada del texto `&lt;`, así que una pasada es la respuesta correcta; decodificar dos veces es lo que convierte marcado escapado en marcado activo.
¿Qué pasa con una referencia numérica inválida?
Sale exactamente como estaba escrita. Un punto de código suplente como `&#xD800;` o un valor fuera de rango como `&#99999999;` no tiene carácter al que decodificarse, así que se conserva la referencia en lugar de sustituirla por un marcador.

Convertidores relacionados