Codificar entidades HTML
Codifica y decodifica entidades HTML y escapes de JavaScript.
codifica solo & < > " ' — el conjunto correcto para insertar texto en HTML
¿Cómo se codifican los caracteres especiales para HTML?
Este codificador convierte caracteres reservados como &, <, >, comillas y acentos en sus entidades HTML equivalentes (&, <, >…), y hace el proceso inverso con decodificación tolerante que acepta entidades con nombre, decimales y hexadecimales mezcladas. Elige el alcance: solo los 5 caracteres imprescindibles para insertar texto de usuario en HTML sin riesgo, o todo lo no-ASCII (acentos, ñ, emoji) si necesitas máxima compatibilidad con sistemas antiguos. Incluye también un modo de escapes de string para JavaScript y JSON (\n, \t, comillas, \uXXXX). Codificar el conjunto mínimo (&, <, >, ", ') es, de hecho, la defensa básica contra XSS al insertar texto de usuario en una página: convierte marcado potencialmente ejecutable en texto plano inofensivo. Todo se procesa en tu navegador, sin subir nada a un servidor. Gratis y sin registro.
Cómo usar Codificar entidades HTML
- Elige el tipo de operación: entidades HTML o escapes de string JavaScript/JSON, y la dirección (codificar o decodificar).
- Si vas a codificar HTML, selecciona el alcance — solo los caracteres imprescindibles o todo lo no-ASCII — y el formato de salida: con nombre, decimal o hexadecimal.
- Pega o escribe el texto en el panel de entrada. El resultado se genera al instante en el panel derecho, con las entidades resaltadas.
- Copia el resultado al portapapeles o descárgalo como archivo .txt con un clic.
Casos de uso comunes
Prevenir XSS al mostrar texto de usuario
Codifica comentarios, nombres o cualquier input de usuario antes de insertarlo en una plantilla HTML, para que un payload como <script>alert(1)</script> se muestre como texto literal en vez de ejecutarse.
Insertar código o markup en documentación
Convierte etiquetas HTML de ejemplo a entidades para que aparezcan como texto visible en tutoriales, READMEs o artículos, en lugar de que el navegador las interprete como marcado real.
Depurar respuestas de APIs con caracteres escapados
Decodifica cadenas que llegan con entidades HTML mezcladas (nombradas, decimales y hexadecimales) desde un CMS, feed RSS o respuesta de scraping, para inspeccionar el texto real.
Preparar strings para JSON o código JavaScript
Escapa saltos de línea, comillas y acentos de un texto para pegarlo directamente como un string literal válido en un archivo .json o en código JS sin romper la sintaxis.
Garantizar compatibilidad con sistemas legacy
Codifica acentos, ñ y símbolos como entidades numéricas cuando el sistema de destino no soporta bien UTF-8, evitando que el texto llegue corrupto o con caracteres ilegibles.
Preguntas frecuentes
¿Qué caracteres hay que codificar siempre al insertar texto en HTML?
Como mínimo & < > " ' — son los cinco que el parser HTML interpreta como marcado o delimitadores de atributo. Codificarlos es la primera línea de defensa contra XSS cuando insertas texto de usuario en una página.
¿Codificar entidades HTML previene XSS por completo?
Reduce el riesgo significativamente al neutralizar el marcado ejecutable, pero no sustituye otras medidas: sanitización según el contexto (HTML, atributo, URL, JS), Content-Security-Policy y validación en el servidor. Es una capa, no la única.
¿Cuál es la diferencia entre é y é?
Representan el mismo carácter (é): é es la entidad con nombre, é es la misma en decimal y é en hexadecimal. Los navegadores aceptan las tres formas indistintamente; la elección es solo de legibilidad o compatibilidad.
¿Por qué mi texto tiene entidades sin punto y coma final y aun así funciona?
El estándar HTML5 permite omitir el ; final en un conjunto de entidades legacy cuando el siguiente carácter no es alfanumérico. Este decodificador es tolerante y las reconoce igualmente, con o sin el punto y coma.
¿Cómo escapo un texto para pegarlo dentro de un string JSON?
Usa el modo de escapes JSON: convierte saltos de línea a \n, tabs a \t, comillas dobles a \" y cualquier carácter no-ASCII a \uXXXX, dejando el texto listo para pegarlo entre comillas dobles en un documento JSON válido.
¿El texto que pego se envía a algún servidor?
No. Toda la codificación y decodificación ocurre en la memoria de tu navegador con JavaScript puro — sin creación de elementos del DOM ni innerHTML — y sigue funcionando sin conexión una vez cargada la página.