RevealTheme logo

Formateador y Validador de JSON

Formatea, embellece, valida y minifica JSON. Se ejecuta íntegramente en tu navegador, por lo que tus datos nunca salen de tu dispositivo.

Cómo usar esta herramienta

  1. 1

    Pega tu JSON en el campo de entrada.

  2. 2

    Haz clic en Formatear para mostrarlo con sangría y legible, o en Minificar para eliminar los espacios en blanco.

  3. 3

    Los errores indican la línea y la columna exactas donde falló el análisis.

  4. 4

    Copia el resultado a tu portapapeles.

¿Qué es JSON y por qué importa darle formato?

JSON (JavaScript Object Notation) es la lengua franca de las APIs web modernas, los archivos de configuración y el registro estructurado de eventos. Toda API REST y GraphQL devuelve JSON; cada package.json, tsconfig.json y la mayoría de las configuraciones de CI son JSON; AWS, GCP y Azure hablan JSON en sus CLIs. La fortaleza de JSON es su gramática mínima: seis caracteres estructurales ({}, [], coma, dos puntos, comillas), cuatro tipos primitivos (cadena, número, booleano y null) y anidamiento recursivo. Ese minimalismo es también su inconveniente: JSON no admite comentarios, ni comas finales, ni claves sin comillas, ni cadenas de varias líneas. Una sola comilla o coma mal colocada rompe el documento entero. Esta herramienta valida la entrada según la RFC 8259 (la especificación de JSON) y luego la presenta con sangría coherente para su lectura, o elimina todos los espacios en blanco para su transmisión por red. El análisis y el formateo se ejecutan por completo en tu navegador mediante las funciones nativas JSON.parse y JSON.stringify del motor de JavaScript, el mismo código que se ejecuta en los servidores Node.js y en todos los navegadores. Eso significa que tus datos nunca viajan por la red y que el comportamiento de validación aquí coincide exactamente con el que verá tu código en producción.

Casos de uso comunes

  • Depura respuestas de API pegándolas en el formateador: visualiza al instante la estructura que el JSON minificado oculta.

  • Valida JSON antes de enviarlo a un consumidor estricto (AWS CloudFormation, manifiestos de Kubernetes, etc.).

  • Embellece registros de bibliotecas de logging estructurado (Pino, Bunyan) que emiten JSON en una sola línea.

  • Minifica archivos de configuración antes de incrustarlos en HTML o en variables de entorno (menos bytes que analizar).

  • Formatea cargas útiles de JSON Web Token después de decodificarlas desde base64.

  • Compara dos respuestas de API formateando ambas y observando sus diferencias.

Preguntas frecuentes

¿Mi JSON sale del navegador?
No. Todo el análisis y el formateo ocurren en tu navegador mediante las funciones integradas JSON.parse y JSON.stringify. Los datos nunca llegan a un servidor ni aparecen en registros. Es seguro usarlo con respuestas de API que contengan tokens, datos de clientes u otros secretos.
¿Puedo formatear JSON5 o JSONC (con comentarios)?
No: esta herramienta sigue la especificación estricta de JSON (RFC 8259). Los comentarios y las comas finales son errores de sintaxis y producirán un mensaje de error del analizador. Para variantes flexibles de JSON, usa un analizador JSON5 como json5.org, o pasa tu entrada por un preprocesador que elimine los comentarios primero.
¿Qué tamaño de sangría debo usar?
2 espacios es la convención de JavaScript y la web, y la más universal. 4 espacios es el valor predeterminado del ecosistema de Python (coincide con la sangría de PEP 8). Las tabulaciones se representan de forma inconsistente entre editores y rompen las herramientas de comparación; evítalas salvo que tu equipo tenga una convención estricta de tabulación. La elección es puramente estética; a los analizadores no les importa.
¿Por qué importa el JSON minificado?
El JSON minificado ahorra bytes, algo significativo a gran escala (por ejemplo, una API pública que devuelve 100 KB de datos a millones de solicitudes). Para archivos de configuración pequeños (de unos pocos KB), la diferencia es insignificante. Los tiempos de análisis del navegador son idénticos para JSON formateado y minificado, así que la única razón para minificar es el ancho de banda.
¿Cómo interpreto los mensajes de error?
Los mensajes de error de JSON.parse de JavaScript incluyen la posición (desplazamiento desde el inicio) donde falló el análisis. Errores comunes: 'Unexpected token' suele indicar una comilla o coma faltante, o un carácter especial sin escapar. 'Unexpected end of JSON input' significa que el documento está truncado. 'Unexpected non-whitespace character' a menudo indica una coma final.
¿Puedo formatear archivos JSON muy grandes?
El JSON.parse del navegador maneja archivos de hasta aproximadamente 100 MB antes de que el rendimiento se vuelva problemático. Para archivos mayores, usa jq en la línea de comandos: puede procesar en streaming archivos JSON arbitrariamente grandes.
¿Cuál es la diferencia entre JSON y los objetos literales de JavaScript?
JSON es un subconjunto estricto de la sintaxis de objetos literales de JavaScript. Diferencias: las claves de JSON deben ser cadenas entre comillas dobles (JS permite claves sin comillas y comillas simples); JSON prohíbe comentarios, comas finales y undefined; JSON no tiene expresiones, llamadas a funciones ni valores calculados. JavaScript puede evaluar JSON de forma segura; JSON no puede evaluar JavaScript arbitrario.

Herramientas relacionadas