JSON Toolkit

FAQ de uso de la herramienta: datos, archivos y exportación

En resumen: Si los datos se suben, qué tamaño de archivo funciona, si algo se guarda localmente, por qué el chino se convierte en escapes: diez preguntas que explican los límites reales de una herramienta JSON online.

Principiante~10 min de lecturaPublicado el 2026-10-30Actualizado el 2026-10-30
Portada de las preguntas frecuentes sobre uso de la herramienta

En resumen: el análisis, el formateo, el diff y las consultas se ejecutan por completo en tu navegador y siguen funcionando sin conexión; borra el historial de localStorage después de manejar datos sensibles; y por encima de 10 MB cambia a herramientas de streaming en la línea de comandos en lugar de pegar el archivo en el navegador.

Antes de pegar un payload sensible en una herramienta online, conviene saber adónde va. Este artículo cubre solo el comportamiento en tiempo de ejecución de la herramienta, no la sintaxis.

1. Datos y privacidad

¿El formateador JSON online sube mis datos a un servidor?

No. El análisis, el formateo, la minificación, el diff y las consultas ocurren todos en el navegador, y la página nunca envía a un servidor de aplicaciones nada de lo que pegas.

No hace falta leer una política de privacidad para saber si una herramienta online sube datos; basta con el panel de red del navegador:

  1. Abre las herramientas de desarrollo, cambia al panel Network y activa la persistencia del registro;
  2. Pega algo de JSON y pulsa «Format»;
  3. Observa si aparece una nueva petición XHR o fetch y si su cuerpo contiene tu contenido.

En una herramienta realmente local, este paso muestra solo peticiones de recursos estáticos. En cambio, si una sola acción de formateo produce POST /api/format cuyo cuerpo es tu texto original, entonces los datos ya han salido del navegador, diga lo que diga la página.

Todas las herramientas de este sitio son implementaciones puramente de front-end, y el resultado de la compilación no contiene ninguna API de servidor. Tras desconectarte, una recarga que acierte en la caché sigue funcionando, lo que también es la forma más directa de saber si algo es «totalmente local».

¿Puedo usarlo sin conexión?

Sí, siempre que la página se haya cargado una vez.

Los recursos del sitio se descargan en la caché del navegador en la primera visita, así que aunque después no haya red, el formateo, la minificación, la conversión a JSON5 y las consultas JSONPath siguen funcionando. Solo fallan las funciones que dependen de la red, como comprobar si hay una versión nueva o descargar el instalador de escritorio.

La prueba sin conexión es igualmente una buena forma de verificar que «los datos nunca salen»: si todo se rompe en el momento en que te desconectas, cada acción estaba hablando con un servidor.

¿Se guarda algo en local? ¿Cómo lo borro?

Sí, pero solo en el localStorage del navegador actual, y solo el historial y los ajustes de la interfaz.

  • Historial: las últimas 100 entradas procesadas en orden cronológico inverso, usadas para recuperar los datos pegados anteriormente;
  • Ajustes de la interfaz: tema, idioma, preferencias de indentación, etc.;
  • No se guarda: el archivo en sí, registros de subida ni nada que conlleve una identidad.

Hay tres formas de borrarlo, de la más limitada a la más amplia:

Método Alcance Cuándo usarlo
«Clear history» en la página de historial Borra solo el historial, conserva los ajustes Después de manejar datos sensibles
Ejecutar localStorage.clear() en las herramientas de desarrollo Todos los datos locales de este sitio Diagnosticar ajustes anómalos
«Borrar datos de navegación» del navegador para este sitio Cookies, caché y almacenamiento a la vez Antes de usar un ordenador compartido

Cuando manejes datos de producción en un ordenador compartido, borra el historial al terminar en lugar de limitarte a cerrar la pestaña: localStorage no desaparece al cerrar una pestaña.

¿Por qué los caracteres chinos se han convertido en \u4e2d\u6587?

Porque la función «escape» convierte los caracteres no ASCII en secuencias de escape Unicode. Es un comportamiento deliberado, no mojibake.

\u4e2d es el punto de código del carácter 中 (U+4E2D). Las dos formas son semánticamente idénticas en JSON y se analizan como la misma cadena:

{
  "escaped": "\u4e2d\u6587",
  "plain": "中文"
}

¿Cuándo es necesario escapar? Cuando incrustas JSON en un sistema antiguo que solo acepta ASCII, cuando lo escribes en una cabecera HTTP o cuando lo anidas dentro de otra cadena. ¿Cuándo no es necesario? La mayoría del transporte por API y el almacenamiento en archivos no lo necesitan; guardar el chino directamente como UTF-8 ahorra bytes: un carácter chino ocupa 3 bytes, y 6 bytes una vez escapado.

Si ves que el chino se convierte en \u4e2d, comprueba primero si pulsaste el botón «Escape» en lugar de sospechar que la codificación está rota.

2. Archivos y tamaño

¿Qué tamaño de archivo se admite?

No hay un límite estricto por parte del navegador; los límites reales vienen de tres sitios:

Etapa Cuello de botella aproximado Síntoma
Pegar en un cuadro de texto 1–5 MB La entrada se vuelve lenta tras pegar, el cursor tarda
JSON.parse 50–100 MB El hilo principal se bloquea durante segundos, la página no responde
Renderizado del árbol 10k–20k nodos Se pierden fotogramas al expandir, el desplazamiento se congela

En otras palabras, un archivo de decenas de MB «se puede analizar» pero «no se puede usar». Cuando realmente necesites procesar esos datos, lo correcto no es buscar una herramienta online más potente, sino cambiar a streaming (véase FAQ de rendimiento y seguridad).

