Formateador y validador JSON Pro
Formatee, valide, consulte, compare y transforme JSON — totalmente en su navegador
JSON de entrada
Salida formateada
Formateador, validador, JSONPath, diff y esquema JSON — onDevTools
Formatee, valide, consulte, compare y transforme JSON totalmente en su navegador. Parser estricto RFC 8259 más modo JSONC, validación con JSON Schema Draft 2020-12, JSONPath RFC 9535, diff profundo con JSON Merge Patch y transformaciones de aplanar / desaplanar / eliminar nulos — sin subida, sin tracking.
Características
- Embellece y minifica JSON con sangría configurable (2, 4 u 8 espacios) y ordenación alfabética opcional de claves
- Parser estricto RFC 8259 / ECMA-404 más un modo JSONC permisivo que admite comentarios // y /* */ y comas finales
- Vista de árbol contraíble e interactiva con búsqueda de texto completo, expandir/contraer todo y copia por nodo del valor o de la ruta JSON Pointer
- Validador de JSON Schema (Draft 2020-12) que reporta infracciones de type, required, enum, pattern, min/max, oneOf/anyOf/allOf, additionalProperties y elementos de array con rutas completas de la instancia
- Motor de consultas JSONPath (RFC 9535) compatible con comodines, descenso recursivo (..), segmentación de arrays y expresiones de filtro como $[?(@.price > 10)]
- Diff profundo en paralelo con segmentos añadidos / eliminados / modificados / sin cambios codificados por color, además de copia o descarga del resultado
- Pipeline de transformación: aplanar a notación de puntos, desaplanar, eliminar nulos, eliminar cadenas/arrays/objetos vacíos y encadenar operaciones
- Panel de estadísticas JSON: elementos totales, recuento de objetos/arrays, desglose por tipo y profundidad máxima de anidamiento
- Reporte de errores en línea con la línea y columna del parser, además de sugerencias para activar el modo JSONC cuando el fallo parece ser por comentarios o comas finales
- Copia o descarga con un clic para la salida formateada, minificada, de esquema o diff
- Se ejecuta totalmente en el cliente — JSON, esquemas y entradas de diff nunca salen de su navegador
Cómo usar
- Pegue o arrastre su JSON al panel de entrada — el formateo automático se activa al escribir, o pulse Formatear para una pasada explícita.
- Si el análisis falla en un archivo de configuración o en los settings de VS Code, active el interruptor JSONC para permitir comentarios y comas finales, y vuelva a ejecutar.
- Cambie a la vista de árbol para explorar estructuras profundamente anidadas; use el cuadro de búsqueda para resaltar claves o valores coincidentes y copie la ruta o el valor de cualquier nodo.
- Abra la pestaña Validación de esquema, pegue un documento JSON Schema y pulse Validar — cada infracción muestra la palabra clave que falla y la ruta JSON Pointer del valor problemático.
- Use la pestaña Comparación diff para comparar dos documentos JSON y copie el parche como JSON Merge Patch listo para aplicar en otros lugares.
- Use la pestaña Consulta JSONPath para extraer o filtrar partes del documento con expresiones como $.store.book[?(@.price < 10)].title.
- Use la pestaña Transformaciones para aplanar, desaplanar o eliminar nulos; encadene transformaciones reejecutándolas sobre la entrada actualizada y luego copie o descargue el resultado.
Consejos y buenas prácticas
- Active JSONC en el momento en que vea 'Unexpected token /' o 'Unexpected token ,' — casi siempre es un archivo de configuración con comentarios o una coma final.
- Use Ordenar claves antes de hacer commit de archivos de configuración JSON para mantener mínimos los diffs de los PR.
- Copie la ruta JSON Pointer desde la vista de árbol para colocar un enlace profundo a un nodo específico en su informe de bug o descripción de PR.
- Si un ID de 64 bits aparece como 1234567890123456800, su productor lo está emitiendo como número — cambie la API para que envíe los IDs como cadenas.
- Encadene Eliminar nulos → Minificar → Copiar para producir la carga útil más pequeña posible para los cuerpos de las solicitudes HTTP.
Preguntas frecuentes
¿Almacenan mi JSON?
No. El análisis, la validación, las comprobaciones de esquema, el diff y las transformaciones se ejecutan en su navegador con JavaScript local y las APIs Web Crypto / DOM — no se sube nada. Esto hace que sea seguro pegar respuestas de API, archivos de configuración o cargas útiles sensibles de sistemas en producción.
¿Qué especificación JSON sigue el parser?
El modo estricto sigue RFC 8259 / ECMA-404, los estándares del IETF y ECMA para JSON. El modo JSONC (active el interruptor JSONC) añade las extensiones de comentarios y comas finales utilizadas por el settings.json de VS Code, tsconfig.json y archivos de configuración similares. JSON5 (p. ej. claves sin comillas, comillas simples, números hexadecimales) no está actualmente soportado — utilice un parser JSON5 si su entrada requiere esos formatos.
¿Qué admite el validador de JSON Schema?
La validación se ejecuta contra JSON Schema Draft 2020-12 con cobertura completa de type, required, enum, pattern, format, minimum/maximum, minLength/maxLength, minItems/maxItems, additionalProperties, items, prefixItems, oneOf/anyOf/allOf, $ref y if/then/else condicional. Cada infracción reporta la palabra clave que falla más la ruta JSON Pointer del valor erróneo, de modo que pueda localizar problemas profundamente anidados sin recorrer toda la instancia.
¿Qué expresiones JSONPath son compatibles?
El motor de consultas implementa la superficie de RFC 9535: raíz ($), segmento hijo ($.key, $['key']), índice y segmentación de arrays ([0], [0:3]), comodines ([*]), descenso recursivo (..) y expresiones de filtro con operadores de comparación, regex y lógicos (p. ej. $[?(@.price > 10 && @.in_stock == true)]). Los múltiples resultados se devuelven como un array; los valores se extraen en orden de documento.
¿Cuál es la diferencia entre JSONC y JSON5?
JSONC es JSON puro más comentarios de línea //, comentarios de bloque /* */ y comas finales — popular para archivos de configuración editados a mano. JSON5 es un superconjunto que además permite claves sin comillas, cadenas con comillas simples, números hexadecimales/con decimal inicial y NaN/Infinity. Esta herramienta admite JSONC; para entradas JSON5 deberá convertirlas primero o usar un parser JSON5.
¿Puedo formatear archivos JSON muy grandes?
Sí, pero la vista de árbol y el motor JSONPath escalan aproximadamente lineal con el número de nodos, por lo que por encima de ~1 MB / ~50.000 nodos la interfaz se vuelve notablemente más lenta. Para cargas útiles grandes, use la vista Texto plano en lugar de Árbol, ejecute primero la transformación Minificar si solo necesita una salida compacta, o divida el documento por clave de nivel superior. El streaming y JSON Lines (.jsonl) están fuera del alcance — utilice una CLI como jq para esos casos.
¿Cómo se compara con jq, jsonlint o el formateador integrado de VS Code?
jq es insuperable para pipelines mediante scripts y streaming, y jsonlint cubre la validación estricta. La ventaja de esta herramienta es hacerlo todo en un mismo sitio — formato + validación + comprobación de esquema + JSONPath + diff profundo + transformaciones — sin salir del navegador. El formateador integrado de VS Code se encarga de embellecer pero no de rutas de error con conciencia de esquema, JSONPath o diff/merge.
¿Por qué el parser dice 'Unexpected token' en un archivo de configuración?
El parser es estricto por defecto, así que los comentarios //, los bloques /* */ y las comas finales generan un error que apunta al carácter problemático. El panel de estado sugerirá automáticamente activar el modo JSONC cuando el patrón del fallo coincida con una de esas características. Si el mensaje apunta a una cadena entrecomillada por completo, revise si hay barras invertidas no escapadas o caracteres de control — esos son los otros culpables habituales.
¿Puedo personalizar la sangría y el orden de las claves?
Sí. Elija 2, 4 u 8 espacios en el control de Sangría, y active Ordenar claves para emitir las claves de los objetos en orden alfabético — útil para diffs estables y archivos de configuración reproducibles. La salida siempre es UTF-8 con líneas separadas por saltos de línea (sin BOM); el formateador nunca reordena los elementos de los arrays porque eso cambiaría la semántica.
¿Qué operaciones de transformación están disponibles?
Aplanar convierte {a:{b:1}} en {"a.b":1} para herramientas que esperan claves con notación de puntos (variables de entorno, feature flags). Desaplanar lo invierte. Eliminar nulos elimina recursivamente todas las propiedades con valor null, Eliminar vacíos también descarta cadenas vacías, [] y {}, y Minificar produce una salida en una sola línea. Las transformaciones se aplican a la entrada actual, así que puede encadenarlas para componer pipelines.
¿Permite la herramienta extraer rutas JSON Pointer?
Sí. En la vista de árbol, al pasar el cursor sobre cualquier nodo se revela su ruta JSON Pointer (RFC 6901) — p. ej. /store/book/0/author — que puede copiar con un clic. JSON Pointer es la misma notación que utilizan los resultados de esquema y diff para identificar ubicaciones, por lo que puede pegar una ruta de un panel en otro para navegar al mismo valor.
¿Puedo compartir un resultado formateado con un compañero de equipo?
La forma más rápida es pegar el JSON en su máquina — no hay estado en el servidor al que se pueda compartir un enlace. Si necesita un traspaso tipo enlace permanente, utilice un Gist o un servicio de pegado con la salida minificada. Evite compartir tokens, secretos o PII en cualquier caso, incluso del lado del cliente, porque el portapapeles o la consola del compañero receptor pueden conservarlos.
¿Maneja Unicode y números grandes correctamente?
Toda la entrada se trata como UTF-8 y los pares subrogados (emojis, caracteres CJK) hacen ida y vuelta sin escape. Los números por encima de Number.MAX_SAFE_INTEGER (2^53 − 1) pierden precisión porque el parser subyacente usa dobles IEEE-754 — eso es una peculiaridad de la especificación JSON, no una limitación de la herramienta. Si transporta IDs de 64 bits, envíelos como cadenas, que es lo que hacen la mayoría de las APIs.