Codificar y decodificar entidades HTML
Convierte caracteres especiales en entidades HTML (<, &, á…) para mostrar código o texto sin que el navegador lo interprete, o decodifica entidades para recuperar el texto original.
Cómo usar el codificador de entidades
- En modo Codificar, pega el texto o fragmento de código. Por defecto se escapan los cinco caracteres con significado en HTML:
&,<,>,"y'. - Elige «Especiales y todo lo no ASCII» si el destino no admite UTF-8 (plantillas de correo antiguas, algunos CMS o archivos guardados en Latin-1). Puedes preferir entidades con nombre, más legibles, o numéricas, que funcionan para cualquier carácter, incluidos los emojis.
- En modo Decodificar, pega HTML con entidades y obtendrás el texto plano. Se reconocen todas las entidades del estándar HTML5, no solo las de la tabla.
Para qué sirven las entidades HTML
El navegador interpreta < como el inicio de una etiqueta y & como el inicio de una entidad. Si quieres que esos caracteres aparezcan como texto (por ejemplo, para enseñar código en un tutorial), debes escribirlos como entidades. Una entidad tiene tres formas equivalentes:
&nombre; · &#decimal; · &#xhexadecimal;
Así, la é puede escribirse é, é o é: el número es su punto de código Unicode (U+00E9 = 233).
Escapar los caracteres especiales es además la defensa básica contra la inyección de código (XSS): si una aplicación inserta en la página un comentario de usuario como <script>… sin escaparlo, ese código se ejecutaría en el navegador de los demás visitantes. Dentro de atributos escapa siempre también las comillas.
Tabla de entidades más usadas en español
| Carácter | Entidad con nombre | Decimal | Uso |
|---|---|---|---|
| & | & | & | Obligatorio en texto y en URL dentro de href |
| < > | < > | < > | Mostrar etiquetas como texto |
| " | " | " | Dentro de atributos entre comillas dobles |
| ' | ' | ' | Dentro de atributos entre comillas simples |
| (espacio duro) | |   | Evitar cortes: «10 km», «Sr. López» |
| á é í ó ú | á … ú | á … ú | Vocales con tilde |
| ñ Ñ | ñ Ñ | ñ Ñ | Eñe |
| ü | ü | ü | Diéresis (pingüino) |
| ¿ ¡ | ¿ ¡ | ¿ ¡ | Signos de apertura |
| « » | « » | « » | Comillas angulares |
| € | € | € | Euro |
| – — | – — | – — | Guion corto y raya |
| © ® ™ | © ® ™ | © ® ™ | Avisos legales |
Ejemplo
El fragmento <a href="/?a=1&b=2">Ver más</a> codificado en modo estándar queda <a href="/?a=1&b=2">Ver más</a>. Pegado en una página, se verá el código tal cual en lugar de un enlace.
¿Hace falta codificar las tildes hoy?
No, si tu página declara <meta charset="utf-8"> y el archivo está guardado en UTF-8, que es lo normal en cualquier editor y CMS actual. Las entidades para tildes y eñes solo son necesarias cuando la codificación del destino es incierta. Si ves «Ã©» en lugar de «é», el problema es un desajuste de codificación, no la falta de entidades.
No confundas capas: las entidades sirven para HTML; en una URL se usa percent-encoding; en una cadena de JavaScript o JSON, secuencias de escape como \"; y para transportar binario, Base64. Si lo que necesitas es quitar todas las etiquetas y quedarte con el texto, usa HTML a texto; para reducir el peso de una página, el minificador de HTML. Todo se procesa en tu navegador.
Preguntas frecuentes
¿Qué es una entidad HTML?
Una forma de escribir un carácter mediante un código que empieza por & y termina en ;, por ejemplo < para <. Sirve para mostrar caracteres que el navegador interpretaría como código o que no se pueden escribir directamente.
¿Qué caracteres hay que escapar siempre en HTML?
En el texto, & y < (y por costumbre >). Dentro de un atributo, además la comilla que lo delimita: " o '.
¿Cuál es la entidad del espacio en blanco?
(espacio de no separación, U+00A0). Impide que el navegador corte la línea en ese punto; no lo uses para crear márgenes, para eso está CSS.
¿Es mejor é o é?
Son equivalentes. Las entidades con nombre se leen mejor; las numéricas existen para cualquier carácter Unicode y también funcionan en XML, donde solo se definen cinco entidades con nombre.