Codificación
HTML Entities Encode/Decode
Codificación y decodificación de entidades HTML — visualización segura de caracteres especiales en la página.
HTML entities are a way to write characters that would otherwise break markup (<, >, &) or have no keyboard key, as safe text sequences like < or &. This tool encodes and decodes such entities right in your browser.
How to use it
- Encode: paste text and characters like <, >, &, and quotes get replaced with their matching entities.
- Decode: paste HTML containing entities (&, ©, etc.) to see the plain text.
- Both named entities (&) and numeric ones (& or &) are supported.
Common uses
- Safely displaying user text (a comment, a message) on a page without risking broken markup or an injected script.
- Embedding HTML code samples in an article or documentation so the browser shows them as text instead of rendering them.
- Decoding content copied from another site where the characters arrived already entity-encoded.
Things to keep in mind
HTML entity escaping only protects against XSS via a page's text content — it does not protect a JavaScript context (innerHTML, eval) or href/src attributes containing unvalidated URLs.
Encode exactly at the point where text gets inserted into HTML, not ahead of time when saving to a database — otherwise the data gets mangled when reused outside an HTML context.
Artículo sobre esta herramienta: HTML Entities: cómo mostrar caracteres especiales de forma segura
Preguntas frecuentes
¿Qué diferencia hay entre entidades con nombre y numéricas?
Las entidades con nombre (como &) son más legibles y solo existen para un conjunto definido de caracteres. Las numéricas, decimales (&) o hexadecimales (&), pueden representar cualquier carácter Unicode, tenga o no un nombre asignado.
¿Cuándo debo usar la opción "Básicas" en vez de "Todos los caracteres"?
Básicas codifica solo los caracteres imprescindibles para no romper el marcado HTML (&, <, >, comillas). Todos los caracteres convierte además letras acentuadas, símbolos y cualquier carácter fuera del ASCII básico, útil si necesitas máxima compatibilidad.
¿Se procesa el HTML en un servidor?
No, todo el proceso ocurre en tu navegador; el texto o HTML que introduces nunca se envía a ningún servidor.
¿Hay que escapar el texto de un atributo de forma distinta al del cuerpo de la página?
Los caracteres principales (<, >, &) se escapan igual, pero dentro de un atributo entre comillas es crítico escapar además el tipo exacto de comilla que lo delimita; de lo contrario, el valor "se romperá" antes de lo esperado.
¿El escapado HTML protege frente a todos los tipos de XSS?
No. Cubre el vector más habitual —insertar texto en el contenido HTML—, pero no protege frente al XSS a través de contexto JavaScript (por ejemplo, innerHTML seguido de ejecución de código) ni frente a URLs no validadas en href/src.