Cómo usarla
- Elige Codificar para que el texto sea seguro en HTML o Decodificar para convertir las entidades de nuevo en caracteres.
- Al codificar, elige si las letras acentuadas y los símbolos deben mantenerse tal cual o convertirse en entidades.
- Escribe o pega el texto; el resultado se actualiza al instante.
- Copia el resultado o usa «Usar el resultado como entrada» para comprobar que se decodifica y vuelve al original.
Cómo funciona
En HTML, algunos caracteres tienen un significado especial: < inicia una etiqueta, & inicia una entidad, y " o ' cierran el valor de un atributo. Para mostrarlos como texto, hay que escribirlos como referencias de carácter: < para <, > para >, & para &, " para " y ' para '. El apóstrofo usa la forma numérica porque ' no está definido en HTML 4.
El resto de los caracteres, incluidas las letras acentuadas, el texto en chino y los emoji, se pueden escribir directamente si la página se guarda y se sirve como UTF-8, que es la codificación predeterminada en los sitios web modernos. Solo es necesario convertirlos en entidades para sistemas que no admiten UTF-8, como algunas plantillas de correo electrónico o bases de datos antiguas. En ese caso, puedes elegir entidades con nombre, como é cuando exista un nombre habitual (con una alternativa numérica para los demás caracteres), o referencias numéricas, como é para cada carácter.
La decodificación no usa el analizador HTML del navegador. Usa una tabla integrada con las 252 entidades con nombre de HTML 4.01, ' y unas 30 entidades HTML5 habituales, además de referencias decimales y hexadecimales. Las referencias numéricas siguen las reglas de HTML5: �, los valores sustitutos y los valores superiores a U+10FFFF se convierten en el carácter de reemplazo �, y los valores del 128 al 159 se interpretan como Windows-1252, por lo que – se convierte en una raya. También se aceptan sin el punto y coma final algunos nombres heredados, como & y ©, igual que en los navegadores. HTML5 define más de 2.000 nombres; los poco frecuentes que no están en la tabla se dejan sin cambios y se muestran en una lista.
Escapar el texto antes de insertarlo en HTML es una medida importante para protegerse contra el cross-site scripting (XSS), pero solo es correcto para el contenido de elementos y los valores de atributos entre comillas. El texto dentro de un bloque <script>, un atributo style o una URL necesita un escape diferente.
Ejemplos
Mostrar código en una página web
Para mostrar <div class="box"> como texto en una entrada de blog, conviértelo a <div class="box">. El navegador muestra la etiqueta original en lugar de crear un elemento.
Preparar texto para una plantilla de correo antigua
Con la opción «Entidades con nombre cuando estén disponibles», «Café – 5 €» se convierte en Café – 5 €, que se muestra correctamente incluso si el correo electrónico se envía con una codificación de caracteres que no es UTF-8.
Limpiar texto extraído o exportado
Una exportación de un CMS contiene Fish & Chips – £9. Al decodificarla, se obtiene Fish & Chips – £9, listo para pegar en una hoja de cálculo.
Preguntas frecuentes
¿Qué caracteres hay que escapar en HTML?
En el contenido de un elemento, hay que escapar & y < (también se recomienda escapar >). En los valores de atributos, escapa además el carácter de comillas que delimita el valor. Escapar siempre los cinco caracteres (& < > " ') es la regla sencilla y segura que sigue esta herramienta.
¿Qué diferencia hay entre las entidades con nombre y las numéricas?
Las entidades con nombre, como ©, son más fáciles de leer, pero solo existen para un conjunto limitado de caracteres. Las referencias numéricas, como © (decimal) o © (hexadecimal), funcionan con cualquier carácter Unicode, incluidos los emoji.
¿Por qué se decodifica como algo que parece un espacio?
es un espacio de no separación (U+00A0). Parece un espacio normal, pero impide los saltos de línea y HTML no lo contrae. Es un carácter distinto del espacio normal, algo importante al comparar o buscar texto.
¿Tengo que codificar letras acentuadas como é?
No, si tu página usa UTF-8 (<meta charset="utf-8">), como ocurre en casi todas las páginas modernas. Mantén la opción predeterminada: solo se escapan los cinco caracteres especiales.
¿La codificación basta para prevenir XSS?
Es suficiente para texto no confiable que se inserta en el contenido de un elemento HTML o en valores de atributos entre comillas. No es suficiente para código JavaScript, CSS, atributos sin comillas ni URL como href="javascript:…"; estos requieren un tratamiento específico según el contexto.
Privacidad
La codificación y la decodificación se realizan en tu navegador mediante operaciones de cadenas de texto simples; el texto nunca se procesa como HTML, se sube, se almacena ni se incluye en las analíticas.