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.
Opciones
¿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
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
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
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.
Input already escaped: line1\nline2 Escaped again -> line1\\nline2 (literal backslash-n)
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.
{"msg": hello \"world\"}
// Missing quotes around the value -> invalid JSON {"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.
café -> caf\u00e9 (no downstream need; just noise)
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?
¿Cuál es la diferencia entre escape JSON y JSON stringify?
¿Se sube mis datos a algún sitio?
¿Cuándo necesito la opción \uXXXX (escapar no-ASCII)?
¿Cómo incrusto un objeto JSON dentro de otra cadena JSON (JSON-en-JSON)?
¿Qué hace la opción Escapar barra (\/)?
¿Maneja correctamente saltos de línea, tabulaciones y caracteres de control?
Herramientas relacionadas
Ver todas las herramientas →Decodificador y Codificador Base64
Codificación y Formato
Decodifica y codifica Base64 online de forma gratuita. Conversión en tiempo real con soporte completo de UTF-8 y emojis. 100% privado — funciona en tu navegador. Sin registro.
Conversor de Base64 a Imagen
Codificación y Formato
Decodifica una cadena Base64 o data URI de vuelta a una imagen en tu navegador. Previsualiza, lee dimensiones y MIME, luego descarga como PNG, JPG, GIF, SVG. Sin subir.
Convertidor de CSV a JSON
Codificación y Formato
Convierte CSV a JSON en tu navegador. RFC 4180, inferencia de tipos, fila de cabecera, seguro para big-int. 100% privado, sin carga.
Conversor de HTML a Markdown
Codificación y Formato
Convierte HTML a Markdown limpio en tu navegador — tablas GFM, listas de tareas y enlaces. Elige encabezados ATX/Setext y enlaces en línea o por referencia. Ideal para migrar contenido web o alimentar LLMs. 100% privado.
Conversor de Imagen a Base64
Codificación y Formato
Convierte imágenes a data URI Base64 en tu navegador — PNG, JPG, GIF, WebP, SVG, ICO. Copia salida HTML, CSS, Markdown y JSON. 100% privado, sin subir nada.
JSON Diff (Comparar)
Codificación y Formato
Compara dos archivos JSON al instante en tu navegador. Resaltado lado a lado, salida RFC 6902 JSON Patch, ignora campos ruidosos como marcas de tiempo e IDs. 100% privado, sin carga.