Escapar/Desescapar HTML Convierte caracteres especiales a entidades HTML

¿Necesitas mostrar código HTML en tu página web o prevenir ataques XSS? Esta herramienta te permite escapar HTML (convertir caracteres especiales como <, >, & a entidades HTML) y desescapar HTML (restaurar entidades a su forma original). Perfecta para desarrolladores web, profesionales de seguridad y cualquiera que trabaje con contenido HTML dinámico.

✓ Escapar HTML (encode) - Previene XSS ✓ Desescapar HTML (decode) - Restaura texto original ✓ Tabla de referencia de entidades ✓ Ejemplos predefinidos ✓ Procesamiento local seguro

Convierte caracteres especiales a entidades HTML y viceversa. Útil para prevenir XSS, mostrar código HTML en páginas web y limpiar datos.

* El procesamiento se realiza localmente en tu navegador

Texto original
Caracteres: 0
Resultado
Caracteres: 0 Tamaño: 0 B
Tabla de referencia - Caracteres especiales HTML
Carácter Entidad HTML Descripción Carácter Entidad HTML Descripción
<&lt;Menor que>&gt;Mayor que
&&amp;Ampersand"&quot;Comillas dobles
'&#39;Comilla simple &nbsp;Espacio no separable
©&copy;Copyright®&reg;Marca registrada
&euro;Euro¢&cent;Centavo
£&pound;Libra¥&yen;Yen
Ejemplos rápidos:
¿Por qué es importante escapar HTML?
Prevención de XSS:
Escapar caracteres especiales evita la inyección de código malicioso en tus aplicaciones web.
Mostrar código en páginas web:
Para mostrar etiquetas HTML como texto, debes escaparlas primero.
Historial de conversiones

No hay conversiones guardadas

Preguntas frecuentes sobre escape de HTML

¿Qué significa escapar HTML?

Escapar HTML significa convertir caracteres especiales como <, >, &, " en sus entidades HTML correspondientes (&lt;, &gt;, &amp;, &quot;). Esto evita que el navegador los interprete como código HTML.

¿Cómo usar esta herramienta?

Pega o escribe tu texto en el área izquierda. Haz clic en "Escapar HTML" para convertir caracteres especiales a entidades HTML, o en "Desescapar HTML" para restaurar entidades a caracteres normales.

¿Qué es un ataque XSS?

XSS (Cross-Site Scripting) es un ataque donde un atacante inyecta código malicioso en una página web. Escapar HTML es una de las principales defensas contra este tipo de ataques.

¿Qué caracteres HTML debo escapar?

Los caracteres críticos son: < (menor que), > (mayor que), & (ampersand), " (comillas dobles) y ' (comilla simple).

¿Es segura esta herramienta?

Sí, todo el procesamiento se realiza localmente en tu navegador. Los textos que introduces nunca se envían a ningún servidor.

\n', special: 'Hola & "Amigo" = \'Programador\'', encoded: '<h1>Título</h1>\n<p>Texto con & caracteres</p>' }; document.getElementById('inputText').value = examples[type]; document.getElementById('inputChars').textContent = examples[type].length; if (type === 'encoded') { unescapeHTML(); } else { escapeHTML(); } showToast(`Ejemplo de ${type === 'encoded' ? 'texto escapado' : 'texto HTML'} cargado`, 'success'); } function saveToHistory(action, originalLength, resultLength) { const historyItem = { id: Date.now(), date: new Date().toLocaleString(), action: action, originalLength: originalLength, resultLength: resultLength, difference: resultLength - originalLength }; let history = JSON.parse(localStorage.getItem('html_escape_history')) || []; history.unshift(historyItem); if (history.length > 10) history = history.slice(0, 10); localStorage.setItem('html_escape_history', JSON.stringify(history)); showHistory(); } function showHistory() { const history = JSON.parse(localStorage.getItem('html_escape_history')) || []; const container = document.getElementById('history'); if (history.length === 0) { container.innerHTML = '

No hay conversiones guardadas

'; return; } let html = '
'; history.forEach((item, index) => { const style = index === 0 ? 'style="background-color: #fff3cd;"' : ''; const diffIcon = item.difference > 0 ? '📈' : (item.difference < 0 ? '📉' : '➡️'); html += `
${item.action}
${item.originalLength} → ${item.resultLength} caracteres ${diffIcon}
${item.date}
`; }); html += '
'; container.innerHTML = html; } function clearHistory() { if (confirm('¿Eliminar todo el historial de conversiones?')) { localStorage.removeItem('html_escape_history'); showHistory(); } } function showToast(message, type = 'success') { const toast = document.createElement('div'); toast.className = 'position-fixed top-0 end-0 p-3'; toast.style.zIndex = '9999'; const bgColor = type === 'success' ? 'bg-success' : (type === 'error' ? 'bg-danger' : 'bg-warning'); const icon = type === 'success' ? 'bi-check-lg' : (type === 'error' ? 'bi-exclamation-triangle' : 'bi-info-circle'); const title = type === 'success' ? 'Éxito' : (type === 'error' ? 'Error' : 'Aviso'); toast.innerHTML = `
${title}
${message}
`; document.body.appendChild(toast); setTimeout(() => toast.remove(), 2000); } // Actualizar contador de caracteres del input document.getElementById('inputText').addEventListener('input', function() { document.getElementById('inputChars').textContent = this.value.length; }); // Inicializar document.addEventListener('DOMContentLoaded', () => { showHistory(); document.getElementById('inputChars').textContent = '0'; });