Formateador y validador JSON online
Formatea, minifica y valida tu JSON al instante. Todo se procesa en tu navegador; esta página no sube el texto que pegas
Salida
Cómo usar esta herramienta
- Pega tu JSON en el cuadro «JSON de entrada».
- Elige la sangría: 2 espacios, 4 espacios o tabulador.
- Presiona Formatear para una presentación legible o Minificar para quitar el espacio en blanco opcional.
- Lee el estado (JSON válido o error de análisis) junto con el tamaño bruto y el número de nodos, y copia el resultado.
Ejemplo práctico
Pega {"name":"Ana","tags":["a","b"],} y el estado muestra un error de análisis, porque JSON no admite una coma final. Borra la última coma y presiona Formatear: el estado pasa a JSON válido, con 31 bytes de tamaño bruto y 4 nodos ("Ana", el array tags y sus dos cadenas). Minificar devuelve después la versión compacta para una petición o un archivo de configuración. Recuerda que la salida se regenera a partir del valor analizado: los enteros muy grandes por encima de 2^53 − 1 pueden perder precisión y una clave repetida conserva solo el último valor.
Metodología
La herramienta valida y vuelve a imprimir el JSON con las funciones integradas del navegador, JSON.parse() y JSON.stringify(). La gramática es la de la RFC 8259 (y ECMA-404): un documento es un único valor (objeto, arreglo, cadena, número, true, false o null), las cadenas y las claves llevan comillas dobles, y se rechazan los comentarios, las comas finales, NaN, undefined y los números con ceros a la izquierda.
Lo que un formateador JSON no arregla por ti
Casi toda la frustración viene de esperar algo que la herramienta nunca prometió. Aquí van cinco casos y lo que ocurre de verdad en esta página.
- Esperar que Formatear arregle un JSON roto. Solo analiza y vuelve a imprimir. Si la entrada no es válida, aparece Error de análisis y el cuadro de salida muestra el mensaje de error de tu navegador, no una versión corregida.
- Pegar líneas de log o JSON Lines. Dos objetos en dos líneas no son un único documento JSON.
{"a":1}seguido de{"a":2}falla al comenzar la línea 2. Pega un registro cada vez, o enciérralos entre[ ]separados por comas. - Pegar una cadena codificada dos veces. Si el texto empieza y termina con comillas y está lleno de barras invertidas, como
"{\"id\":7}", es JSON válido, pero es una sola cadena. El estado dice JSON válido, los nodos totales son 0 y no se indenta nada. Quita primero las comillas exteriores y las barras. - Esperar que el tamaño baje tras Minificar. El tamaño es la longitud en bytes de lo que pegaste, así que no cambia. El ejemplo
{ "name": "Ana", "tags": ["a", "b"] }pesa 37 bytes y su versión minificada, 31. Vuelve a pegar la salida para ver el nuevo tamaño. - Suponer que los números conservan su escritura. Los valores se imprimen de nuevo a partir del valor analizado:
19.90pasa a19.9,1E2a100y-0a0. Si los ceros finales importan, guarda esos valores como cadenas.
Preguntas frecuentes
¿El JSON que pego se envía a un servidor? ▼
Esta página no lo sube. El análisis y el formateo los hace JavaScript en tu propio navegador, y la página no guarda el texto. Lo que queda fuera de la página, como las extensiones del navegador, un equipo compartido o una grabación de pantalla, no lo controla. Por precaución, cambia cualquier clave de API o token que hayas pegado en una herramienta en línea de la que no te fíes del todo.
¿Por qué mi JSON muestra un error de análisis? ▼
Las causas habituales son una coma final (como en {"name": "Ana",}), comillas simples en lugar de dobles, claves sin comillas, comentarios, los valores NaN o undefined, números con ceros a la izquierda como 007, y saltos de línea o tabuladores reales dentro de una cadena. El texto exacto del mensaje lo da tu navegador (Chrome, Firefox y Safari lo redactan distinto) y suele indicar el carácter inesperado o su posición.
¿Por qué cambió un número grande o una clave repetida en la salida? ▼
JSON.parse convierte cada número en un valor de coma flotante de 64 bits, que solo es exacto hasta 9.007.199.254.740.991. Los enteros más largos, como identificadores de base de datos de 19 dígitos, pierden los últimos dígitos. Cuando una misma clave aparece dos veces en un objeto, el valor posterior reemplaza al anterior sin avisar. Si eso te importa, guarda esos valores como cadenas en los datos de origen o compara la salida con el original.
¿Puedo abrir tsconfig.json, ajustes de VS Code o archivos muy grandes? ▼
Los archivos en estilo JSONC o JSON5 (comentarios, comas finales, comillas simples) no son JSON válido y se rechazan hasta que quites esas partes. En cuanto al tamaño, el límite es la memoria y la paciencia de tu navegador: la salida se reconstruye con cada tecla, así que pegar varios megabytes puede hacer que la página se detenga un momento.