Creado sobre IA avanzada en tu dispositivo y aceleración por hardware para ofrecer un rendimiento profesional con privacidad absoluta.IA en tu dispositivo: profesional y privado.
Escape Unescape de Cadenas JSON
Convierte texto en un literal JSON, o descodifica uno.
- No se sube nada
- Capas anidadas peladas
- Ida y vuelta exacta
- Errores con línea y columna
Suelta aquí un archivo de texto
.json · .txt · .log · .ndjson · .jsonl y más · hasta 10.0 MB en la versión gratuita
Las cuatro producen JSON válido. Activa una cuando al destino del literal le importe.
Gratis: 1 archivo de hasta 10.0 MB. Pro: 1 archivos, según tu dispositivo.
Qué hace esta herramienta de escape y unescape JSON
Escape convierte cualquier texto en una cadena JSON válida: entre comillas dobles y con las comillas, saltos de línea, tabulaciones, barras invertidas y caracteres de control escapados. Unescape hace lo contrario: pega una cadena JSON y recupera el texto plano. Pégalo, elige un archivo o suéltalo. Si Unescape no puede leer la entrada, la herramienta nombra la regla incumplida y te muestra dónde.
- Escape — Rodea el texto de comillas dobles y escapa comillas, saltos de línea, tabulaciones, barras invertidas y caracteres de control, de modo que el resultado sea un literal JSON válido para cualquier analizador.
- Unescape — Analiza una cadena JSON como "a\nb" y devuelve la cadena original. También acepta un cuerpo sin comillas, que es lo que obtienes al copiar un valor de un archivo JSON.
- Pegar, subir o soltar — Pega desde el portapapeles, usa el selector de archivos o arrastra un archivo. Los archivos UTF-8 y UTF-16 se detectan por su marca de orden de bytes, así que un archivo exportado desde PowerShell se lee bien en lugar de llegar ilegible.
- Intercambiar y empezar de nuevo — Intercambiar devuelve el resultado a la entrada e invierte la dirección, así que una ida y vuelta es un solo clic. Empezar de nuevo vacía la lista, el resultado y el selector de archivos a la vez.
Escape y unescape: cuál necesitas
Cuando incrustas texto con varias líneas o entrada de usuario en JSON o en código, hace falta escaparlo bien o una comilla o un salto de línea rompen la sintaxis. Escape te da el literal exacto para pegar. Cuando ya tienes una cadena escapada — de una respuesta de API, de un agregador de registros, de un archivo de configuración — y quieres leer el texto real, Unescape la revierte. Ambas direcciones son instantáneas y siguen funcionando sin conexión una vez cargada la página.
- Escribir una configuración o un fixture — Tienes un certificado, una sentencia SQL o una plantilla de varias líneas y lo necesitas como un único valor JSON. Escápalo y los saltos de línea pasan a \n en vez de romper el archivo.
- Leer una línea de registro — El registro estructurado serializa el mensaje, y a menudo el evento entero una segunda vez. Desescápalo y la traza vuelve a ser líneas legibles en lugar de una fila de \n y \".
- Depurar una respuesta de API — Un campo que llega como una cadena que contiene JSON es una carga doblemente codificada. Desescápalo una vez para obtener el documento interior y mándalo al Formateador JSON.
- Pegar en código fuente — Un literal que va a JavaScript, Python o Go necesita sus comillas y barras escapadas. Escápalo sin las comillas exteriores y pégalo entre las que ya tienes.
Todos los caracteres que JSON escapa
La gramática de JSON exige escapar exactamente dos caracteres dentro de una cadena — la comilla doble y la barra invertida — más todos los caracteres de control por debajo de U+0020. Siete tienen forma corta de dos caracteres; el resto usa una secuencia \u00XX. Esta es la lista completa, y la herramienta produce exactamente eso.
| Carácter | Se escapa como | Notas |
|---|---|---|
| Comilla doble " | \" | Obligatorio. Si no, termina la cadena. |
| Barra invertida \ | \\ | Obligatorio. Si no, inicia un escape. |
| Salto de línea U+000A | \n | Obligatorio. Un salto real es ilegal dentro de una cadena JSON. |
| Retorno de carro U+000D | \r | Obligatorio. |
| Tabulación U+0009 | \t | Obligatorio. |
| Retroceso U+0008 | \b | Obligatorio. |
| Avance de página U+000C | \f | Obligatorio. |
| Otros controles U+0000 a U+001F | \u0000 a \u001f | Obligatorio. No existe forma corta. |
| Sustituto suelto U+D800 a U+DFFF | \u + D800 a DFFF | Aquí se escapa siempre. No tiene codificación UTF-8, así que dejarlo crudo pierde el carácter al guardar. |
| Barra / | \/ | Opcional. Actívalo cuando el literal vaya dentro de un bloque de script HTML. |
| No ASCII por encima de U+007F | \u00e9, y 😀 como el par D83D DE00 | Opcional. Actívalo para un transporte solo ASCII. Los caracteres fuera del plano básico se convierten en un par de escapes. |
| Separadores de línea U+2028, U+2029 | \u2028, \u2029 | Opcional. Legales sin escapar en JSON y error de sintaxis en JavaScript antes de ES2019. |
| Supresión U+007F | no se escapa | JSON no lo exige, así que se deja tal cual. Activar el escape de no ASCII tampoco lo cambia: es un carácter ASCII. |
Vale la pena decirlo claro: escapar y desescapar son inversos exactos. Con cualquier combinación de opciones, desescapar el resultado devuelve el texto de partida carácter por carácter, incluidos los espacios de los extremos.
Cadenas anidadas y doblemente escapadas
El motivo más común de que un unescape parezca no funcionar es que el valor se escapó más de una vez. Cada ronda de serialización duplica las barras invertidas, así que un mensaje que empezó siendo un salto de línea pasa a \n, luego a \\n y luego a \\\\n. Una pasada quita una capa, y lo que queda sigue pareciendo escapado.
- Deja la profundidad en Automático — La herramienta sigue pelando mientras el resultado sea una cadena JSON entrecomillada, hasta diez capas, y luego se detiene. Te dice cuántas capas quitó, así que siempre sabes qué pasó.
- Fija una profundidad exacta para parar a mitad — Elige 1, 2 o cualquier número hasta 10 para pelar exactamente esas capas. Útil cuando el valor interior es un documento que quieres mandar al Formateador JSON en lugar de seguir descodificando.
- La prueba de pelado es deliberadamente estricta — Solo se quita una capa cuando lo que queda es realmente una cadena JSON entrecomillada que se analiza bien. Un texto normal que mencione \n nunca se pela, así que la herramienta no puede destrozar texto que siempre fue plano.
- Mira el recuento de capas — Si informa menos capas de las esperadas y el resultado aún contiene escapes, los restantes nunca fueron válidos: normalmente una línea de registro editada a mano con una barra suelta. Ejecuta Escape sobre el resultado para ver exactamente dónde deja de tener sentido.
Opciones de un vistazo
- Rodear el resultado de comillas — Activado por defecto. El resultado es un literal de cadena JSON completo, listo para pegar como valor. Desactívalo para obtener solo el cuerpo escapado y pegarlo entre comillas que ya existen en tu código.
- Escapar no ASCII como \uXXXX — Desactivado por defecto. Todo carácter por encima de U+007F se convierte en \uXXXX, así que el literal es ASCII puro. Los emoji y demás caracteres fuera del plano básico se convierten en dos escapes, que es lo que espera un analizador.
- Escapar las barras — Desactivado por defecto. Escribe / como \/, que es JSON válido y evita que una etiqueta de cierre dentro de una cadena termine antes de tiempo un bloque de script HTML.
- Escapar los separadores de línea — Desactivado por defecto, y no disponible mientras el escape de no ASCII esté activo porque ya los cubre. Escribe U+2028 y U+2029 como escapes para que el literal se pueda pegar en código JavaScript.
- Profundidad de unescape — Automático por defecto. Controla cuántas capas de anidamiento se quitan. Consulta la sección anterior.
- Recuentos y relación — Cada resultado muestra caracteres de entrada y de salida, bytes de entrada y de salida, y la relación de crecimiento: el número que importa cuando el valor tiene que caber en una columna o en un límite de carga.
Qué significa cada mensaje de error
Cuando Unescape rechaza una entrada, nombra la regla incumplida y da la línea y la columna, calculadas por nosotros a partir de la posición en tu texto y no leídas del mensaje en inglés de un analizador. Por eso el mensaje está en tu idioma y la posición señalada es correcta en todos los idiomas.
| Mensaje | Cuándo ocurre | Qué hacer |
|---|---|---|
| La cadena nunca se cierra | El texto tiene una comilla de apertura sin su pareja de cierre, normalmente un valor truncado por un límite de registro o una copia incompleta. | Añade la comilla de cierre o pega el valor entero. |
| Secuencia de escape desconocida | Una barra invertida va seguida de un carácter que JSON no define, como \q o una ruta de Windows pegada sin duplicar sus separadores. | Duplica las barras invertidas, o usa Escape sobre el texto original para producir un literal correcto. |
| Escape \u incompleto | Un \u no va seguido de exactamente cuatro dígitos hexadecimales. | Completa los cuatro dígitos. \u12 no es un escape válido; \u0012 sí. |
| Carácter de control sin escapar | Hay un salto de línea o una tabulación reales dentro de la cadena en lugar de \n o \t. Es el fallo más común al pegar un valor desde una terminal. | Usa Escape sobre el texto: es exactamente para lo que sirve. |
| Contenido extra tras la cadena | Hay dos cadenas seguidas, como "a" "b", o algo detrás de la comilla de cierre. | Convierte un valor cada vez, o únelos antes en una sola cadena. |
| Eso es un documento JSON, no una cadena | La entrada es un objeto o un array. Unescape trabaja sobre un único valor de cadena. | Mándalo al Formateador JSON o al Validador JSON; ambos están enlazados en el mensaje. |
Límites, velocidad y privacidad
Todo ocurre en tu propio dispositivo. No hay paso de subida, ni cola en un servidor, ni copia de tu texto en ningún sitio que no sea la pestaña que tienes abierta. Por eso también es rápido: nada tiene que viajar.
- Gratis — Un archivo cada vez, de hasta 10 MB, con todas las opciones y todas las profundidades disponibles. Pegar pasa por la misma comprobación, así que no hay nada que sortear.
- Pro — Sin límite fijo de tamaño — hasta donde llegue tu dispositivo — más hasta 20 archivos a la vez y todos los resultados en un único ZIP.
- Velocidad — Un documento de 10 MB se escapa en unos 22 milisegundos y se desescapa en unos 21. La conversión corre fuera del hilo principal, con progreso y un botón Cancelar que detiene el trabajo de verdad en lugar de esconderlo.
- Lo que nunca se envía — Tu texto, los nombres de tus archivos y tus resultados. La herramienta sigue funcionando tras cargar la página aunque apagues la red, que es la forma más simple de comprobarlo tú mismo.
- Formatos que abre — .json, .txt, .log, .ndjson, .jsonl, .md, .csv, .tsv, .xml, .yaml, .yml, .sql, .env e .ini. Cualquier otra cosa se rechaza en el selector de archivos, con un enlace a la herramienta que sí la abre: una hoja de cálculo va a Excel a JSON y un documento a Word a texto.
Un documento de 10 MB se escapa en unos 22 milisegundos en un portátil de gama media, y se procesa fuera del hilo principal para que la página nunca se congele.
Preguntas frecuentes
¿Cómo funciona la herramienta de escape JSON?
Elige Escape o Unescape y pega tu texto o carga un archivo. Escape rodea el texto de comillas dobles y escapa comillas, barras invertidas, saltos de línea, tabulaciones y caracteres de control para producir un literal de cadena JSON válido. Unescape hace lo contrario y devuelve el texto original. El resultado aparece junto al original con recuentos de caracteres y bytes, y puedes copiarlo, descargarlo o devolverlo a la entrada.
¿Están seguros mis datos?
Tu texto no se envía a ninguna parte. El escape y el desescape se ejecutan en tu propio dispositivo, así que nada se sube, nada se almacena y nada se registra; una vez cargada la página, la herramienta sigue funcionando sin conexión. Los archivos que sueltas se leen localmente y se liberan al vaciar la lista.
¿Cuál es la diferencia entre escape y unescape?
Escape convierte texto plano en un literal de cadena JSON: añade comillas dobles y escapa los caracteres especiales para que el valor sea seguro dentro de JSON o de código. Unescape hace lo contrario: toma una cadena JSON y devuelve el texto original, descodificando secuencias como \n, \t y \" a caracteres reales.
¿Qué caracteres se escapan?
Los que exige JSON: las comillas dobles pasan a \", las barras invertidas a \\, los saltos de línea a \n, los retornos de carro a \r, las tabulaciones a \t, el retroceso a \b, el avance de página a \f, y cualquier otro carácter por debajo de U+0020 se convierte en \u00XX. Los sustitutos sueltos también se escapan siempre, porque no tienen codificación UTF-8 válida y se perderían al guardar el archivo. Tres opciones añaden \uXXXX para caracteres no ASCII, \/ para las barras y \u2028 / \u2029 para los dos separadores de línea Unicode.
¿Qué entrada espera Unescape y qué pasa si falla?
Acepta una cadena JSON con sus comillas, como "hola\nmundo", y también un cuerpo escapado sin ellas, como hola\nmundo, que es lo que obtienes al copiar un valor de un archivo JSON. Los espacios alrededor se ignoran en una cadena entrecomillada y se conservan en un cuerpo suelto. Si la entrada no es una cadena válida, la herramienta nombra la regla incumplida, da la línea y la columna y muestra el texto circundante con enlaces al Formateador y al Validador JSON.
¿Sirve con cadenas doblemente escapadas o anidadas?
Sí. Una línea de registro serializada dos o tres veces todavía contiene \\n y \\\" después de una sola pasada. Deja la profundidad en Automático y la herramienta seguirá pelando mientras el resultado siga siendo una cadena JSON entrecomillada, hasta diez capas, y luego te dirá cuántas quitó. Fija una profundidad exacta si quieres detenerte a mitad e inspeccionar una capa intermedia.
¿Por qué escapar caracteres no ASCII o barras?
Escapa los no ASCII como \uXXXX cuando el valor tenga que atravesar algo que no sea fiablemente de 8 bits, o cuando quieras que el literal sea ASCII puro en el control de versiones. Escapa las barras cuando la cadena vaya dentro de un bloque de script HTML, donde una etiqueta de cierre dentro de una cadena terminaría la etiqueta antes de tiempo. Ambas formas son JSON válido: las opciones existen porque a veces al destino sí le importa.
¿Qué son U+2028 y U+2029 y por qué hay una opción para ellos?
Son el separador de línea y el separador de párrafo de Unicode. Son perfectamente legales sin escapar dentro de una cadena JSON y, hasta ES2019, eran ilegales dentro de un literal de cadena de JavaScript, así que una cadena JSON pegada en código JavaScript podía ser un error de sintaxis señalando un carácter invisible. La opción los escapa para que el literal se pueda pegar en cualquier sitio.
¿Qué tamaño de archivo admite y funciona en el móvil?
La versión gratuita admite un archivo de hasta 10 MB. Pro elimina el límite fijo y llega hasta donde llegue tu dispositivo, acepta hasta 20 archivos a la vez y entrega todos los resultados en un único ZIP. Pegar no tiene un límite aparte: pasa por la misma comprobación. Funciona en cualquier navegador moderno de ordenador, tableta y teléfono, y los documentos grandes se convierten fuera del hilo principal para que la página no se bloquee.
de 65 valoraciones
Valora esta herramienta
Toca una estrella — es un segundo