bitlvl
ES

Codificar / decodificar entidades HTML

Pega texto para codificar o entidades para decodificar. Elige referencias con nombre o numéricas. La tabla de abajo lista todas las entidades con nombre que conoce HTML5, con búsqueda por nombre o carácter.

Codificar

Tabla de entidades con nombre

 

Los resultados y mensajes de esta herramienta se muestran en inglés.

Cuándo codificar

Solo cinco caracteres tienen significado en el texto y los atributos HTML: & inicia una entidad, < y > delimitan etiquetas, y " y ' cierran valores de atributo. Escápalos siempre que insertes texto no fiable en una página y estarás a salvo de la inyección de marcado (XSS en contexto HTML). Todo lo demás, incluidos acentos, emoji y símbolos, puede escribirse literalmente en un documento UTF-8; codificarlo como &eacute; es una costumbre de la era Latin-1 y hace el código fuente más difícil de leer.

Tres formas de escribir un carácter

FormaEjemploNotas
Con nombre&eacute; &rarr; &nbsp;2.125 nombres en HTML5; legibles, pero en XML sin DTD solo funcionan los cinco básicos.
Decimal&#233;Funciona en todas partes, también en XML y SVG.
Hex&#xE9;Coincide con la notación de punto de código Unicode U+00E9; también universal.

Trampas

  • &nbsp; es un carácter real (U+00A0). Sobrevive al copiar y pegar como un espacio de no separación invisible y hace fallar comparaciones de cadenas; el inspector Unicode lo encuentra.
  • Los navegadores aceptan algunas entidades antiguas sin punto y coma (&copy, &amp), así que una URL como ?a=1&copy=2 en un atributo sin escapar se convierte en ?a=1©=2. Escribe siempre &amp; en los atributos.
  • La doble codificación (&amp;lt;) aparece en la página como un &lt; literal; codifica una vez, en el punto de salida.
  • En cadenas de JavaScript las entidades HTML no se decodifican; usa ahí \u00E9, o asigna textContent y olvídate de escapar.

Preguntas

¿Qué es &nbsp;?

Un espacio de no separación, U+00A0: un espacio que impide el salto de línea y no se colapsa con los espacios adyacentes. Úsalo entre un número y su unidad (10 km) y en ningún otro sitio.

¿Debo codificar tildes y acentos?

No si la página se sirve como UTF-8, como debería toda página moderna. Escribe é directamente. Codifica solo si el archivo puede guardarse en otro juego de caracteres o si necesitas hacer visible un carácter invisible en el código fuente.

¿Qué entidades funcionan en XML y SVG?

Solo &, <, >, " y ', además de las referencias numéricas. Las entidades con nombre como © provocan un error de análisis en XML si no están declaradas.

¿Cómo muestro código HTML en una página web?

Codifícalo: cada < se convierte en &lt;, cada & en &amp;. Pega el código en el campo de texto con la primera opción de codificación y copia la salida HTML en un bloque <pre><code>.