Regla práctica: por debajo de 2 MB una herramienta online sigue fluida; de 2 a 10 MB implica aceptar algún tirón; por encima de 10 MB, prefiere un script local.

El navegador se congela después de pegar. ¿Y ahora qué?

No recargues primero: recargar pierde el contenido y tendrás que volver a pegarlo. Rescátalo en este orden:

  1. Espera de 10 a 30 segundos. En la mayoría de los casos el hilo principal está analizando o renderizando y se recuperará por sí solo;
  2. Cuando se recupere, cambia de inmediato a la vista «Minify» o contrae el árbol para reducir los nodos DOM;
  3. Copia el contenido en un archivo local y pasa a la línea de comandos:
# Ver solo la estructura de las primeras 100 líneas, para evitar cargarlo todo
head -c 200000 data.json | jq . | head -n 100

# Contar entradas con una herramienta de streaming, sin cargarlas en memoria
jq -c '.items[]' data.json | wc -l

La próxima vez que te encuentres con un archivo grande, ejecuta primero wc -c para ver el número de bytes y luego decide si lo pegas en un navegador.

¿Por qué el formateo no cambia nada después de pegar?

Tres causas habituales, ordenadas por frecuencia:

  1. La entrada ya está minificada y no tiene errores de sintaxis: el formateo solo ajusta la indentación, así que si el original realmente tiene dos líneas, seguirá teniendo dos líneas después: los saltos de línea dentro de las cadenas no se expanden;
  2. El contenido no es JSON: por ejemplo, pegaste un literal de objeto de JavaScript (claves sin comillas, comillas simples), y el analizador informa de un error en lugar de formatear;
  3. Has pulsado el botón equivocado: minificar y formatear van en direcciones opuestas, y minificar elimina toda la indentación.

Cómo saberlo: mira el recuento de caracteres en la esquina superior derecha del área de salida. Después de formatear, el recuento debería aumentar (indentación y saltos de línea extra); si en cambio ha disminuido, ejecutaste minificar.

3. Entrada y salida

¿Cómo exporto el resultado a un archivo?

Tres formas, ordenadas por fiabilidad:

Método Acción Cuándo usarlo
Botón de descarga Pulsa «Download» para generar un archivo .json Resultados grandes que hay que archivar
Copiar al portapapeles Pulsa «Copy» Resultados pequeños que pegas directamente de vuelta en el código
Copia manual con selección Selecciona el área de salida y pulsa Ctrl/Cmd + C El recurso alternativo cuando falla el botón de copiar

El archivo descargado está codificado en UTF-8 sin BOM de forma predeterminada. Esto importa: el JSON con BOM falla directamente en muchos analizadores (véase la sección sobre BOM en la FAQ de sintaxis y formatos).

¿Se admiten JSON5 y JSONC?

Sí, pero distingue entre «análisis» y «salida».

  • En la entrada puedes pegar JSON5 (comillas simples, claves sin comillas, comentarios, comas finales, números hexadecimales) o JSONC (solo comentarios);
  • En la salida puedes convertir a JSON estándar, o convertir JSON estándar de vuelta a JSON5 para facilitar la edición manual.

Emite siempre JSON estándar al cruzar sistemas. JSON5 es un dialecto para humanos que escriben configuración; un cuerpo de petición con Content-Type: application/json que contenga comentarios o comas finales normalmente será rechazado por el servidor.

4. Entorno y compatibilidad

¿Funciona en el móvil?

Sí. La interfaz se reordena en una sola columna, y se mantienen el formateo, la minificación, el diff y JSONPath.

Pero manejar archivos grandes en el móvil es una mala experiencia: el teclado en pantalla tapa el contenido, seleccionar texto es difícil, y el navegador puede descartar la página al cambiar de aplicación, perdiendo tu contenido. Aceptable como emergencia, pero en el día a día hazlo en un ordenador de escritorio.

¿Por qué el mismo archivo se abre en Chrome pero da error en Safari?

Normalmente no es una diferencia de navegador sino de codificación. Depura en este orden:

  1. BOM: el UTF-8 guardado por el Bloc de notas de Windows incluye un BOM, que algunos analizadores no toleran;
  2. Finales de línea: mezclar CRLF y LF no afecta a JSON en sí, pero desplaza los números de línea que se informan en los errores, así que parece que «la posición del error es incorrecta»;
  3. Caracteres invisibles: el texto copiado de una página web puede contener espacios de ancho cero (U+200B), invisibles a la vista pero suficientes para romper la coincidencia de claves.

Un solo comando lo desvela:

# Ver el hex de los primeros 16 bytes; un EF BB BF inicial indica que hay un BOM
head -c 16 data.json | xxd

5. Referencia rápida

Pregunta Conclusión
¿Sube los datos? No, todo se procesa localmente en el navegador y funciona sin conexión
¿Dónde se guardan los datos? localStorage, solo historial y ajustes, nunca archivos
¿Qué tamaño de archivo es razonable? Fluido por debajo de 2 MB; por encima de 10 MB pasa a la línea de comandos
El chino se ha convertido en \u Pulsaste escape; es equivalente pero más voluminoso, y normalmente innecesario
Se ha congelado, ¿y ahora? Espera a que se recupere → contrae el árbol → copia fuera y usa jq
¿La exportación está libre de BOM? Sí, UTF-8 sin BOM
¿Se admiten comentarios? JSON5/JSONC en la entrada; emite JSON estándar