Embellecedor JSON

Formatea, minifica y valida JSON en el navegador: sangría de 2/4 espacios o tabulación, orden recursivo de claves, números grandes exactos y archivos .json.

Tus datos de entrada y archivos no salen del navegador

JSON de entrada

Pegue JSON o suelte aquí un archivo .json para formatearlo, minificarlo u ordenar sus claves.

En el editor, Tab inserta sangría. Pulsa Esc y luego Tab para salir del editor.

En esta página

Pega o abre un documento JSON y conviértelo en texto legible con una sangría uniforme, o minifícalo de nuevo en una sola línea. El editor resalta la sintaxis, pliega objetos y arrays y muestra la posición del error del parser, sin enviar tus datos a ningún sitio.

Funcionalidad detallada

Formatear reescribe el documento con 2 espacios, 4 espacios o una tabulación por nivel, y Modo compacto (minificar) elimina todos los espacios y saltos de línea no significativos. Ordenar claves ordena las claves de cada objeto en todos los niveles de anidación, lo que facilita comparar dos archivos JSON en un diff. Los números se escriben exactamente como en el original —12345678901234567890 y 1.0 no se redondean ni se acortan— en los navegadores que admiten JSON.rawJSON (versiones actuales de Chrome, Edge y Firefox).

La entrada se comprueba con el parser JSON estricto del navegador: los comentarios, las comas finales y las comillas simples se rechazan, y el mensaje señala el problema, por ejemplo Expected double-quoted property name in JSON at position 7 (line 1 column 8) en Chrome. El editor sigue respondiendo con archivos de varios megabytes, incluido JSON minificado en una sola línea, y Ctrl/Cmd+F busca dentro de él.

Abre un archivo .json o suéltalo sobre el editor; después copia el resultado o descárgalo como formatted.json. La sangría, el orden de claves y el modo compacto se recuerdan en este navegador; el texto JSON nunca se guarda ni se sube.

Ejemplos prácticos

Minificar una respuesta: con el Modo compacto activado, { "a": [1, 2], "b": "x" } repartido en varias líneas se convierte en {"a":[1,2],"b":"x"}.

Ordenar claves en todos los niveles: {"b":1,"a":{"d":true,"c":[1,2]}} con Ordenar claves y Modo compacto da {"a":{"c":[1,2],"d":true},"b":1}.

Conservar IDs grandes intactos: {"id": 12345678901234567890, "price": 1.0} se minifica como {"id":12345678901234567890,"price":1.0}; un simple ciclo JSON.parse + JSON.stringify convertiría el ID en 12345678901234567000 y el precio en 1.

Encontrar un error de sintaxis: {"a":1,} no se formatea; el error indica la posición 7 (línea 1, columna 8): la coma final antes de }.

Cómo usar esta herramienta

  1. Añade tu JSON

    Pega el texto en el editor JSON de entrada, haz clic en Abrir para cargar un archivo .json o suelta el archivo sobre el editor.

  2. Elige el formato

    Selecciona el Tamaño de indentación (2 espacios, 4 espacios o Tabulación) y, si lo necesitas, activa Ordenar claves o Modo compacto (minificar).

  3. Formatea

    Haz clic en Formatear o pulsa Ctrl+Enter (Cmd+Enter en macOS). Si el JSON no es válido, el error aparece encima del editor y tu texto no se modifica.

  4. Usa el resultado

    Haz clic en Copiar para llevar el resultado al portapapeles o en Descargar para guardarlo como formatted.json.

Consejos y mejores prácticas

  • Al cambiar la sangría, Ordenar claves o el Modo compacto, el texto actual se vuelve a formatear al instante.
  • La entrada al estilo JSON5 (comentarios, comas finales, comillas simples, claves sin comillas) no es JSON válido: el parser se detiene en el primer carácter de ese tipo.
  • Ordenar claves usa el orden simple de caracteres, así que "B" va antes que "a", y las claves que parecen enteros, como "2" y "10", siempre van primero (una regla de los objetos de JavaScript).
  • Haz clic en las flechas junto a los números de línea para plegar objetos y arrays grandes; Ctrl/Cmd+F encuentra texto incluso en líneas fuera de la vista.
  • En el editor, Tab inserta sangría; pulsa Esc y luego Tab para sacar el foco.
  • Tras la primera visita la página funciona también sin conexión, y el JSON nunca sale de tu navegador.