Formateador y validador JSON

Formatea, minifica y valida JSON con mensajes de error claros que muestran exactamente dónde está el error de sintaxis. Funciona totalmente en tu navegador.

Esta página se tradujo del inglés con ayuda de IA y se cotejó con el original. Leer la versión en inglés

  • Gratis — No requiere registro
  • Instantáneo — Los resultados se actualizan mientras escribes
  • Privado — Procesado en tu navegador

El JSON que te llega de una API, de una línea de log o de un archivo de configuración suele venir o minificado en una sola línea ilegible, o editado a mano hasta el punto de que ya no se puede parsear. Esta herramienta resuelve ambos casos con el parser integrado en tu navegador, así que el resultado es exactamente lo que aceptaría cualquier runtime de JavaScript.

Cómo funciona

Pega el JSON en el campo de entrada. En el modo Formatear, el texto se parsea con JSON.parse y se vuelve a serializar con JSON.stringify usando la sangría que hayas elegido (2 o 4 espacios). Minificar hace el mismo parseo, pero serializa sin ningún espacio en blanco, que es lo que necesitas para el cuerpo de una petición HTTP o una variable de entorno. En ambos casos, la salida es una serialización nueva del valor parseado, no un retoque de los espacios de tu texto, así que su validez está garantizada.

Si el parseo falla, verás el mensaje del propio parser. Cuando el navegador indica una posición en caracteres, la herramienta la convierte en línea y columna para que puedas ir directo al error. Chromium y Firefox indican esa posición; otros motores solo describen el problema, y en ese caso verás el mensaje sin posición.

Copiar pone el resultado en el portapapeles; Descargar lo guarda como data.json. No se sube nada a ningún servidor, y la herramienta sigue funcionando sin conexión una vez cargada la página.

Qué cambia al volver a serializar

Como la salida se reconstruye a partir del valor parseado, algunas cosas se normalizan, y conviene saber cuáles:

  • Los números se escriben en su forma canónica de JavaScript: 1.0 pasa a ser 1, 1e2 pasa a ser 100, y los enteros mayores que 2⁵³ pierden precisión. No hagas pasar por ningún formateador de JavaScript identificadores de base de datos de 64 bits ni importes financieros guardados como enteros grandes; mantenlos como cadenas.
  • Las claves duplicadas se fusionan: gana el último valor, sin avisar.
  • Las secuencias de escape de las cadenas se resuelven. "\u00e9" vuelve como "é", y "\/" se convierte en "/". El significado es idéntico; los bytes, no.
  • El orden de las claves se conserva tal como está escrito, salvo que las claves con aspecto de entero, como "1", pasan al principio, porque los objetos de JavaScript ordenan esas claves numéricamente.

Nada de esto cambia lo que leerá quien consuma los datos, pero si estás comparando archivos o verificando una firma calculada sobre el texto original, formatea una copia en lugar del original.

Cómo leer el error

Detrás de la mayoría de los mensajes «unexpected token» hay tres fallos: una coma sobrante tras el último elemento, comillas simples en lugar de dobles y una clave sin comillas. JSON tampoco admite comentarios; si pegas contenido de un archivo .jsonc o de un archivo JavaScript, elimínalos antes. Un mensaje sobre un final inesperado de la entrada casi siempre significa que un corchete o una llave nunca se cerró; la posición indicada es el final del texto, así que cuenta los cierres.

El mismo paso de parsear y volver a escribir está disponible en la línea de comandos con jq, muy práctico con archivos demasiado grandes para pegarlos:

jq . response.json        # pretty-print with 2-space indent
jq -c . response.json     # minify to a single line

Para saber más

Un JSON bien estructurado es solo la mitad de una buena API. Crear API REST con Spring Boot muestra cómo el servidor serializa los objetos, gestiona los valores nulos y las fechas, y devuelve cuerpos de error que también son JSON válido, mientras que Diseño de API REST trata la nomenclatura, la paginación y el versionado para que los payloads que formateas aquí sean coherentes desde el principio. Para decodificar el JSON que contiene un token, usa el decodificador de JWT, que aplica el mismo formato a la cabecera y al payload.

Preguntas frecuentes

¿Mis datos JSON se envían a un servidor?
No. El formateo, la minificación y la validación ocurren totalmente en tu navegador usando el analizador JSON integrado — tus datos nunca salen de tu dispositivo.
¿Cuál es la diferencia entre formatear y minificar?
Formatear añade sangría y saltos de línea para que el JSON sea fácil de leer. Minificar elimina todos los espacios innecesarios para producir el resultado más compacto posible.
¿Por qué dice que mi JSON no es válido?
El validador indica la línea y columna exactas donde falló el análisis — las causas más comunes son comas sobrantes, claves sin comillas, o comillas simples en lugar de comillas dobles.