Decodificador HTML

Convierte entidades HTML como & < y ' de vuelta a texto plano en tu navegador, entidades con nombre y numéricas, instantáneo, sin subir nada.

🌐 English

🔒 Privado por diseño: tu texto se procesa localmente en tu navegador; nada se sube nunca a ningún servidor.

Cómo decodificar entidades HTML

  1. Pega el texto escapado en HTML que quieres convertir de vuelta a texto plano en la caja de arriba, entidades con nombre como & o <, entidades numéricas como ' o ', o una mezcla de ambas.
  2. Haz clic en Decodificar HTML, el resultado en texto plano aparece al instante, justo debajo.
  3. Haz clic en Copiar al portapapeles para llevarte el texto decodificado, y pégalo donde necesites los caracteres reales.

Sin archivo que elegir, sin subida, todo es una operación de un clic dentro del navegador.

¿Por qué decodificar entidades HTML?

Las entidades HTML son los sustitutos escapados, seguros para incrustar, de caracteres que de otro modo serían ambiguos o inseguros dentro del marcado HTML: &amp; para un & literal, &lt;/&gt; para </>, &quot;/&#39; para caracteres de comilla, y referencias numéricas como &#233; o &#127881; para cualquier cosa codificada por su punto de código Unicode en bruto. Eso es exactamente lo que quieres dentro de un documento HTML real, pero es la forma equivocada en cuanto copias ese mismo texto fuera del código fuente de una página, una exportación de un CMS, un feed RSS/Atom, o una respuesta de API que devuelve cadenas escapadas en HTML, y solo quieres leer o reutilizar el contenido real.

Esta es una tarea habitual para cualquiera que depure por qué una página muestra &amp; literal en lugar de &, limpie texto copiado de ver-código-fuente o una página extraída, convierta una vieja exportación de CMS u hoja de cálculo de vuelta a texto plano, o trabaje con una API que devuelve cadenas escapadas en entidades HTML dentro de JSON. Esta página ejecuta la decodificación real en cuanto haces clic en el botón.

Entidades con nombre y numéricas, decodificadas correctamente

Esta herramienta reconoce dos formas distintas de entidad. Las entidades con nombre son las reconocibles como &amp;, &lt;, &nbsp; o &copy;, cada una se busca en una tabla modesta de nombres comunes (mira las preguntas frecuentes para la lista exacta; deliberadamente no pretende cubrir la tabla completa de más de 2000 referencias de caracteres con nombre de HTML5, ya que una implementación verdaderamente completa necesitaría un archivo de datos grande que la mayoría del texto pegado nunca llega a usar). Las entidades numéricas son &#39; (decimal) o &#x27;/&#X27; (hexadecimal, en cualquier caso), y se analizan como un punto de código en bruto y se convierten directamente, así que funcionan para cualquier carácter, incluidos los que no tienen entidad con nombre.

La decodificación numérica usa String.fromCodePoint en lugar del más conocido String.fromCharCode, lo cual importa para caracteres por encima del Plano Multilingüe Básico, la mayoría de los emoji, por ejemplo. String.fromCharCode solo entiende unidades de código UTF-16 de 16 bits, así que una entidad de emoji como &#127881; saldría como dos caracteres de mitad de sustituto rotos en lugar de 🎉. String.fromCodePoint reconstruye el punto de código real en un solo paso, así que el ciclo completo de codificar y luego decodificar siempre llega exactamente al carácter original.

Las entidades no reconocidas se dejan tal cual, no se corrompen

No todas las secuencias con forma &...; de un documento real están en la tabla de esta herramienta, y un & suelto (como en “Tom & Jerry” o “R&D”) no es una entidad válida en absoluto. En lugar de adivinar, eliminar silenciosamente o lanzar un error en cualquiera de esos casos, esta herramienta los deja exactamente tal como se escribieron, una entidad con nombre no reconocida como &notreal; pasa sin cambios, y un ampersand simple que no va seguido de un patrón de entidad válido nunca coincide en primer lugar. Lo único que cambia es el texto que esta herramienta realmente reconoce como una entidad real.

Sin DOM por diseño

Una forma habitual de construir un decodificador rápido de entidades HTML es apoyarse en el propio navegador, asignar la cadena escapada al innerHTML de un <textarea> oculto y leer de vuelta su .value, o usar DOMParser. Ambas funcionan bien en una pestaña de navegador real, pero ambas necesitan que exista un DOM real, algo que un simple entorno de pruebas Node.js no ofrece. Esta herramienta en cambio usa una única expresión regular más una tabla de búsqueda plana y String.fromCodePoint (JavaScript ordinario sin ninguna dependencia de DOM) así que su lógica exacta de decodificación puede probarse unitariamente directamente en Node, igual que cualquier otra herramienta de este sitio, en lugar de solo poder ejercitarse dentro de un navegador real.

