Formateador, validador y minificador de JSON
Pega JSON y se reformatea mientras escribes. Si no se puede analizar, obtienes la línea y la columna donde el analizador se rindió, que suele estar unos caracteres después del error real. A la entrada válida también se le buscan los dos problemas que el analizador deja pasar sin quejarse y que aun así hacen daño: las claves duplicadas y los enteros demasiado grandes para JavaScript.
Dos espacios es lo predeterminado en la mayoría de las guías de estilo. Minifica todo lo que vaya a viajar por la red.
Formatear es un viaje de ida y vuelta, no una pasada cosmética
Esta herramienta no le agrega saltos de línea a tu texto. Analiza el JSON hasta convertirlo en un valor y vuelve a imprimir ese valor. Todo lo que no formaba parte de los datos desaparece en el camino, que es casi siempre lo que quieres y de vez en cuando una sorpresa.
- Los comentarios desaparecen — porque nunca llegaron a analizarse. JSON no tiene comentarios, así que un archivo que los lleva no es JSON y lo que obtienes es un error.
- Los números se normalizan.
1.0vuelve como1,1e3como1000, y0.30000000000000004como sí mismo. No se conserva la forma escrita, solo el valor. - Las claves que parecen índices de un array se mueven.
{"2":"b","1":"a"}se vuelve a imprimir como{"1":"a","2":"b"}. Esa es una regla de los objetos de JavaScript, no de JSON, y es el único reordenamiento que aquí no puedes desactivar. - Los escapes se reescriben.
\u0041se convierte enA, y un tabulador literal dentro de una cadena se convierte en\t.
La gramática completa, en una sola lista
JSON es diminuto a propósito, y por eso tantas cosas que parecen JSON no lo son. La lista completa de lo que se permite: objetos, arrays, cadenas entre comillas dobles, números, true, false y null. Nada más. Rechazado de forma explícita:
- Las comas sobrantes después del último elemento o miembro.
- Las cadenas entre comillas simples y las claves de objeto sin comillas.
- Los comentarios
//y/* */. NaN,Infinity, los números hexadecimales, los ceros a la izquierda y el+inicial.- Un número con el punto decimal desnudo de cualquiera de los dos lados:
.5y5.son inválidos los dos, mientras que0.5y5.0están bien.
Desde el RFC 8259 el nivel superior puede ser cualquier valor, no solo un objeto o un array, así que un documento que contiene únicamente 42 es JSON válido. Los analizadores viejos no están de acuerdo. Si generas salida para algo antiguo, envuélvelo.
Los números son donde JSON miente en voz baja
La especificación no le pone límite al tamaño ni a la precisión de un número. JavaScript sí: todo número es un flotante de 64 bits, así que los enteros por encima de 9.007.199.254.740.991 no se pueden representar todos. Analiza 9007199254740993 y lo que recibes de vuelta es 9007199254740992, sin ningún error en ninguna parte.
Donde más duele es en los identificadores. Los IDs de base de datos, los snowflakes de Discord y las marcas de tiempo en nanosegundos cruzan esa línea todo el tiempo, y por eso las APIs bien diseñadas envían los IDs grandes como cadenas. La herramienta revisa tu entrada en busca de literales enteros que cambian cuando JavaScript los lee y te dice cuáles son. No los puede arreglar: para cuando el valor existe, los dígitos ya se perdieron. Si ves ese aviso, trata la salida formateada como insegura para pegarla de vuelta en cualquier cosa que importe.
Las claves duplicadas se analizan sin problema y no significan nada
El RFC 8259 dice que los nombres dentro de un objeto DEBERÍAN ser únicos y deja el comportamiento sin definir cuando no lo son. En la práctica JavaScript se queda con el último, Python se queda con el último, y algunas configuraciones de Go y de Java lanzan un error. Un archivo de configuración con "timeout" dos veces es, por lo tanto, un error real que la mayoría de las herramientas nunca menciona. Esta lee el texto crudo antes de que el análisis tire la evidencia, y enumera cualquier clave que vea dos veces dentro del mismo objeto.
Hasta dónde llega esta herramienta
Valida la sintaxis, no el significado. Un JSON válido al que le falta un campo que tu servicio exige pasa igual por aquí: para eso necesitas un validador de JSON Schema, y esto no lo es.
No lee los formatos que casi lo son. JSON5 y JSONC, que permiten comentarios y comas sobrantes, fallan los dos. NDJSON —un objeto por línea, sin un array que lo envuelva— también falla, porque la segunda línea es una entrada inesperada. Borra los caracteres que sobran o envuelve las líneas en un array tú mismo.
Y todo corre en el hilo principal de la página. Unos pocos megabytes se manejan cómodamente. En algún punto por encima de eso la pestaña deja de responder mientras trabaja, y un archivo muy grande puede agotar la memoria por completo. Si tu JSON salió de una exportación de base de datos, usa un analizador de streaming en tu propia computadora en lugar de una pestaña del navegador.
Preguntas frecuentes
¿Mi JSON se sube a algún lado?
No. El análisis, el formateo y la revisión ocurren todos en esta pestaña, con el propio analizador de JSON del navegador. No se transmite nada y no se guarda nada, así que recargar la página pierde lo que escribiste.
¿Por qué el error señala el carácter equivocado?
Porque un analizador solo nota un problema cuando llega a algo que no puede venir a continuación de ninguna manera. Una coma que falta se suele reportar al comienzo de la clave siguiente, y una cadena sin cerrar se reporta donde aparezca la comilla siguiente. Mira justo antes de la posición que te da.
¿Puedo formatear JSON que tiene comentarios?
Así como está, no. Los comentarios convierten el archivo en JSONC o JSON5, no en JSON, y el analizador los rechaza. Quita primero las líneas de comentario, o usa el formato que tu editor o tu cargador de configuración espera de verdad.
¿Ordenar las claves cambia los datos?
No: por definición los miembros de un objeto no tienen orden, así que ordenarlos produce un documento equivalente. Vale la pena hacerlo antes de un diff y vale la pena evitarlo en archivos que lee gente, donde la agrupación que eligió el autor suele cargar significado.
¿Cuál es el archivo más grande que maneja?
Unos pocos megabytes están bien en una computadora normal. Más allá de eso la pestaña se congela por segundos enteros, porque formatear sostiene en memoria al mismo tiempo el texto original, el valor analizado y la salida. No hay un tope duro, solo un punto en el que deja de ser agradable.
Última actualización 19 de septiembre de 2026