HTML Encoder

HTML Encoder / Decoder

Escapa `& < > " '` a entidades HTML seguras, o decodifica texto con entidades de vuelta a texto plano. Cuatro niveles de codificación — Mínimo, Con nombre, Numérico, Todo no ASCII. Seguro con UTF-8 + emoji + CJK, en tu navegador.

Por defecto usa Mínimo — escapa solo & < > " ', los cinco caracteres que rompen los contextos de cuerpo y atributo HTML. Es lo que hace cualquier motor de plantillas moderno. Usa Entidades con nombre si quieres copyright / nbsp / flechas etc. como códigos legibles (&copy; en vez de &#169;). Usa Numérico al enviar HTML por canales que pueden no entender entidades con nombre. Usa Todo no ASCII cuando apuntes a sistemas estrictos de solo ASCII (servidores de correo heredados, APIs defectuosas).

&apos; es válido en XML y HTML5, pero no en HTML 4.01 — los navegadores antiguos lo muestran como el texto literal '. La referencia numérica &#39; funciona en todos lados. El decodificador acepta &apos; como entrada por compatibilidad.

Entrada
Salida

Creado para una salida HTML segura

Escapa contenido del usuario para plantillas, decodifica datos con entidades — y unos pocos detalles que hacen que sea realmente agradable de usar.

Cuatro modos de codificación

