Skip to content

Escape de JSON

Escapa cualquier texto o JSON a un literal de cadena JSON válido en tu navegador. Maneja comillas, saltos de línea, tabulaciones, Unicode y barras. 100% privado, sin subidas, instantáneo.

Sin rastreo Se ejecuta en el navegador Gratis
Opciones
Envolver en comillas dobles
Escapar no-ASCII (\uXXXX)
Escapar barra (\/)
0 caracteres
Cadena escapada
0 caracteres
Revisado para cumplimiento de la especificación JSON, corrección de pares sustitutos, seguridad en idas y vueltas, y escape de barra para inserción en HTML — Equipo de Ingeniería de Go Tools · Jun 10, 2026

¿Qué es el escape JSON?

El escape JSON es el proceso de convertir una cadena sin procesar en una forma segura para incrustar dentro de un documento JSON. JSON tiene un pequeño conjunto de caracteres con significado estructural —la comilla doble delimita cadenas, la barra invertida inicia una secuencia de escape— además de caracteres de control (saltos de línea, tabulaciones) que no pueden aparecer literalmente dentro de una cadena. El escape reemplaza cada uno de estos por una secuencia segura de dos caracteres (\", \\, \n, \t) o un escape Unicode \uXXXX, de modo que la cadena resultante se analiza sin problemas en cualquier sitio.

Recurres al escape JSON más a menudo de lo que crees. El caso más común es JSON-en-JSON: el sobre de un webhook, el payload de una cola de mensajes o un log de auditoría almacenan un cuerpo de petición como campo de cadena, lo que significa que el JSON interno debe escaparse antes de poder asignarse. Otro es escribir configuración JSON a mano: pegar un script de shell multilínea, una consulta SQL o un fragmento de código en un único valor JSON requiere convertir cada salto de línea en \n. Un tercero es construir cuerpos de petición REST a mano en herramientas como curl, donde una cadena JSON entre comillas debe escaparse para sobrevivir al shell y a la capa HTTP.

Esta herramienta tiene tres diferenciadores frente a un escapador ingenuo. Primero, se basa en las reglas exactas de la especificación JSON —la misma lógica que usa un serializador conforme— así que la salida hace ida y vuelta sin pérdidas: escapa aquí, analiza en cualquier sitio, recupera tus bytes. Segundo, el modo opcional seguro en ASCII convierte cada carácter no-ASCII (incluidos los emoji astrales, manejados como pares sustitutos) a \uXXXX para sistemas a los que no se puede confiar UTF-8. Tercero, todo se ejecuta 100% en tu navegador: tus payloads, que a menudo contienen PII, tokens y secretos, nunca tocan un servidor. Para invertir el proceso, usa nuestra herramienta de Des-escape JSON; para validar el JSON primero, consulta el Formateador JSON.

// Input text
She said "hi"
then left.

// Escaped (Wrap on) — identical to JSON.stringify(input)
"She said \"hi\"\nthen left."

// Escaped (Wrap off) — just the body, for hand-built JSON
She said \"hi\"\nthen left.

// JSON-in-JSON
{"a":1}  ->  "{\"a\":1}"  ->  {"payload": "{\"a\":1}"}

Características principales

Escape fiel a la especificación

Basado en las reglas exactas de la especificación JSON: comillas, barras invertidas, saltos de línea, tabulaciones, retornos de carro y caracteres de control se escapan igual que en un serializador conforme. La salida hace ida y vuelta sin pérdidas a través de cualquier analizador JSON.

Salida con o sin comillas

Envolver en comillas dobles activado da un literal de cadena JSON completo (igual que JSON.stringify); desactivado da solo el cuerpo escapado para cuando escribes tú mismo las comillas en un documento JSON hecho a mano.

Modo \uXXXX seguro en ASCII

Convierte opcionalmente cada carácter por encima de U+007F a un escape Unicode, con los caracteres astrales como los emoji manejados como pares sustitutos correctos. La salida es ASCII puro, segura para canalizaciones heredadas que manejan mal UTF-8.

Escape de barra seguro para HTML

Escapar barra convierte / en \/, neutralizando la secuencia </script> para que el JSON pueda insertarse dentro de una etiqueta HTML <script> sin cerrarla prematuramente. Desactivado por defecto para una salida limpia en todos los demás casos.

Invertir para verificar la ida y vuelta

Un solo botón Invertir dirección cambia a modo des-escape en el sitio y reintroduce la salida como entrada, así puedes confirmar que escape → des-escape devuelve tu texto original byte a byte antes de enviarlo.

Privacidad 100% en el navegador

Todo el escape se ejecuta del lado del cliente: tus payloads (PII, tokens, secretos) nunca salen del navegador. Verifícalo en la pestaña Red: cero peticiones al pegar. La única forma segura de escapar datos sensibles en una herramienta online.

Ejemplos

Incrustar JSON dentro de JSON (JSON-en-JSON)

{"event":"signup","user":{"id":42,"name":"Alice"}}

Escapa este objeto para que pueda vivir como valor de cadena dentro de otro documento JSON: por ejemplo, el campo de un payload de webhook o el sobre de un mensaje de Kafka. Con la opción Envolver activada, la salida queda lista para pegar justo después de dos puntos.

Fragmento de código multilínea en un campo de configuración

function greet(name) {
  return `Hello, ${name}!`;
}

Convierte una función JS multilínea en una cadena JSON de una sola línea. Los saltos de línea se vuelven \n y la plantilla con comillas invertidas se mantiene intacta: pégalo en un valor de configuración JSON sin romper el archivo.

Texto con comillas y tabulaciones

She said "hello"	then left.

Las comillas dobles se escapan a \" y la tabulación se convierte en \t, de modo que la cadena es segura para colocar en cualquier analizador JSON, línea de log o cuerpo de petición REST.

Salida segura en ASCII para sistemas heredados

Price: 9.99€ — café société

Activa Escapar no-ASCII para convertir € y las letras acentuadas en \uXXXX. El resultado es ASCII puro, seguro para sistemas que corrompen UTF-8 en tránsito.

Cómo usar

  1. 1

    Pega tu texto o JSON

    Introduce o pega cualquier cosa en el campo de entrada: un objeto JSON, un fragmento de código, una línea de log o texto simple. El resultado escapado aparece al instante. Pulsa 'Cargar ejemplo' para probar una muestra como un payload JSON-en-JSON o una función multilínea.

  2. 2

    Elige las opciones de escape

    Mantén 'Envolver en comillas dobles' activado para un literal de cadena JSON completo (igual que JSON.stringify), o desactivado para obtener solo el cuerpo escapado. Activa 'Escapar no-ASCII' para una salida \uXXXX en ASCII puro, y 'Escapar barra' al insertar JSON en una etiqueta HTML <script>.

  3. 3

    Copia la cadena escapada

    Pulsa Copiar para tomar el resultado, listo para pegar en un documento JSON, el cuerpo de una petición REST o un archivo de configuración. Pulsa Invertir dirección para cambiar a modo des-escape y verificar una ida y vuelta sin pérdidas.

Errores comunes de escape

Doble escape (escapar texto ya escapado)

Ejecutar el escape dos veces convierte \n en \\n y \" en \\\", de modo que el consumidor ve una barra invertida-n literal en lugar de un salto de línea. Esto suele pasar cuando el texto ya estaba escapado en JSON aguas arriba. Des-escapa primero (Invertir dirección) para comprobarlo, luego escapa exactamente una vez.

✗ Incorrecto
Input already escaped: line1\nline2
Escaped again -> line1\\nline2  (literal backslash-n)
✓ Correcto
Raw input: line1
line2
Escaped once -> line1\nline2  (real newline encoded)

Olvidar las comillas que rodean

Con Envolver desactivado obtienes solo el cuerpo escapado, no una cadena JSON completa. Pegar eso directamente donde se espera un valor produce JSON inválido porque faltan las comillas. O bien mantén Envolver activado, o asegúrate de escribir tú mismo las comillas.

✗ Incorrecto
{"msg": hello \"world\"}
// Missing quotes around the value -> invalid JSON
✓ Correcto
{"msg": "hello \"world\""}
// Wrap on supplies the quotes -> valid JSON

Sobre-escapar no-ASCII innecesariamente

Activar Escapar no-ASCII cuando el consumidor maneja bien UTF-8 solo infla la salida y daña la legibilidad: café se vuelve caf\u00e9 sin motivo. Deja la opción desactivada salvo que un sistema heredado concreto requiera ASCII puro.

✗ Incorrecto
café  ->  caf\u00e9   (no downstream need; just noise)
✓ Correcto
café  ->  café         (valid JSON, readable, smaller)

Casos de uso comunes

Payloads de webhook JSON-en-JSON
Escapa un cuerpo de petición para que pueda almacenarse como campo de cadena dentro del sobre de un webhook, un mensaje de Kafka o un log de auditoría. Mantén Envolver activado y la salida queda lista para asignar a una clave en el documento externo.
Fragmentos multilínea en configuración
Convierte un script de shell multilínea, una consulta SQL o un fragmento de código en un único valor de cadena JSON. Cada salto de línea se vuelve \n para que el archivo de configuración JSON siga siendo válido en una sola línea.
Cuerpos de petición REST hechos a mano
Escapa una cadena JSON antes de colocarla en un argumento curl --data o en un cliente HTTP, para que las comillas y los saltos de línea sobrevivan al shell y al cable sin romper la petición.
Codificación de cadenas segura para logs
Escapa contenido proporcionado por el usuario antes de escribirlo en una línea de log estructurada, evitando que comillas o saltos de línea inyectados corrompan el formato del log o un analizador de logs JSON posterior.
Integraciones heredadas solo en ASCII
Produce una salida \uXXXX en ASCII puro para pasarelas SOAP, cabeceras de correo o sistemas antiguos que corrompen UTF-8 en tránsito, sin dejar de ser totalmente decodificable por cualquier analizador JSON moderno.
Insertar JSON en HTML
Escapa las barras para que un bloque JSON pueda incrustarse directamente dentro de una etiqueta <script> en páginas renderizadas en el servidor, sin que </script> dentro de los datos cierre la etiqueta antes de tiempo.

Detalles técnicos

Algoritmo de escape
La herramienta serializa tu entrada con las reglas de cadena de la especificación JSON: U+0022 (") → \", U+005C (\) → \\, U+0008 → \b, U+000C → \f, U+000A → \n, U+000D → \r, U+0009 → \t, y cualquier otro carácter por debajo de U+0020 → \u00XX. Con Envolver activado se incluyen las comillas dobles que rodean; con la opción desactivada se eliminan. Esto coincide exactamente con la salida de un serializador conforme, garantizando idas y vueltas sin pérdidas.
Unicode y pares sustitutos
Por defecto, los caracteres por encima de U+007F se emiten como UTF-8 literal, lo que JSON permite. Con Escapar no-ASCII activado, cada uno de esos caracteres se convierte a \uXXXX usando su unidad de código UTF-16; los caracteres fuera del Plano Multilingüe Básico (emoji, escrituras raras) se codifican como un par sustituto de dos escapes \uXXXX; por ejemplo, 😀 (U+1F600) se vuelve \ud83d\ude00, la misma representación que produce un serializador JSON.
Barra y contexto HTML
JSON no requiere escapar /, así que se preserva por defecto. Cuando Escapar barra está activado, cada / se vuelve \/. La única razón práctica para hacerlo es la inserción en HTML: dentro de una etiqueta <script>, la subcadena literal </script> cierra la etiqueta independientemente del contexto JSON, así que escapar la barra a <\/script> mantiene intacto el JSON insertado sin dejar de ser válido según la especificación.

Buenas prácticas

Mantén Envolver activado para literales completos
Cuando necesites un valor para asignar en código o pegar después de dos puntos en JSON, mantén Envolver en comillas dobles activado: la salida es una cadena JSON completa y analizable, idéntica a JSON.stringify. Desactívalo solo cuando escribas tú mismo las comillas que rodean.
Deja el escape Unicode desactivado salvo que sea necesario
El UTF-8 sin procesar es JSON válido y mucho más legible. Activa Escapar no-ASCII solo para un sistema posterior concreto que maneje mal UTF-8 (SOAP heredado, algunas canalizaciones de logs, archivos fuente solo en ASCII). Escapar todo por defecto solo hace la salida más ruidosa.
Escapa barras solo para inserción en HTML
El escape de barra importa en exactamente un sitio: JSON insertado en una etiqueta HTML <script>. Fuera de ese contexto añade ruido sin beneficio, así que déjalo desactivado para cuerpos REST, archivos de configuración y payloads de mensajes.
Verifica las idas y vueltas con Invertir
Antes de enviar datos escapados a una canalización, pulsa Invertir dirección para des-escaparlos y confirmar que recuperas el texto original. Esto detecta el doble escape accidental, una fuente frecuente de que aparezca \\n donde se pretendía \n. Invierte en cualquier momento con nuestra herramienta de Des-escape JSON.

Preguntas frecuentes

¿Qué hace esta herramienta de escape JSON?
Convierte cualquier texto —un objeto JSON, un fragmento de código, una línea de log o prosa simple— en un literal de cadena JSON válido, por completo en tu navegador. Los caracteres especiales que romperían un documento JSON se escapan: las comillas dobles se vuelven \", las barras invertidas se vuelven \\, los saltos de línea se vuelven \n, las tabulaciones se vuelven \t, los retornos de carro se vuelven \r y otros caracteres de control se vuelven \uXXXX. El resultado es una cadena que puedes pegar con seguridad como valor dentro de un documento JSON, el cuerpo de una petición REST, un archivo de configuración o una columna de base de datos. No se sube nada: la conversión se ejecuta 100% del lado del cliente, así que es segura para payloads con PII, secretos o datos internos.
¿Cuál es la diferencia entre escape JSON y JSON stringify?
Describen la misma operación central desde dos ángulos. JSON.stringify() en JavaScript toma un valor y produce su representación de texto JSON; cuando el valor es una cadena, eso significa envolverla en comillas dobles y escapar los caracteres especiales que contiene, que es exactamente el escape JSON. Esta herramienta hace precisamente eso: con Envolver en comillas dobles activado, la salida equivale a JSON.stringify(tuTexto); con la opción desactivada, obtienes el cuerpo escapado sin las comillas que lo rodean, que es lo que necesitas cuando construyes el JSON a mano y ya escribiste las comillas. Así que si buscaste json stringify online, esta es la herramienta: te da tanto la forma con comillas como sin ellas.
¿Se sube mis datos a algún sitio?
No. Todo el escape se ejecuta por completo en tu navegador con JavaScript: tu texto nunca se transmite, almacena, registra ni analiza en ningún servidor. Esto hace que la herramienta sea segura para payloads de API con PII, tokens de autenticación, configuración interna y secretos de producción. Puedes verificarlo en la pestaña Red de tu navegador: escribir o pegar no dispara ninguna petición de red. No hay cookies para tu entrada ni análisis de terceros que capturen lo que pegas.
¿Cuándo necesito la opción \uXXXX (escapar no-ASCII)?
JSON admite UTF-8 sin procesar, así que por defecto una é sigue siendo una é y un emoji sigue siendo un emoji: perfectamente válido y más legible. Activa Escapar no-ASCII solo cuando no se pueda confiar UTF-8 a un sistema posterior: pasarelas SOAP/XML antiguas, algunas canalizaciones de logs, cabeceras de correo o archivos fuente que deban permanecer en ASCII puro. Con la opción activada, cada carácter por encima de U+007F se vuelve una secuencia \uXXXX (los caracteres astrales como los emoji se vuelven un par sustituto, p. ej. 😀 → \ud83d\ude00). La salida escapada es ASCII byte a byte y se decodifica de vuelta al Unicode original en cualquier analizador JSON conforme.
¿Cómo incrusto un objeto JSON dentro de otra cadena JSON (JSON-en-JSON)?
Pega el JSON interno en la entrada, mantén activado Envolver en comillas dobles y copia el resultado: ahora es una única cadena escapada que puedes asignar a una clave en el documento externo. Por ejemplo, {"a":1} se vuelve "{\"a\":1}", que colocas después de dos puntos: {"payload": "{\"a\":1}"}. Esta doble codificación es común en sobres de webhooks, payloads de colas de mensajes y logs de auditoría que almacenan un cuerpo de petición como cadena. Para invertirlo y leer el objeto interno, usa nuestra herramienta de Des-escape JSON.
¿Qué hace la opción Escapar barra (\/)?
La barra / es un carácter normal en JSON y no requiere escape, así que se deja tal cual por defecto. La opción existe para un caso concreto: incrustar JSON dentro de una etiqueta HTML <script>, donde la secuencia </script> cerraría la etiqueta prematuramente. Escapar / a \/ convierte </script> en <\/script>, que sigue siendo JSON válido pero ya no es un terminador de etiqueta. Actívala solo cuando estés insertando JSON en HTML; para cualquier otro uso, déjala desactivada para una salida más limpia.
¿Maneja correctamente saltos de línea, tabulaciones y caracteres de control?
Sí. La herramienta se basa en las reglas exactas de escape de la especificación JSON: salto de línea → \n, retorno de carro → \r, tabulación → \t, retroceso → \b, avance de página → \f, comilla doble → \", barra invertida → \\, y cualquier carácter de control restante por debajo de U+0020 → \uXXXX. Es idéntico a lo que produce un serializador JSON conforme, así que la salida hace ida y vuelta sin pérdidas: escápalo aquí, analízalo en cualquier sitio y recuperas tu texto original byte a byte.

Herramientas relacionadas

Ver todas las herramientas →