GarToolsPremium Tools

Formateador y Minificador JSON

Formatea o minifica JSON con detección de errores.

Por Ferran Garola BonillaDesarrollador full-stack de GarToolsActualizado: ECMA-404 (JSON) + RFC 8259
Procesamiento local Resultado instantáneo 100% gratuito

¿Por qué es importante formatear JSON?

El JSON sin formatear — una sola línea larga sin indentación ni saltos de línea — es extremadamente difícil de leer para los humanos. Cuando una API devuelve una respuesta compacta de cientos o miles de caracteres, encontrar un campo específico o entender la estructura de los datos se convierte en una tarea frustrante. Formatear JSON con indentación y saltos de línea hace visible la jerarquía de los datos al instante.

Un JSON bien formateado facilita la depuración: puedes identificar rápidamente campos faltantes, valores incorrectos o estructuras inesperadas. También mejora la revisión de código: cuando los archivos JSON del repositorio están formateados consistentemente, los diffs en pull requests muestran exactamente qué campos cambiaron. Y facilita la comunicación: compartir un JSON formateado con un compañero de equipo es mucho más efectivo que enviar una línea de texto compacto.

Formatear vs minificar: cuándo usar cada opción

Formatear (pretty print) es ideal durante el desarrollo y la depuración. Añade indentación, saltos de línea y espaciado que hacen el JSON fácilmente legible. Úsalo cuando estés inspeccionando respuestas de API, revisando archivos de configuración como package.json o tsconfig.json, documentando estructuras de datos, o compartiendo JSON con compañeros de equipo.

Minificar elimina todos los espacios en blanco innecesarios, reduciendo significativamente el tamaño. Un JSON formateado de 10 KB puede bajar a 6-7 KB tras minificarlo — un ahorro del 30-40%. Esto se traduce en menos bytes transferidos por la red y menor uso de almacenamiento. Usa minificación para payloads de API en producción, almacenamiento en localStorage, datos embebidos en HTML, o cualquier contexto donde el rendimiento y el tamaño importan más que la legibilidad.

Estándares de indentación: 2 espacios, 4 espacios o tabulaciones

La elección de indentación depende de las convenciones de tu equipo y ecosistema. 2 espacios es el estándar más común en el ecosistema JavaScript/TypeScript. Herramientas como Prettier, ESLint y la mayoría de proyectos open source de Node.js lo utilizan. Es compacto y funciona bien incluso con JSON profundamente anidado.

4 espacios es más frecuente en ecosistemas como Python y Java. Ofrece mayor claridad visual, especialmente en JSON con muchos niveles de anidación, a cambio de ocupar más espacio horizontal. Es lo que usa JSON.stringify(data, null, 4) y herramientas como python -m json.tool.

Tabulaciones tienen la ventaja de que cada desarrollador puede configurar su ancho visual preferido en el editor (2, 4 u 8 caracteres), y ocupan solo 1 byte por nivel de indentación. Sin embargo, son menos comunes en JSON y pueden causar inconsistencias visuales entre distintos editores. Lo más importante es elegir un estándar y mantenerlo consistente en todo el proyecto.

Trabajo con archivos JSON grandes

Para archivos JSON pequeños y medianos (hasta 10-20 MB), esta herramienta online funciona perfectamente. El navegador procesa el formateo usando las funciones nativas JSON.parse() y JSON.stringify(), que están altamente optimizadas. Sin embargo, para archivos muy grandes, el navegador puede quedarse sin memoria o volverse lento.

Para JSON de gran tamaño, existen herramientas de línea de comandos más eficientes. jq es la herramienta estándar para procesar JSON en la terminal: jq . archivo.json formatea con colores, y jq -c . archivo.json minifica. También puedes usar python -m json.tool archivo.json sin instalar nada adicional. Para archivos de cientos de megabytes, considera usar parsers de streaming que no cargan todo el JSON en memoria.

Integración del formateo en tu flujo de desarrollo

El formateo de JSON no debería depender de herramientas online. Intégralo directamente en tu flujo de trabajo. En tu IDE, configura el formateo automático al guardar: VS Code lo hace con la opción editor.formatOnSave y extensiones como Prettier. En tu CI/CD, añade un paso que verifique que todos los archivos JSON del repositorio están correctamente formateados, rechazando pull requests con formato inconsistente.

Usa pre-commit hooks con herramientas como Husky y lint-staged para formatear automáticamente los archivos JSON antes de cada commit. Esto garantiza que el repositorio siempre tenga un formato consistente sin depender de la disciplina individual. Una configuración típica en package.json podría incluir: "lint-staged": { "*.json": "prettier --write" }. Así, cada archivo JSON modificado se formatea automáticamente antes de ser commiteado.

Preguntas frecuentes

Formatear (pretty print) añade indentación, saltos de línea y espaciado para que el JSON sea legible por humanos. Minificar hace lo contrario: elimina todos los espacios en blanco, saltos de línea e indentación innecesarios para reducir el tamaño del archivo al mínimo. Un JSON formateado de 10 KB puede reducirse a 6-7 KB tras minificarlo, lo que representa un ahorro del 30-40% en transferencia de datos.

Sí, automáticamente. El proceso de formateo requiere parsear el JSON primero, por lo que si tiene errores de sintaxis, la herramienta te mostrará un mensaje de error detallado indicando la posición exacta del problema en lugar de intentar formatear un JSON inválido. Esto hace que el formateador funcione también como validador.

Depende de la convención de tu equipo o proyecto. 2 espacios es el estándar en la mayoría de proyectos JavaScript/TypeScript y es lo que usan herramientas como Prettier por defecto. 4 espacios es más común en Python y Java, ofreciendo mayor claridad visual para JSON con muchos niveles de anidación. Las tabulaciones permiten que cada desarrollador configure su ancho visual preferido en su editor, pero generan archivos ligeramente más pequeños. Lo importante es ser consistente dentro de un mismo proyecto.

Sí, esta herramienta procesa el JSON directamente en tu navegador, lo que permite manejar archivos de varios megabytes sin problemas. Sin embargo, para archivos extremadamente grandes (más de 50 MB), es recomendable usar herramientas de línea de comandos como jq o python -m json.tool, que consumen menos memoria. Para JSON de tamaño medio (1-20 MB), la herramienta funciona perfectamente.

Si el formateador muestra un error, tu JSON tiene un problema de sintaxis. Los errores más comunes son: comas finales después del último elemento, comillas simples en vez de dobles, claves sin entrecomillar, valores como undefined o NaN que no son válidos en JSON, o comentarios tipo // o /* */. El mensaje de error indica la posición aproximada del problema. Corrige el error y vuelve a intentarlo.

Sí, porque el formateo se hace íntegramente con JSON.parse() y JSON.stringify() nativos del navegador. Ni el texto pegado ni el resultado salen de tu pestaña: cero peticiones HTTP, cero backend, cero log. Esto importa especialmente cuando estás formateando un kubeconfig, una respuesta de API con tokens de sesión o un JWT decodificado. Puedes abrir la pestaña Network de tus DevTools mientras formateas y comprobar que no se dispara ninguna petición. Si trabajas habitualmente con secretos en código, mira también el artículo sobre cómo crear contraseñas seguras.

Herramientas relacionadas

Lecturas relacionadas