Acerca de Formateador y validador de JSON
JSON es el formato de todos los días en las API, los archivos de configuración y los registros, y basta con una coma que falta o una comilla de más para que un programa no pueda leer el documento entero. Esta herramienta comprueba el JSON según el estándar estricto (RFC 8259), te dice exactamente dónde está el primer problema y convierte el JSON válido en texto con una sangría ordenada, o lo minifica a su forma más compacta.
Muchos formateadores online pasan tu texto por JSON.parse y JSON.stringify, que redondean sin avisar los enteros grandes, acortan 1.10 a 1.1, reescriben las secuencias de escape y solo conservan la última de dos claves duplicadas. Esta herramienta usa su propio parser: cada número y cada cadena se vuelve a escribir exactamente como aparecía, y las claves duplicadas se señalan en lugar de descartarse.
Todo se ejecuta en local, en tu navegador. El texto que pegas y los archivos que abres se procesan en tu dispositivo y no se suben a ningún sitio.
Cómo se usa
- Pega tu JSON en el cuadro “Entrada JSON”, haz clic en “Cargar ejemplo” para probar la herramienta o usa “Abrir un archivo” para cargar un archivo .json o .txt de hasta 20 MB.
- Lee el mensaje de estado: “JSON válido” con un resumen del contenido, o “JSON no válido” con la línea, la columna y un fragmento que señala el problema. Haz clic en “Ir al error” para seleccionar ese punto en la entrada.
- Elige la “Sangría” (2 espacios, 4 espacios o tabulación) y marca “Ordenar claves A–Z” si quieres las claves de los objetos en orden alfabético.
- Haz clic en “Formatear” para obtener una salida con sangría o en “Minificar” para quitar todos los espacios en blanco opcionales. Mientras la entrada ocupe menos de 1 MB, el resultado sigue automáticamente tus cambios en el texto y en las opciones.
- Usa “Copiar resultado” o “Descargar .json” para llevarte la salida.
- Con entradas de más de 1 MB, haz clic en “Validar”, “Formatear” o “Minificar”: esas entradas no se comprueban mientras escribes, para que la página siga respondiendo con fluidez.
Funciones
- Mensajes de error que te ayudan a corregir: El primer error de sintaxis se muestra con su línea, su columna y su posición en caracteres, además de un fragmento del código con un acento circunflejo (^) que lo señala. Los errores habituales (comas finales, comillas simples, comentarios, claves sin comillas, NaN, ceros a la izquierda, saltos de línea sin escapar dentro de cadenas) reciben una explicación específica.
- Formateo sin pérdidas: Los números conservan todas sus cifras (12345678901234567890 se mantiene exacto y 1.10 conserva su cero final) y las cadenas conservan sus secuencias de escape, así que formatear nunca cambia lo que significa el documento.
- Detección de claves duplicadas: Las claves que aparecen dos veces en el mismo objeto se listan con su posición. Las dos entradas se mantienen en la salida, así que nada desaparece sin que te des cuenta.
- Formatear, minificar y ordenar: Aplica una sangría de 2 espacios, 4 espacios o tabulaciones, o minifica. La ordenación ordena las claves de los objetos en todos los niveles; los arrays mantienen su orden.
- Estadísticas del documento: Consulta el tamaño en bytes, la profundidad de anidamiento, el número de claves y de valores, y cuántos objetos, arrays, cadenas, números, booleanos y valores null contiene el documento.
Ejemplos
Encontrar una coma final en el payload de una API
Al pegar {"name": "Ada", "tags": ["math", "poetry",]} se indica “JSON no admite comas finales” en la línea 1, columna 42, con el acento circunflejo bajo la coma sobrante. Quítala y el estado cambia a “JSON válido”.
Mantener intactos los ID grandes
En JavaScript, JSON.parse convierte {"id": 9007199254740993} en 9007199254740992. Si lo formateas aquí, se mantiene 9007199254740993 y se añade una nota que indica que el número está fuera del rango que muchos parsers pueden representar con exactitud.
Comparar dos archivos de configuración
Formatea los dos archivos con “Ordenar claves A–Z” y la misma sangría, y luego compáralos con una herramienta de diff. Las diferencias de orden de las claves y de espacios en blanco desaparecen, así que solo quedan los cambios reales.
Reducir el cuerpo de una petición
Haz clic en “Minificar” con un JSON bien formateado para quitar la sangría y los saltos de línea. El recuadro “Cambio” muestra cuántos bytes se ahorraron respecto a la entrada.
Limitaciones y notas
- Solo se acepta JSON estricto. Los comentarios, las comas finales, las cadenas entre comillas simples, NaN, Infinity y otras extensiones de JSON5 o JSONC se señalan como errores; la herramienta no los repara automáticamente.
- Solo se indica el primer error de sintaxis. Cuando lo corriges, aparece el siguiente (si lo hay).
- El anidamiento está limitado a 10.000 niveles de objetos y arrays, y los resultados, a 200 millones de caracteres.
- Los archivos deben estar codificados en UTF-8 y ocupar como máximo 20 MB. Las entradas de más de 1 MB se comprueban cuando lo pides, y los resultados muy grandes se muestran como vista previa en el cuadro; “Copiar resultado” y “Descargar .json” siempre usan la salida completa.
- “Ordenar claves A–Z” compara las claves por sus unidades de código UTF-16, el mismo orden que la ordenación predeterminada de JavaScript: las mayúsculas van antes que las minúsculas y el orden no tiene en cuenta el idioma.
- Los números de columna cuentan unidades de código UTF-16, así que un emoji u otro carácter fuera del plano multilingüe básico cuenta como dos columnas, igual que en muchos editores de código.
Preguntas frecuentes
¿Por qué el error aparece en la línea siguiente a mi equivocación real?
El parser indica el primer punto en el que el texto ya no puede ser JSON válido. Una coma que falta, por ejemplo, solo se detecta cuando empieza el valor siguiente, y un corchete de cierre que falta se detecta al final de la entrada. El mensaje dice qué se esperaba, y eso suele señalar la causa real.
¿Formatear cambia mis números o mis cadenas?
No. La herramienta conserva el texto exacto de cada número y cada cadena de tu entrada, así que los enteros grandes, los ceros finales, los exponentes como 1E+2 y las secuencias de escape como \u00e9 salen exactamente como entraron. Solo cambian los espacios en blanco (y el orden de las claves, si eliges “Ordenar claves A–Z”).
¿Se permiten claves duplicadas en JSON?
El estándar JSON dice que los nombres dentro de un objeto deberían ser únicos, pero no prohíbe los duplicados, y cada parser los trata de una forma distinta: la mayoría solo conserva el último valor. Esta herramienta los acepta, te avisa con la ubicación exacta y conserva todas las entradas en el resultado formateado.
¿Puede leer JSON con comentarios (JSONC) o JSON5?
No. Esos formatos son extensiones que usan algunos editores y herramientas, y no son JSON válido. La herramienta señala el comentario, la coma final o la comilla simple para que puedas quitarlos.
¿Mi JSON se sube a un servidor?
No. El análisis y el formateo se ejecutan con JavaScript en esta página, y los archivos se leen directamente desde tu dispositivo. Nada de lo que pegas o abres se envía por la red.