Escapar y desescapar cadenas
Escapa texto para una cadena JSON o JavaScript, una cadena SQL, un campo CSV, una expresión regular o una palabra de shell, o deshaz el escape.
Ejemplos de código
Copia estos ejemplos en tu propio proyecto. Cada uno usa solo la biblioteca estándar del lenguaje, así que no hay nada que instalar.
const text = 'He said "hi"'
console.log(JSON.stringify(text).slice(1, -1))Qué hace
Escapa texto para que quepa en una cadena JSON o JavaScript, una cadena SQL, un campo CSV, una expresión regular o una palabra de shell, y deshace el escape. Cada formato escapa exactamente los caracteres que necesita y ningún otro.
Cómo se usa
- Escribe o pega texto, o suelta un archivo de texto.
- Elige adónde irá el texto (Cadena JSON, Cadena JavaScript, Cadena SQL, Campo CSV, Expresión regular o Palabra de shell) y si Escapar o Desescapar.
- Copia o descarga el resultado, o usa Usar la salida como entrada para convertirlo en la siguiente entrada.
Ejemplos
Escapar He said "it's fine" y un salto de línea:
JSON da He said \"it's fine\"\n, SQL da He said "it''s fine" y el shell da 'He said "it'\''s fine"'.
Conviene saber
- JSON y JavaScript escapan la barra invertida, la comilla que envuelve la cadena, los saltos de línea y los caracteres de control. Desescapar lee
\n,\t,\uXXXXy similares; JavaScript también lee\xHHy\u{…}. - SQL duplica la comilla simple. Es correcto para un literal escrito a mano; para código, usa parámetros enlazados.
- Un campo CSV solo va entre comillas si contiene una coma, una comilla o un salto de línea, y las comillas de dentro se duplican.
- Una palabra de shell va entre comillas simples, y una comilla simple dentro se escribe
'\'', para que nada se expanda.
¿Por qué cada formato escapa de forma distinta?
Cada sintaxis tiene sus caracteres especiales. Una cadena JSON necesita comillas, barras invertidas y caracteres de control escapados. Una cadena SQL solo necesita la comilla simple duplicada. Un campo CSV se envuelve en comillas si contiene coma, comilla o salto de línea. Una expresión regular escapa sus operadores, y una palabra de shell se envuelve en comillas simples para que nada se expanda.
Preguntas frecuentes
¿Escapar basta para evitar la inyección SQL?
No. Duplicar comillas es lo que muestra esta herramienta y sirve para un literal en una consulta escrita a mano, pero no es una defensa para código. Pasa los valores como parámetros enlazados, para que nunca formen parte del texto SQL.
¿Qué diferencia hay entre una cadena JSON y una de JavaScript?
JSON permite pocos escapes y siempre usa comillas dobles. JavaScript permite también comillas simples, \x41, y escapes en ambos estilos de comillas. Desescapar como JSON rechaza por tanto secuencias que JavaScript aceptaría.
¿Esta herramienta envía mi texto a algún sitio?
No. Todo ocurre en tu navegador. Lo que escribes nunca se envía a nuestros servidores.