bitlvl
ES

Formateador y validador JSON

Pega JSON. Se valida mientras escribes, con la línea y columna del primer error y la causa probable. Luego formatéalo, minifícalo, ordénalo o conviértelo.

Los resultados y mensajes de esta herramienta se muestran en inglés.

Qué hace inválido un JSON

JSON es más estricto que JavaScript, y los errores son casi siempre uno de unos pocos:

ErrorPor quéSolución
{"a": 1,}Coma finalQuitar la coma antes de } o ].
{'a': 1}Comillas simplesCadenas y claves solo con comillas dobles.
{a: 1}Clave sin comillasPonerla entre comillas: "a".
// comentarioNo hay comentarios en JSONQuitarlo, o usar JSON5 / JSONC donde el consumidor lo admita (ajustes de VS Code, tsconfig).
0123, .5, NaN, InfinityNo son números válidosSin ceros iniciales, un dígito antes del punto, sin NaN/Infinity.
"salto de\nlínea"Salto de línea real dentro de una cadenaEscaparlo como \n.
undefinedNo es un valor JSONUsar null.

El modo tolerante elimina comentarios y comas finales y convierte las comillas simples antes de analizar, útil para archivos de configuración escritos a mano. La salida es siempre JSON estricto.

YAML

YAML es en espíritu un superconjunto de JSON (todo documento JSON es YAML válido), pero mucho mayor: la sangría determina la estructura, las cadenas suelen ir sin comillas y algunas palabras sueltas tienen significados sorprendentes. yes, no, on y off se convierten en booleanos en analizadores YAML 1.1, 022 puede convertirse en 18 octal, y 3.10 se convierte en 3.1. El conversor entrecomilla esos valores al generar YAML para que vuelvan intactos. La dirección YAML → JSON admite el subconjunto de bloque habitual: mapas, listas, escalares, cadenas entrecomilladas, colecciones de flujo y bloques | / >.

Documentos grandes

Todo se ejecuta en tu navegador, así que unos cuantos megabytes no son problema. Las estadísticas del árbol (profundidad, número de objetos y arrays) ayudan a detectar datos anidados de forma inesperada antes de cargarlos en algo que se atragante con ellos.

Preguntas

¿Por qué mi JSON es inválido si funciona en JavaScript?

Los literales de objeto de JavaScript permiten claves sin comillas, comillas simples, comas finales, comentarios y números hex. JSON no permite nada de eso. Activa el modo tolerante para ver la forma estricta.

¿Cómo encuentro el error en la línea 2000 de un archivo grande?

El validador indica línea y columna y muestra el texto alrededor del error. La mayoría de los editores saltan a una línea con Ctrl-G.

¿Formatear cambia los datos?

No. Formatear y minificar solo cambian los espacios en blanco. Ordenar claves cambia el orden, que JSON no considera significativo, aunque algunos consumidores (firmas, JSON canónico) sí.

¿Por qué un número perdió precisión?

Los números de JavaScript son doubles, así que los enteros por encima de 2⁵³ (unos 9 × 10¹⁵) se redondean al analizar. Si formateas un documento con IDs así, guárdalos como cadenas.