Mínimo escapa solo los cinco caracteres inseguros en HTML (& < > " ') — el valor predeterminado correcto para contenido normal generado por usuarios. Con nombre usa entidades HTML5 legibles como &copy; / &nbsp; / &hearts; cuando existen. Numérico codifica cada punto de código no ASCII como &#NN;. Todo no ASCII codifica cada punto de código fuera del ASCII imprimible para canales heredados o solo ASCII.

Decodifica cualquier entidad

El decodificador maneja entidades con nombre (&copy;), numéricas decimales (&#169;) y numéricas hexadecimales (&#xA9;). Los puntos de código de pares sustitutos (emoji, escrituras antiguas) hacen ida y vuelta correctamente vía UTF-16.

Vista previa en vivo

La salida se actualiza con cada pulsación de tecla — sin botón Codificar / Decodificar que pulsar. Cambia de dirección con un clic; el botón Intercambiar mueve la salida de vuelta a la entrada para que puedas encadenar transformaciones.

Seguro con UTF-8 + emoji + CJK

Cada punto de código Unicode hace ida y vuelta: 中文, العربية, русский, हिंदी, 🎉, Þorgeir. El codificador itera por punto de código (no charAt), de modo que los pares sustitutos permanecen intactos.

Privacidad por diseño

Tu texto se queda en tu dispositivo. El codificador, el decodificador y la tabla de entidades con nombre se ejecutan como JavaScript localmente. Abre DevTools → Network y comprueba que hay cero peticiones salientes.

Pequeño + rápido

JavaScript puro, sin runtime de framework. La carga en frío está por debajo de 25 KB comprimidos con gzip. Un documento HTML de 100 KB se codifica en menos de 5 ms.

Cómo codificar o decodificar entidades HTML

Cuatro pasos del texto crudo a la salida segura con entidades.

  1. 1

    Pega tu texto

    Suelta texto plano o HTML en el panel Entrada. Vale cualquier cosa — comentarios de usuario, entradas de blog, emoji, CJK, escrituras RTL. El codificador itera por punto de código, así que las secuencias multibyte se mantienen intactas.

  2. 2

    Elige dirección + modo

    Pon Dirección en Codificar (texto → entidades) o Decodificar (entidades → texto). Para Codificar, elige el modo: Mínimo para plantillas, Con nombre para entidades legibles, Numérico para no ASCII como &#NN;, Todo no ASCII para salida solo ASCII.

  3. 3

    Observa la vista previa en vivo

    La salida se actualiza con cada pulsación. Compara modos en tiempo real cambiando el desplegable. Usa Intercambiar para mover la salida de vuelta a la entrada — útil para verificación de ida y vuelta (codificar y luego decodificar = original).

  4. 4

    Copia o descarga

    Usa el icono de copiar para enviar el resultado al portapapeles, o el icono de descarga para guardarlo como output.encode.html / output.decode.txt. La diferencia de tamaño (caracteres / bytes de entrada → salida) muestra exactamente cuánto ha inflado o reducido la codificación el texto.

Creado para el trabajo diario en desarrollo web

Cuatro escenarios habituales en los que una herramienta de navegador con privacidad por delante supera a pegar código en un codificador online cualquiera.

Incrustar contenido de usuario en una plantilla de forma segura

Comentarios de usuarios, respuestas de formularios, consultas de búsqueda — cualquier cosa que venga de fuera y acabe dentro de un <p>, <li> o atributo. Pásalo por el modo Mínimo antes de concatenarlo en tu HTML, y estarás a salvo de marcado roto y de los payloads XSS más simples.

Leer datos con entidades desde una API

Algunas APIs devuelven cadenas ya escapadas con entidades (feeds RSS, ciertas exportaciones de CMS, HTML extraído). Pega, pulsa Decodificar, y recuperas el Unicode original. El decodificador maneja entidades con nombre, decimales y hexadecimales, incluidos pares sustitutos.

Líneas de asunto de email + meta tags

<title>, <meta name="description">, <meta property="og:title"> — todos necesitan escape de entidades para caracteres especiales. Codifica tu titular una vez, pégalo en los tres.

Contenido sensible que no puede ir a un servicio de terceros

Contenido interno de CMS, datos de clientes, plantillas protegidas por NDA — cualquier cosa que no puedas pegar en un codificador en la nube. La herramienta solo en navegador mantiene cada byte en tu portátil. Abre DevTools → Network y verifica que no sale nada.

100% privado — se ejecuta en tu navegador

Tu texto nunca sale de tu dispositivo. Abre DevTools → Network y verás cero peticiones salientes durante la codificación o decodificación.

  • El codificador, el decodificador y la tabla de búsqueda de entidades con nombre se ejecutan como JavaScript en tu máquina — sin conversión en servidor, sin API de terceros.
  • Los puntos de código de pares sustitutos (emoji, escrituras antiguas) se manejan por iteración de puntos de código, no por mapeo a nivel de byte — así que un pegado de 🎉 sigue siendo 🎉 después de una ida y vuelta.
  • Sin login, sin telemetría sobre el contenido del texto. Solo usamos una cookie para el estado de consentimiento y otra para la preferencia de idioma.

Guías relacionadas

Lecturas seleccionadas sobre escape de HTML, tablas de entidades y plantillas seguras.

Preguntas frecuentes

¿Qué modo debo elegir?

Por defecto usa Mínimo — escapa solo & < > " ', los cinco caracteres que rompen los contextos de cuerpo y atributo HTML. Es lo que hace cualquier motor de plantillas moderno. Usa Entidades con nombre si quieres copyright / nbsp / flechas etc. como códigos legibles (&copy; en vez de &#169;). Usa Numérico al enviar HTML por canales que pueden no entender entidades con nombre. Usa Todo no ASCII cuando apuntes a sistemas estrictos de solo ASCII (servidores de correo heredados, APIs defectuosas).

¿Por qué se escapa `'` como `&#39;` en lugar de `&apos;`?

&apos; es válido en XML y HTML5, pero no en HTML 4.01 — los navegadores antiguos lo muestran como el texto literal '. La referencia numérica &#39; funciona en todos lados. El decodificador acepta &apos; como entrada por compatibilidad.

¿Sobreviven los caracteres emoji y CJK?

Sí. El codificador itera puntos de código (no unidades de código UTF-16), así que emojis como 🎉 (U+1F389) se convierten en &#127881; al codificar y vuelven correctamente al decodificar. Lo mismo para CJK (中文 → &#20013;&#25991; en modo numérico).

¿Es seguro incrustar entrada del usuario directamente en HTML después de codificar?

Para cuerpo y atributos HTML — sí, con el modo Mínimo. Para contextos de URL (href="...") también necesitas codificación de URL. Para JavaScript o CSS en línea, ni la codificación HTML ni la de URL son suficientes — usa un motor de plantillas adecuado que entienda esos contextos. Nunca pegues entrada del usuario sin escapar dentro de un bloque <script>.

¿Se envía algo a vuestro servidor?

No. El codificador, el decodificador y la tabla de búsqueda de entidades con nombre se ejecutan en JavaScript en tu dispositivo. Abre DevTools → Network y verás cero peticiones salientes durante la codificación o decodificación. Pega secretos, datos de clientes, plantillas internas — nada sale de tu portátil.