Tu texto nunca sale de tu dispositivo

La decodificación de entidades HTML no necesita un servidor, es una sustitución de texto pura que se ejecuta al instante en JavaScript. Algunas herramientas online de “decodificador HTML” igualmente envían tu texto a través de un backend, lo cual es un riesgo innecesario si lo que pegas es contenido no publicado, documentación interna, o datos de usuarios que preferirías no entregar a los registros de acceso del servidor de un tercero.

Esta herramienta ejecuta la sustitución en el instante en que haces clic en el botón, usando solo el propio motor de JavaScript de tu navegador, nada se transmite, registra ni almacena, y funciona exactamente igual sin conexión una vez que la página ha cargado.

Usos habituales

Cómo funciona, en imágenes

Captura de pantalla de la herramienta Decodificador HTML con la entrada de ejemplo «&lt;h1 class=&quot;x&quot;&gt;100 &amp;amp; 50&a…»
Decodificador HTML en pleno proceso: la entrada de ejemplo «&lt;h1 class=&quot;x&quot;&gt;100 &amp;amp; 50&a…».
Captura de pantalla del resultado de Decodificador HTML mostrando la salida generada «<h1 class="x">100 &amp; 50&#37;</h1> &copy; 2026…»
El resultado final: la salida generada «<h1 class="x">100 &amp; 50&#37;</h1> &copy; 2026…». El enlace de descarga es una URL blob local: el archivo nunca sale de tu dispositivo.

Preguntas frecuentes

¿Se envía mi texto a un servidor para decodificarlo?

No. La decodificación de entidades HTML es una operación pura de mapeo de caracteres en JavaScript, y se ejecuta enteramente dentro de tu pestaña del navegador en cuanto haces clic en el botón. Lo que pegues (un fragmento de código escapado, una exportación de un CMS, un fragmento de página extraído) nunca sale de tu dispositivo.

¿Qué entidades con nombre soporta esta herramienta?

Un conjunto concreto en lugar de la tabla completa de HTML5 (que tiene más de 2000 referencias con nombre). Los 5 caracteres siempre escapados (&amp; &lt; &gt; &quot; &apos;) más una lista modesta de otros habituales, concretamente &nbsp; &copy; &reg; &trade; &hellip; &mdash; &ndash; &lsquo; &rsquo; &ldquo; &rdquo; &euro; &pound; &yen; &cent; &sect; &para; &deg; &plusmn; &times; &divide; &laquo; &raquo; &bull; &dagger; &Dagger; &permil; &micro; &middot; &frac12; &frac14; &frac34; &iexcl; y &iquest;. Cualquier entidad con nombre fuera de esta lista (por ejemplo, &spades; o &alpha;) se deja exactamente como se escribió en lugar de adivinarla o corromperla.

¿Esto gestiona también entidades numéricas, como &#39; o &#x27;?

Sí, ambas formas. Las entidades numéricas decimales (&#39;) y hexadecimales (&#x27; o &#X27;, en cualquier caso) se analizan y se convierten de vuelta a su carácter, tengan o no también un equivalente con nombre.

¿Qué pasa con una entidad de emoji como &#127881;?

Se decodifica correctamente a un único carácter de emoji (🎉), no a dos símbolos rotos. Algunos emoji están por encima del rango UTF-16 de 16 bits y se representan en JavaScript como un "par sustituto" de dos unidades de código, esta herramienta convierte el número usando String.fromCodePoint, que reconstruye el punto de código Unicode real en un solo paso, en lugar de String.fromCharCode, que solo produciría la mitad de un carácter válido.

¿Qué pasa si pego algo que no es una entidad real, como un & suelto o &notreal;?

Pasa completamente sin cambios. Un & simple que no va seguido de un patrón de entidad válido (por ejemplo, "Tom & Jerry", "R&D") nunca coincide en primer lugar, y una entidad con aspecto bien formado pero no reconocida (como &notreal;) se deja exactamente como se escribió en lugar de eliminarse o corromperse silenciosamente, la misma cautela que esta herramienta aplica con un valor numérico fuera de rango.

¿Puedo convertir texto plano en entidades HTML aquí?

No en esta página, esta herramienta solo decodifica. Usa la herramienta complementaria Codificador HTML para la operación inversa, que escapa & < > y los caracteres de comillas (además, opcionalmente, todo el texto no ASCII) a su forma de entidad.

¿Por qué esto aparece como una herramienta de texto en lugar de un conversor de archivos?

A diferencia de otras herramientas de este sitio, la decodificación HTML trabaja sobre texto pegado en lugar de un archivo subido, así que usa una caja de pegar/copiar en lugar de una zona de arrastrar archivos. Vive dentro de Texto y Herramientas para Desarrolladores, junto a su herramienta complementaria Codificador HTML y las demás utilidades de codificación/decodificación/hash del sitio.

Herramientas relacionadas