Saltar al contenido principal
short.cl

Formatear JSON

Prettify, minify y valida JSON. Detecta errores de sintaxis con línea y columna.

100% local, tu archivo no sale de tu navegador

Todo el procesamiento ocurre en tu dispositivo. No subimos nada a ningún servidor.

Entrada JSON

Opciones

Qué es JSON y por qué importa

JSON (JavaScript Object Notation) es el formato de intercambio de datos estándar de la web desde los 2000s. APIs REST, bases de datos NoSQL, configuración de aplicaciones, logs estructurados — todos usan JSON por default. Es simple: strings, números, booleanos, null, arrays y objetos. Solo eso, anidable arbitrariamente.

Simple no significa tolerante. JSON estándar (RFC 8259) es estricto:

  • Claves siempre con comillas dobles.
  • Strings solo con comillas dobles, nunca simples.
  • Sin comas finales (trailing commas).
  • Sin comentarios.
  • Números sin prefijos ni sufijos extraños.

JavaScript es más permisivo (objetos literales aceptan cosas que JSON no), y por eso sorprende cuando un archivo que “parece” JSON falla al parsear. El validador te dice exactamente qué está roto.

Tres operaciones: prettify, minify, validar

Prettify (formatear): parsea el JSON y lo reescribe con indentación y saltos de línea para que sea legible por humanos. Una minified string como {"a":1,"b":[2,3]} se vuelve:

{
  "a": 1,
  "b": [2, 3]
}

Minify (minificar): lo inverso. Remueve todo whitespace innecesario, produce el JSON más compacto posible. Útil para enviar por HTTP (ahorrar bytes) o almacenar en celdas de base de datos con límites de tamaño.

Validar: parsea el JSON sin reescribirlo. Si es válido te confirma; si no lo es, te muestra el error con línea y columna. Útil cuando solo quieres saber si el formato es correcto sin alterar nada.

Errores comunes de sintaxis

Coma extra al final de un array. [1, 2, 3,] es JavaScript válido pero JSON no. Remueve la última coma.

Claves sin comillas. { nombre: "Ana" }es JavaScript; JSON requiere { "nombre": "Ana" }.

Strings con comillas simples. { "nombre": 'Ana' } no es JSON válido. Usa dobles.

Comentarios. // comentario o /* comentario */ no se permiten en JSON estándar. Si tu archivo es un JSONC (JSON with Comments como usa VSCode), debes convertir a JSON puro primero.

NaN e Infinity. JavaScript los tiene como valores numéricos, JSON no. Un objeto con NaN va a fallar el parseo — reemplaza por null.

Escape mal hecho. Un string "Juan dijo \"hola\"" requiere backslash para escapar comillas internas. Sin escape, el parser cree que la string termina antes.

Ordenar claves alfabéticamente

JSON estándar no define orden de claves en un objeto — dos JSONs con mismas claves en distinto orden son semánticamente equivalentes. Pero para ciertos casos conviene orden determinista:

  • Diffs legibles. Comparar dos versiones de un archivo JSON sin orden estable produce diffs con todo cambiando. Ordenar primero hace que solo los cambios reales aparezcan.
  • Hash determinista. Si calculas un hash del JSON (para verificar integridad o cachear), dos JSONs equivalentes con orden distinto dan hashes distintos. Ordenar garantiza el mismo hash.
  • Legibilidad. Objetos con 50 claves son más navegables cuando están ordenados.

Indentación: 2 espacios, 4 o tab

Sin consenso universal pero hay convenciones:

  • 2 espacios: estándar en JavaScript, TypeScript, React, Node. La mayoría de linters default lo usan.
  • 4 espacios: estándar en Python, PHP, Java, C#. Si tu JSON viene de un sistema backend en esos lenguajes, es lo esperado.
  • Tab: raro pero válido. Más compacto al ver en editores con tab-width configurable. A veces exigido en estándares corporativos específicos.

Casos de uso

