Skip to content
Herramienta Pro

Codificador y decodificador de entidades HTML

Codifica texto en entidades HTML con nombre, decimales o hexadecimales, o decodifica entidades a texto plano, todo en tu navegador.

Abrir la herramienta →

La herramienta interactiva se abre en inglés.

Un codificador y decodificador de entidades HTML en el navegador: convierte texto en entidades HTML o vuelve a convertir las entidades en texto plano, en una sola herramienta con un selector de dirección. Codifica en entidades con nombre (&copy;), referencias numéricas decimales (&#169;) o hexadecimales (&#xA9;), a tu elección. Elige el alcance: codificar todos los caracteres no ASCII más los cinco caracteres especiales de HTML, o solo los cinco especiales & < > " ' para un resultado mínimo y legible. La decodificación es automática: resuelve en la misma pasada las entidades con nombre, decimales y hexadecimales, y deja intacto lo que no reconoce. Todo se ejecuta en el lado del cliente, en tu navegador: pega un fragmento de una página, un log o un correo sospechoso y nada se envía nunca a un servidor. Es una herramienta Pro: con una cuenta gratuita tienes 3 usos de herramientas Pro en total y después necesitas Pro.

  1. Elige la dirección: codificar o decodificar.
  2. Para codificar, elige el formato (con nombre, decimal o hexadecimal) y el alcance (todo lo no ASCII más los especiales, o solo los cinco especiales).
  3. Pega el texto o el fragmento y lee el resultado.
  4. Copia el resultado. Nada sale de tu navegador.

Preguntas frecuentes

¿Qué es una entidad HTML?

Una entidad HTML (también llamada referencia de carácter) es una forma de escribir un carácter usando solo ASCII simple para que el navegador no lo confunda con marcado. Hay dos tipos. Las entidades con nombre usan un nombre mnemotécnico entre un ampersand y un punto y coma, como &amp; para el ampersand, &lt; para el signo menor que o &copy; para el símbolo de copyright. Las referencias numéricas de carácter usan el punto de código Unicode del carácter, escrito en decimal como &#169; o en hexadecimal como &#xA9; (ambas producen ©). Codificar un carácter como entidad le dice al navegador que lo muestre literalmente en lugar de interpretarlo como sintaxis HTML.

¿Qué caracteres debo codificar en HTML y cuándo?

Cinco caracteres son especiales en HTML: & (ampersand), < (menor que), > (mayor que), " (comillas dobles) y ' (comilla simple o apóstrofo). Dónde hay que codificar cada uno depende del contexto en el que acaba el valor. En el texto de un elemento hay que codificar & y < (> se codifica por convención, por seguridad). Dentro del valor de un atributo entre comillas dobles también hay que codificar las comillas dobles; dentro de un atributo entre comillas simples, la comilla simple. Codificar los cinco en todas partes es la opción segura por defecto. Los caracteres no ASCII (acentos, símbolos, emojis) no necesitan codificarse estrictamente cuando la página se sirve en UTF-8, pero codificarlos garantiza que sobrevivan a transportes y editores que no manejan bien UTF-8.

¿Qué diferencia hay entre las entidades con nombre y las numéricas?

Son dos formas de escribir lo mismo. Una entidad con nombre como &copy; es legible, pero solo funciona para los caracteres que tienen un nombre definido, que son unos cientos. Una referencia numérica de carácter funciona para cualquier punto de código Unicode: decimal &#169; o hexadecimal &#xA9;. La hexadecimal es habitual porque coincide con la notación U+00A9 del estándar Unicode. Las tres formas se decodifican exactamente al mismo carácter. Esta herramienta te deja codificar con nombre (recurriendo a la numérica cuando no existe nombre) o forzar la numérica en decimal o hexadecimal, y decodifica las tres formas automáticamente.

¿Basta con codificar en HTML para detener el XSS (cross-site scripting)?

Solo en el contexto adecuado. La codificación en entidades HTML es la defensa correcta cuando se insertan datos no fiables en el texto de un elemento HTML o en el valor de un atributo entre comillas: impide que los datos se escapen y se conviertan en marcado o en una etiqueta nueva. Pero depende del contexto y NO basta en todas partes. Los datos colocados dentro de un bloque <script>, de un manejador de eventos en línea (onclick=...), de un atributo style o de una URL (href/src) necesitan respectivamente codificación de cadena JavaScript, de CSS o de URL; la codificación en entidades HTML ahí puede seguir ejecutándose o eludirse. La regla práctica: codifica para el contexto exacto en el que se usa el valor y, mejor aún, no pongas datos no fiables en sumideros peligrosos (script, style o URL).

¿Se envía a un servidor algo de lo que pego?

No. Toda la codificación y decodificación ocurre en tu navegador con JavaScript local: no hay peticiones de red, ni subidas, ni registros. Por eso es seguro pegar un fragmento de una página interna, un log de una aplicación o un correo de phishing sospechoso y ver cómo se decodifica, sin que el contenido salga nunca de tu equipo.

¿Es gratis?

No, es una herramienta Pro. Con una cuenta gratuita tienes 3 usos de prueba de herramientas Pro en total; después necesitas Pro.

🖤 Black Friday: new customers get 3 months of Pro for $5, then $5/month. Ends 30 Nov. Claim 3 months for $5 →