Respuesta rápida
Pega texto y elige Codificar para sustituir los caracteres que tienen un significado especial en HTML: & se convierte en &, < en <, > en > y las comillas en " o ', de modo que el navegador los muestre como texto en lugar de tratarlos como código. Elige un modo más completo para convertir también en entidades símbolos como © y letras hindi. Cambia a Decodificar para convertir , © o न de nuevo en caracteres.
¿Qué es un codificador de entidades HTML?
Un codificador / decodificador de entidades HTML convierte los caracteres que tienen un significado especial en HTML en códigos seguros llamados entidades, y vuelve a convertir esos códigos en caracteres. En HTML, un signo menor que inicia una etiqueta, un ampersand inicia una entidad y las comillas delimitan valores de atributos. Si quieres que una página web muestre «<div>», «5 < 10» o «Tom & Jerry», esos caracteres deben escribirse como <, > y &. De lo contrario, el navegador los trata como marcado, lo que rompe el diseño o, con entradas no fiables, abre la puerta al cross-site scripting (XSS).
Esta herramienta gratuita escapa los cinco caracteres especiales de HTML, también puede convertir símbolos comunes en entidades con nombre como © y —, o convertir cada carácter no ASCII (hindi, emoji, ₹) en referencias numéricas para sistemas que solo aceptan ASCII simple. En el otro sentido, decodifica cualquier entidad con nombre o numérica, desde hasta 😀, de vuelta al carácter real. La decodificación usa el DOMParser del navegador, que solo analiza, así que incluso las etiquetas script pegadas nunca se ejecutan.
Características principales
- Solo caracteres especiales: & < > " ' escapados para contenido y atributos HTML seguros.
- Entidades con nombre: unos 30 símbolos comunes ( © ® € → … …).
- Referencias decimales: cada carácter no ASCII como &#NNNN;.
- Referencias hexadecimales: cada carácter no ASCII como &#xHHHH;.
- Decodifica cualquier cosa: todas las entidades con nombre de HTML5 y las referencias numéricas.
- Seguro con emoji: los caracteres fuera del Plano Multilingüe Básico se convierten en una sola referencia, no en dos.
- Recuento de entidades y copia con un clic.
- Privado: se ejecuta localmente.
Cómo usarla, paso a paso
- Elige Codificar o Decodificar.
- Para codificar, elige un modo: solo caracteres especiales (el más común), entidades con nombre o numérico.
- Pega tu texto, código o HTML.
- Copia el resultado, o presiona Usar el resultado como entrada para revertirlo.
Comparación de los modos de codificación
Entrada: <p class="note">Price: ₹500 — "Tom & Jerry" © 2026</p>
| Modo | Resultado |
|---|---|
| Solo caracteres especiales | <p class="note">Price: ₹500 — "Tom & Jerry" © 2026</p> |
| + entidades con nombre | … ₹500 — "Tom & Jerry" © 2026 … |
| Decimal | … ₹500 — … © 2026 … |
| Hexadecimal | … ₹500 — … © 2026 … |
El signo de la rupia no tiene una entidad con nombre, así que el modo con nombre lo deja como ₹ mientras que los modos numéricos lo convierten.
Los cinco caracteres que debes escapar
| Carácter | Entidad | Por qué |
|---|---|---|
| & | & | Inicia todas las entidades: escápalo primero |
| < | < | Inicia una etiqueta |
| > | > | Termina una etiqueta (escaparlo evita confusiones) |
| " | " | Termina los valores de atributos entre comillas dobles |
| ' | ' | Termina los valores de atributos entre comillas simples |
Escape de HTML y XSS
El cross-site scripting ocurre cuando texto no fiable (un nombre de usuario, un comentario o un término de búsqueda) se coloca en una página sin escapar, lo que permite a un atacante inyectar <script> o atributos de manejadores de eventos. Escapar los cinco caracteres especiales neutraliza esto para el contenido normal de elementos y los valores de atributos entre comillas, porque entonces el navegador ve texto, no código. Pero el contexto importa: los datos colocados dentro de JavaScript, URL, CSS o atributos sin comillas necesitan otro tipo de escape, y algunos destinos (como innerHTML con entradas del usuario) son arriesgados en cualquier caso. En aplicaciones reales, confía en el escape automático de tu framework (React, Angular, Django, Laravel Blade, Jinja y otros escapan por defecto), usa textContent en lugar de innerHTML en JavaScript simple y añade una Content Security Policy. Esta herramienta es ideal para escapes puntuales, documentación y aprendizaje.
Referencias numéricas de caracteres
Cada carácter Unicode tiene un número llamado punto de código. HTML te permite escribir cualquier carácter como &# + número decimal + ; o &#x + número hexadecimal + ;. La letra devanagari न es U+0928, así que puede escribirse como न o न; «नमस्ते» se convierte en नमस्ते. Los emoji tienen puntos de código por encima de U+FFFF: 😀 es U+1F600, escrito 😀 o 😀. Algunos conversores ingenuos dividen esos caracteres en dos referencias «sustitutas» no válidas; esta herramienta lee los puntos de código completos, así que el resultado siempre es válido.
¿Cuándo necesitas realmente entidades?
- Siempre para & < > y comillas cuando deban aparecer como texto.
- Mostrar código en tutoriales, blogs y documentación dentro de <pre> o <code>.
- Sistemas solo ASCII: algunos creadores de correo, pasarelas de SMS, feeds XML o bases de datos antiguas.
- Caracteres invisibles o confundibles: , ­ y los caracteres de ancho cero son más claros como entidades.
- No hacen falta para hindi, letras con acento ni emoji en páginas servidas como UTF-8: escríbelos directamente.
Decodificar entidades
El texto copiado del código fuente de páginas, de feeds RSS, de API o de bases de datos suele llegar lleno de entidades: Tom & Jerry, café, ₹500. Cambia a Decodificar y pégalo para obtener texto legible. El decodificador entiende la lista completa de entidades con nombre de HTML5 (más de 2,000) y todas las formas numéricas, porque usa el propio analizador HTML del navegador. El texto con codificación doble como &amp; se decodifica un nivel cada vez: presiona «Usar el resultado como entrada» y decodifica de nuevo.
Cómo funciona la herramienta
La codificación recorre tu texto un punto de código Unicode cada vez (no una unidad UTF-16), así que los emoji y otros caracteres más allá de U+FFFF se convierten enteros. Los cinco caracteres especiales siempre se escapan; en el modo con nombre se aplica después una pequeña tabla de nombres bien admitidos; en los modos numéricos, cualquier carácter por encima del rango ASCII (punto de código 127) se convierte en una referencia decimal o hexadecimal. La decodificación entrega el texto al analizador HTML del navegador, que cumple los estándares, dentro de un documento aislado y sin scripts, y lee de vuelta el texto simple, por lo que se reconocen las más de 2,000 entidades con nombre de HTML5. No se envía ningún texto a ninguna parte.
HTML de correo y entidades
Los clientes de correo son menos indulgentes que los navegadores. Algunos clientes antiguos o plataformas de envío estropean los caracteres no ASCII si la codificación del mensaje no está declarada correctamente, convirtiendo «₹» o «—» en símbolos raros. Las referencias numéricas como ₹ y — sobreviven a casi cualquier cadena de procesamiento porque son ASCII simple. Al diseñar plantillas de boletines, pasa los símbolos especiales por el modo numérico, deja las letras normales como están y envía siempre un correo de prueba a varios clientes antes de una campaña.
Usos habituales
- Mostrar fragmentos de código en entradas de blog y documentación.
- Preparar texto para plantillas de correo HTML.
- Limpiar texto lleno de entidades exportado de CMS y feeds.
- Escapar valores antes de colocarlos a mano en atributos HTML.
- Convertir texto en hindi a referencias seguras para ASCII en sistemas heredados.
- Aprender cómo funcionan el análisis de HTML y las defensas contra XSS.
- Mostrar ejemplos de HTML en publicaciones de foros o cuadros de comentarios que aceptan un marcado limitado.
Errores comunes que debes evitar
- Escapar dos veces: &lt; muestra «<» en pantalla en lugar de «<».
- Olvidar el punto y coma: los navegadores suelen adivinar, pero no siempre bien.
- Escapar para el contexto equivocado: el escape de HTML no hace que el texto sea seguro dentro de cadenas de JavaScript ni de URL.
- Usar entidades en lugar de UTF-8 para cada letra hindi: infla las páginas y es difícil de editar.
- Atributos sin comillas: pon siempre comillas a los valores de los atributos y luego escapa las comillas.
Solución de problemas
- Las entidades siguen visibles en la página: el texto se codificó dos veces; decodifica una vez.
- Signos de interrogación o cuadros: la página no se sirve como UTF-8; añade <meta charset="UTF-8"> o usa el modo numérico.
- Una entidad con nombre no se decodificó: revisa la ortografía y el punto y coma final.
- Las comillas simples parecen sin cambios en el modo con nombre: se escapan como la numérica ', que es la forma más compatible.
- Los saltos de línea desaparecieron en la página: HTML colapsa las líneas nuevas; envuelve el texto codificado en un elemento pre o convierte los saltos en etiquetas br.
Glosario rápido
- Entidad: un código como & que representa un carácter en HTML.
- Entidad con nombre: una entidad con un nombre, como ©.
- Referencia numérica de carácter: © o ©, por punto de código.
- Escape: convertir los caracteres especiales para que se traten como texto.
- XSS: cross-site scripting, inyección de scripts mediante entradas sin escapar.
- Punto de código: el número de un carácter en Unicode, como U+0928.
¿Por qué usar este codificador de HTML?
Ofrece el nivel adecuado de escape para cada tarea, maneja correctamente el hindi y los emoji, decodifica todas las entidades de forma segura y explica cuándo se necesitan realmente las entidades: gratis, instantáneo y privado.
Codificador / decodificador de entidades HTML: datos clave
| Escape básico | & → & · < → < · > → > · " → " · ' → ' |
|---|---|
| Modo con nombre | También © ©, — —, el espacio de no separación y más |
| Modos numéricos | Cada carácter no ASCII como &#decimal; o &#xHEX; |
| Decodificar | Todas las entidades con nombre y numéricas, mediante un DOMParser que solo analiza |
| Unicode | Hindi y emoji manejados correctamente (😀 → 😀) |
| Privacidad | Se ejecuta en tu navegador |
Preguntas frecuentes
¿Qué son las entidades HTML?
Las entidades HTML son códigos que representan caracteres en HTML. Empiezan con & y terminan con ;, como < para < o © para ©. Las formas numéricas como © o © se refieren al número Unicode del carácter.
¿Por qué necesito escapar <, > y &?
Los navegadores tratan < como el inicio de una etiqueta y & como el inicio de una entidad. Si quieres mostrar código o texto que los contenga (por ejemplo «5 < 10» o «Tom & Jerry»), escápalos para que el navegador los muestre literalmente.
¿Escapar HTML evita los ataques XSS?
Escapar & < > " ' es la defensa básica al insertar texto no fiable en el contenido de elementos HTML y en atributos entre comillas. Otros contextos (JavaScript, URL, CSS) necesitan su propio escape, y los frameworks modernos escapan automáticamente. Usa el escape integrado de tu framework en el código de producción.
¿Cuál es la diferencia entre entidades con nombre y numéricas?
Las entidades con nombre usan un nombre fácil de recordar (©) pero solo existen para algunos caracteres. Las referencias numéricas (© o ©) sirven para cualquier carácter Unicode, incluidas las letras hindi y los emoji.
¿Necesito entidades para el hindi o los emoji?
Normalmente no. Si tu página se guarda y se sirve como UTF-8 (con una etiqueta meta charset UTF-8), puedes escribir hindi y emoji directamente. Las entidades numéricas son útiles para sistemas que solo aceptan ASCII, como algunas plantillas de correo o bases de datos heredadas.
¿Qué significa ?
es un espacio de no separación: parece un espacio pero impide un salto de línea en ese punto y no se colapsa con otros espacios. Al decodificar se convierte de nuevo en el carácter U+00A0.
¿Decodificar es seguro si el texto contiene scripts?
Sí. La decodificación usa DOMParser, que construye un documento sin ejecutar scripts, y solo lee el texto. El resultado decodificado se muestra como texto simple en un cuadro de texto.
¿Por qué ' se codifica como ' y no como '?
' está definido en HTML5 y XML pero no formaba parte de HTML 4, así que ' es la opción más compatible para las comillas simples.
¿Puedo codificar un archivo HTML entero?
Sí. Codificar un documento HTML completo lo convierte en texto que puedes mostrar dentro de un bloque pre o code, útil para tutoriales y documentación.
¿En qué se diferencia de la codificación de URL?
La codificación de URL (%20, %26) hace que el texto sea seguro dentro de direcciones web; la codificación HTML hace que el texto sea seguro dentro de documentos HTML. Usa nuestro codificador de URL para los enlaces.
¿Mi texto se sube?
No. Todo ocurre en tu navegador.
¿El codificador de HTML es gratis?
Sí. Es gratis, ilimitado y no requiere registro.
¡Haz que el texto sea seguro para HTML al instante!
Escapa, desescapa y convierte entidades: gratis y privado.
Explora más herramientas de Prompt Minds
El codificador / decodificador de entidades HTML funciona muy bien junto con nuestras otras herramientas gratuitas. Todas las herramientas de Prompt Minds se ejecutan por completo en tu navegador: sin registro, sin subidas y sin marcas de agua. Ver todas las herramientas gratuitas.