Debug de APIs. Postman, curl o fetch devuelven JSON crudo minificado. Copias la respuesta, la pegas acá, formateas, y la lees como Dios manda.

Generar payload limpio. Construís un JSON a mano para un test. Formateás para asegurarte que la estructura está correcta y la validación acepte.

Optimizar tamaño de config. Un JSON de configuración de 10 KB con indentación se vuelve 3 KB minificado. Útil para cookies, localStorage limitado, o embedding en URLs.

Comparar dos JSONs. Dos respuestas de API supuestamente idénticas. Las formateas ambas con mismo indentado + sort keys, luego las comparas con comparar archivos — solo los cambios reales aparecen.

Detectar inyección de datos. Una respuesta inesperada de API podría contener HTML, scripts o caracteres de control. Al formatear, las anomalías saltan visualmente.

Casos en Chile

Revisar payloads de webhooks. MercadoPago, Transbank, Flow, Khipu mandan webhooks JSON. Para debug durante la integración, formatearlos es lo primero.

Validar configuración de CMS. WordPress, Strapi, Contentful exportan config en JSON. Si copiás mal y falla, el validador te dice dónde.

Preparar requests a APIs del Estado. Algunas APIs del SII, SERNAC, Registro Civil aceptan POST con JSON. Armar el body manualmente y validar antes de mandar previene errores.

Inspección de logs estructurados. Datadog, Sentry, CloudWatch exportan logs como JSON. Para leer en detalle conviene formatear.

Diferencia con JSON Schema

Formatear y validar JSON es validación de sintaxis: ¿el texto es JSON correcto? Eso es lo que hace esta herramienta. Validar contra JSON Schema es validación de estructura: ¿el JSON cumple con el schema definido (tiene estos campos, estos tipos, estos valores válidos)? Eso requiere otra herramienta y un schema explícito.

Para Schema validation hay librerías como Ajv (JavaScript), jsonschema (Python), json-schema-validator (Java). Para validación sintáctica simple — que es lo que necesitas la mayoría del tiempo — esta herramienta basta.

Privacidad

Todo el parseo usa JSON.parse nativo del navegador. El JSON que pegás — sea config interna, payload de API con tokens, datos personales, respuestas con información sensible — no sale de tu dispositivo. No hay servidor intermediario, no hay logging, no hay retención.

Relacionadas

Preguntas frecuentes

¿Detecta errores de sintaxis?

Sí. Si el JSON es inválido, te mostramos el mensaje del parser con línea y columna del error (cuando el navegador lo reporta). Típicos: coma extra al final de un array, llaves sin cerrar, claves sin comillas, strings con comillas simples.

¿Qué hace 'ordenar claves alfabéticamente'?

Reordena recursivamente todas las claves de todos los objetos en orden alfabético. Útil para comparar dos JSONs con mismas claves en distinto orden, generar output determinista para diffs, o simplemente prolijidad visual.

¿Minificar para qué sirve?

Remueve todos los espacios, saltos de línea y indentación para producir el JSON más compacto posible. Útil para transmisión sobre HTTP (menos bytes), embebido en HTML, o cuando el tamaño importa. Equivalente a JSON.stringify sin parámetros.

¿Puedo formatear JSON grande?

Sí, hasta varios MB. Para archivos enormes (más de 50 MB) el navegador puede demorar o colgarse — herramientas desktop (jq, VSCode con plugin JSON) manejan mejor esos tamaños.

¿Soporta JSON5 o relajado?

No. Validamos JSON estándar (RFC 8259): claves con comillas dobles, sin comas finales, sin comentarios. Si tu JSON tiene comentarios (estilo JSONC/VSCode config), tienes que limpiarlos primero.

¿Los datos se suben a algún servidor?

No. Todo el procesamiento ocurre en tu navegador con JSON.parse y JSON.stringify nativos. JSONs con información sensible (tokens, payloads de API con datos personales) no salen de tu dispositivo.

Otras herramientas en este cluster