Codificar y decodificar HTML
Esta herramienta codifica texto en referencias de caracteres HTML y los decodifica de vuelta, enteramente en tu navegador. Las entidades con nombre como & y < cubren las escapadas habituales; las formas numéricas como A y A llegan a cualquier carácter Unicode. El modo de decodificación estricto informa de las entidades desconocidas en lugar de pasarlas directamente.
Codificar y decodificar HTML: explicación
HTML asigna dos caracteres a tareas estructurales: & inicia una referencia de carácter, < inicia una etiqueta. Cuando estos caracteres aparecen como texto necesitan ser escapados, y el mecanismo es la referencia de carácter: una escritura breve e inequívoca como & que todo decodificador transforma de vuelta al carácter original.
La lista estándar de referencias con nombre es finita y cerrada — más de 2.200 escrituras — y cinco llevan casi todo el trabajo: & < > " y '. Para lo que no cubra la lista, una referencia numérica escribe el punto de código directamente: A y A son ambas la letra A, y el mismo truco alcanza cualquier carácter que tenga Unicode.
El panel inferior hace ambas direcciones: un interruptor codifica texto en entidades, el otro las decodifica de vuelta. Conmutadores eligen salida con nombre o numérica, y decodificación estricta o permisiva. Como todo en este sitio, se ejecuta enteramente en esta pestaña.
Construir enlaces que transportan datos de usuario es donde las dos gramáticas de escape se encuentran, y el Codificador y decodificador de URL se encarga de la mitad de la codificación porcentual.
El escape de entidades es un miembro de una familia de codificaciones de caracteres y bytes; el sitio hub de herramientas de codificación reúne el resto, desde Base64 hasta binario.
Las cinco entidades con nombre que hacen casi todo el trabajo
Qué caracteres deben escaparse depende del contexto. En texto, dos son obligatorios: un & literal debe escribirse &, porque un ampersand seguido de letras y punto y coma es cómo empiezan las referencias, y un < literal debe escribirse <, porque de otro modo abre una etiqueta. Los otros tres son contextuales; escapar los cinco sin condiciones no tiene coste.
| Entidad | Escribe | Obligatoria cuando |
|---|---|---|
| & | & | Siempre en texto — el escape que la especificación exige |
| < | < | En texto, antes de que abra una etiqueta |
| > | > | Raramente obligatoria en texto; escapada por costumbre |
| " | " | Dentro de valores de atributo entre comillas dobles |
| ' | ' | Dentro de valores de atributo entre comillas simples |
Con nombre versus numérico: dos escrituras de un mismo carácter
Una referencia numérica escribe el punto de código directamente: A es decimal para A, A hexadecimal para la misma letra — punto y coma obligatorio en HTML5, x y dígitos hexadecimales insensibles a mayúsculas. Como el número nombra directamente al punto de código, la forma numérica cubre cada carácter que define Unicode, incluidos los emoji.
El contrapeso es la legibilidad del código fuente: é le dice a qué humano renderizará, é no. El modo con nombre aquí sigue la política habitual: caracteres comunes tienen nombres ( , —, é como é), la larga cola tiene números. En el consumo la distinción desaparece — ambas escrituras se decodifican al mismo carácter.
Modo de decodificación y lo que el modo estricto informa
El interruptor de dirección invierte el flujo: pega marcado escapado, obtén caracteres planos. Las tres escrituras se decodifican — con nombre, decimal y hexadecimal — y la búsqueda con nombre ignora mayúsculas/minúsculas, porque el marcado del mundo real no es consistente.
Las entidades desconocidas reciben tratamiento honesto. El convertidor no reconoce &npsp; — el tipico error de — y por defecto la deja intacta, porque un texto puede contener legítimamente ampersands. El modo estricto existe para marcado que afirma estar completamente escapado: allí una entidad desconocida es un bug, y la decodificación estricta informa de cada una sobre la salida en lugar de dejar que el error sobreviva.
El escape es el límite de seguridad, no decoración
La razón por la que esta conversación importa más allá de la tipografía es la inyección. Texto suministrado por el usuario que llega a una página sin escapar no se muestra como texto: un <script> literal dentro de él se ejecuta, y una comilla sin escapar en un valor de atributo rompe el atributo. El escape convierte esos bytes en caracteres inertes — <script> se renderiza como texto legible y no hace más.
Es un trabajo distinto al escape de URL: la codificación porcentual tiene su propio conjunto de reservados y gramática, y los dos no son intercambiables — por eso tienen herramientas separadas.
Preguntas frecuentes
¿El codificador envía mi texto a un servidor?
No. Ambas direcciones son transformaciones de cadena ejecutadas por JavaScript que cargó con la página; no se transmite nada. La Content-Security-Policy del sitio establece connect-src 'self', así que el navegador mismo rechazaría una petición saliente. Verifica de cualquier modo: el panel Network de DevTools permanece en silencio, y la herramienta sigue funcionando sin conexión.
¿Qué caracteres deben escaparse realmente en HTML?
En contenido de texto, dos son obligatorios: & como & y < como <. Un > solo en texto es tolerado pero se escapa por costumbre, y las comillas solo importan dentro de valores de atributo delimitados por la misma comilla. Esta herramienta escapa los cinco sin condiciones, así que su salida es segura en cualquier sitio.
¿Cuál es la diferencia entre entidades con nombre y numéricas?
Una entidad con nombre es una etiqueta de la lista cerrada de la especificación — &, ©, é. Una referencia numérica escribe el punto de código directamente, decimal como A o hexadecimal como A. Ambas se decodifican al mismo carácter; la numérica cubre cada punto de código Unicode, la con nombre se lee mejor. La diferencia es solo para los humanos que leen el código fuente.
¿Qué captura el modo de decodificación estricta?
Nombres desconocidos y números imposibles. La decodificación estricta informa de entidades como &npsp; — el tipico error de — y referencias numéricas cuyo valor no es un código de carácter válido. El modo permisivo deja las entidades desconocidas intactas.
¿Las entidades afectan al SEO o a los lectores de pantalla?
No. Las entidades se decodifican durante el parseo de HTML, antes de que el índice de búsqueda o un lector de pantalla las vean. El DOM contiene el carácter literal en cualquier caso, así que é y é ranquean igual y se anuncian igual. Elige una escritura para los humanos que leen el código fuente, no para las máquinas que consumen la página.
¿Por qué mi apóstrofo se convierte en '?
Porque HTML5 define ' — fue solo de XML durante años, por eso las referencias más antiguas la llaman arriesgada — y un apóstrofo dentro de un atributo entre comillas simples es exactamente donde escaparlo es obligatorio. Para consumidores pre-HTML5, la forma numérica ' es la que todo decodificador ha aceptado siempre.
¿Qué herramientas relacionadas debería usar después?
- Codificar y decodificar URLCodifica y decodifica distinguiendo + de %20Abrir
- Codificar y decodificar Base64Decodifica y codifica Base64 estándar y URL-safe, con descarga binariaAbrir
- Herramientas de codificaciónBase64, codificación de URL, hashes e inspección de tokens.Abrir
- Herramientas de textoCompara, convierte y transforma texto plano y código.Abrir
- Convertir mayúsculas y minúsculasRenombra identificadores tratando bien los acrónimosAbrir
- Cómo funciona Base64Guía en lenguaje sencilloAbrir