PK Systems PK Systems
Herramientas de texto

Escape y Unescape de Cadenas

Aplica escape y unescape a cadenas para JavaScript, JSON, SQL, HTML, URL y expresiones regulares — elige un contexto y listo.

Escape y Unescape de Cadenas

Salida con escape

¿Qué es el escape de cadenas?

Cada sintaxis basada en texto — JSON, SQL, HTML, URL, regex — tiene caracteres especiales que significan algo distinto a sí mismos. Poner una ' sin escape en una cadena SQL puede romper la consulta (o abrir la puerta a una inyección). Un < sin escape en HTML dibuja una etiqueta. Un ? literal en una URL se vuelve separador de query. El escape es el proceso de convertir esos caracteres en una forma segura que el parser interpreta de vuelta como el carácter original. El unescape es el camino inverso — devolver una cadena JSON o HTML a su forma plana.

Cómo usar el escape

Elige un contexto que coincida con la sintaxis con la que estás trabajando — JavaScript, JSON, SQL, HTML, componente de URL o regex. Selecciona Escape para convertir texto plano en una forma segura para el contexto, o Unescape para hacerlo al revés. Pega tu entrada. La salida se actualiza en vivo, con conteo de caracteres. Cada contexto usa las reglas de esa sintaxis con precisión: JS usa \n, \t, \"; SQL duplica las comillas simples; HTML usa entidades; URL usa codificación porcentual.

Elegir el contexto correcto

Si vas a embeber la cadena dentro de código JavaScript, usa JavaScript. Si va en un valor JSON (config, payload de API), usa JSON — es más estricto que JS. HTML es la elección correcta para contenido que se renderizará en una página (también seguro para valores de atributo HTML). URL es para valores individuales de parámetros de query, no URLs completas (que ya contienen :// y ? como caracteres estructurales). Regex escapa una cadena literal para usarla dentro de una expresión regular — útil cuando quieres coincidir entrada del usuario verbatim.

Ejemplos por contexto

Contexto Entrada Salida
JavaScriptIt's "fine"It\'s \"fine\"
JSONline1\nline2line1\\nline2
SQLO'BrienO''Brien
HTML<b> & "x"&lt;b&gt; &amp; &quot;x&quot;
URLa b/c?d=1a%20b%2Fc%3Fd%3D1
Regex3.14 (pi)3\.14 \(pi\)

Preguntas frecuentes

¿Por qué hay modos JavaScript y JSON separados?
JSON es un subconjunto estricto de la sintaxis de cadenas de JavaScript — no permite \', \v, \0, escapes hex (\xHH) o caracteres de control sin entrecomillar. JS es más permisivo. Si construyes un documento JSON, usa JSON; si embebes una cadena en código .js, usa JavaScript. Mezclarlos puede producir cadenas que rompan un parser JSON.
¿Debo usar esto en consultas SQL para evitar inyección?
No — para consultas en producción, usa consultas parametrizadas (prepared statements) en el driver de tu base de datos. El escape SQL aquí es para conversión legible por humanos (p. ej. armar una query puntual, transformar un volcado de datos). Duplicar la comilla simple es el estándar SQL, pero las apps modernas deben pasar valores como parámetros, no concatenarlos.
¿Cuál es la diferencia entre encodeURIComponent y encodeURI?
El modo URL usa codificación a nivel de componente, que escapa ?, &, =, / y similares — es decir, seguro para meter dentro de un valor de query. La codificación de URL completa deja esos caracteres intactos porque tienen significado estructural. Si estás codificando un valor que va después de un = en una URL, este modo es el correcto.
¿El escape HTML sirve para atributo o para contenido?
Ambos. El codificador escapa <, >, &, " y ' — un superconjunto de lo estrictamente necesario para cualquiera de los dos contextos, así que el resultado es seguro tanto para contenido de elemento como para cualquier atributo (con comillas simples o dobles).
¿Qué escapa el modo regex?
Cada carácter con significado especial en una expresión regular de JavaScript: \, ^, $, ., *, +, ?, (, ), [, ], {, }, |, /, -. El resultado puede usarse dentro de una regex para coincidir literalmente con la cadena original — útil cuando tienes entrada del usuario que quieres encontrar verbatim.
¿Algo sale del navegador?
No. Escape y unescape corren como JavaScript puro en tu navegador. Seguro para credenciales, consultas internas, cadenas con secretos — nada se sube, registra ni guarda.