Text Escaper
Escape and unescape special characters
| Carácter | Escapado | Descripción |
|---|---|---|
| < | < | Menor que |
| > | > | Mayor que |
| & | & | Ampersand |
| " | " | Comillas dobles |
| ' | ' | Comilla simple |
Escapador de Texto
Escapa o desescapa caracteres especiales para diferentes contextos: HTML, URLs, JSON, JavaScript, XML, CSV, expresiones regulares y SQL. Esencial para prevenir errores de sintaxis y vulnerabilidades de seguridad.
Escapador de Texto Online - Escape HTML, URL, JSON, SQL
¿Por qué necesitas escapar texto?
El escapado de texto es crítico por dos razones: prevención de errores de sintaxis (comillas dentro de strings, < en HTML) y seguridad (prevención de inyección). Texto sin escapar puede: romper HTML si contiene <script>; romper JSON si tiene comillas sin escapar; causar SQL injection si se concatena en queries; romper URLs si tiene caracteres especiales. Cada contexto tiene caracteres que necesitan tratamiento especial. Esta herramienta aplica el escapado correcto para cada formato.
Tipos de escapado y cuándo usarlos
HTML escape: convierte < > & " a entidades, esencial para mostrar texto de usuario en páginas web sin riesgo de XSS. URL encode: convierte espacios y caracteres especiales a %XX, necesario para parámetros de URL. JSON escape: escapa comillas y caracteres de control para strings JSON válidos. JavaScript: similar a JSON pero incluye backticks para template literals. SQL: escapa comillas simples duplicándolas, previene SQL injection (aunque siempre prefiere prepared statements). Regex: escapa metacaracteres (. * + ?) para búsqueda literal.
Seguridad: escapado vs sanitización vs validación
El escapado preserva el texto transformando caracteres peligrosos en representaciones seguras. La sanitización elimina contenido peligroso (strip_tags en PHP). La validación rechaza input inválido. Para seguridad óptima: valida formato de entrada, sanitiza si necesario, escapa al output según el contexto. El escapado nunca debe ser tu única defensa contra inyección; usa prepared statements para SQL, CSP para XSS, y librerías de templating que auto-escapan. Esta herramienta ayuda a entender y aplicar escapado correcto.
Preguntas frecuentes
¿El escapado HTML es suficiente para prevenir XSS?
Escapar < > & " previene XSS en contenido HTML pero no en todos los contextos. En atributos sin comillas, event handlers (onclick), URLs (javascript:), o CSS, se necesitan escapados adicionales o diferentes. Para seguridad completa, usa librerías de templating que auto-escapan y Content Security Policy (CSP).
¿Por qué mi texto escapado para SQL sigue siendo vulnerable?
El escapado manual de SQL es propenso a errores y varía por base de datos (MySQL, PostgreSQL, SQL Server tienen diferencias). SIEMPRE usa prepared statements/queries parametrizadas que separan código de datos. El escapado manual solo es aceptable como última opción cuando prepared statements no son posibles.
¿Cómo desescapo texto que fue escapado múltiples veces?
Aplica desescapado el mismo número de veces que fue escapado. "&lt;" necesita dos pasadas: primero obtienes "<", luego "<". El doble-escapado común ocurre cuando sistemas escapan texto ya escapado. Inspecciona el texto para determinar cuántas capas de escapado tiene.
¿El URL encoding y HTML encoding son lo mismo?
No. URL usa %XX (espacio = %20). HTML usa entidades (espacio = aunque espacios normales no necesitan escapado en HTML). Un & en URL es %26; en HTML es &. Usar el escapado incorrecto para el contexto causará texto malformado o vulnerabilidades.