100 % local: tus datos nunca salen de tu navegador

Entidades HTML a texto — lee un fragmento extraído

Decodifica entidades HTML a caracteres. Todas las referencias numéricas están cubiertas y un nombre desconocido sigue visible: ves lo que había.

Instantáneo Privado Cero cookies

Entrada HTML Entities

Salida Text

Qué hace esta herramienta

Cada referencia &…; se convierte en el carácter que nombra.

  • Numérica decimal — é da é.
  • Numérica hexadecimal — é y é dan ambas é.
  • Con nombre — &,  , —, é y unos sesenta nombres habituales más.

Un carácter fuera del plano básico entra como una referencia y sale como un carácter: 😀 y 😀 dan ambos el emoji.

Un nombre desconocido queda visible

♥ sale como ♥.

HTML5 define más de dos mil nombres. Esta herramienta lleva los que realmente aparecen y deja intactos los demás, porque las alternativas son peores. Borrar una referencia no reconocida pierde datos en silencio. Adivinarla inventa un carácter que nunca estuvo. Dejarla visible te dice exactamente qué no se trató, y su forma numérica siempre funciona.

La decodificación se ejecuta una vez

&amp;lt; da &lt;, no <.

Es la respuesta correcta, no un límite. &amp;lt; es lo que un codificador produce cuando el texto de origen eran los cuatro caracteres literales &lt;, así que una sola pasada devuelve exactamente ese texto. Volver a pasar el decodificador convertiría marcado escapado en marcado vivo: el fallo exacto que el escape existe para impedir.

El punto y coma es obligatorio

&amp x se deja como está. Los navegadores sí decodifican algunas referencias sin terminador, por compatibilidad con documentos escritos en los noventa, pero cuáles depende del analizador y del contexto. Exigir el punto y coma hace que el resultado no dependa de a qué analizador preguntes.

Referencias que no nombran ningún carácter

Tres casos se devuelven tal cual en lugar de decodificarse:

  • &#0; — un NUL no tiene representación legal en HTML, y producirlo trunca una cadena C, rompe un insert SQL y corrompe lo que lea el resultado;
  • de &#xD800; a &#xDFFF; — las mitades suplentes no son caracteres, solo un artefacto de codificación;
  • todo lo que supere &#1114111; — más allá del techo de Unicode.

Ves la referencia que escribiste, que es la señal honesta de que no nombraba nada.

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é &hearts; sigue en mi salida?
Porque no está en la lista de nombres que esta herramienta decodifica, y dejarlo visible es mejor que borrarlo o adivinarlo. HTML5 define más de dos mil nombres; los habituales están cubiertos y el resto queda tal como lo escribiste, para que veas qué no se trató. Su forma numérica, `&#9829;`, sí se decodifica.
¿Por qué &amp;lt; solo se convirtió en &lt; y no en <?
Porque la decodificación se ejecuta una vez. `&amp;lt;` es lo que un codificador produce a partir del texto literal `&lt;`, así que una pasada devuelve ese texto, y esa es la respuesta correcta. Decodificar dos veces convertiría marcado escapado en marcado vivo, justo el fallo que el escape existe para impedir.
¿Por qué &#0; quedó intacto?
Porque no hay ningún carácter que producir. Un NUL no tiene representación legal en un documento HTML, y emitirlo truncaría una cadena C, rompería un insert SQL y corrompería lo que leyera el resultado. Lo mismo vale para una mitad suplente y para todo lo que supere U+10FFFF: la referencia se devuelve tal cual, visible.

Convertidores relacionados