KeroTools

Formatear, Validar y Minificar JSON

Formatea, valida o minifica JSON al instante en tu navegador — el resultado se actualiza en vivo mientras escribes.

Entrada
0 caracteres
Salida

Tu texto se queda en tu equipo

Nada que borrar después

Seguro para respuestas vivas

Funciona en todo navegador moderno

Cómo funciona

  1. 1

    Pega tu JSON

    Mete una respuesta, un archivo de configuración o lo que te hayan pasado.

  2. 2

    Lee el resultado o el error

    La entrada válida vuelve indentada; la inválida te dice en qué posición se detuvo.

  3. 3

    Copia lo que necesites

    Llévate la versión legible a una revisión, o la minificada a una petición.

Por qué usar esta herramienta

El error te dice dónde

Un documento inválido informa de la posición en que falló, así arreglas una línea en vez de releer toda la carga.

Embellecer y minificar en ambos sentidos

Indéntalo para leerlo, quítale todo para enviarlo: el mismo dato con la forma que pida el momento.

Los enteros grandes quedan intactos

Los identificadores más allá del rango seguro de JavaScript no se redondean en silencio por el camino.

Orden de claves preservado

El formato cambia los espacios, no la estructura, así que una carga firmada o comparada byte a byte sobrevive.

No se sube nada

El texto se analiza en tu navegador: una respuesta de API con un token nunca sale de la pestaña.

Gratis y sin cuenta

Sin registro, sin marca de agua y sin límite de cuánto formatees.

No estás aquí por la indentación

La gente dice «formatea este JSON» y quiere decir otra cosa. La indentación está bien, pero el motivo de que lo pegaras es que algo más abajo lo rechazó, o no devolvió nada, o produjo un valor que no esperabas, y necesitas saber si el documento es siquiera válido antes de mirar en ningún otro sitio. Eso es lo que un formateador responde de verdad. La entrada válida vuelve indentada, y la indentación es tu confirmación. La inválida vuelve con una posición, y esa posición es el producto real. Todo lo demás —el espaciado, el árbol plegable, los colores— está para ayudarte a leer un documento que ya has determinado que merece leerse.

El error casi nunca está donde dice el mensaje

Un analizador informa del primer carácter que no consigue entender, que suele estar un poco después del fallo y no en él. Omite una coma entre dos objetos y el analizador lee tan contento hasta la llave de apertura del siguiente, y entonces informa de un token inesperado allí, señalando una línea perfectamente correcta. Deja una coma final e informará del corchete de cierre que viene después. Olvida una llave de cierre e informará del final mismo del documento, lo que no te dice casi nada. La costumbre que vale la pena adquirir es leer la posición informada como un límite y no como un objetivo: el problema está en ella o antes, y el token que nombra el mensaje es el transeúnte inocente que hizo que el analizador se rindiera. Mira lo que viene inmediatamente antes.

Cuatro cosas válidas en JavaScript e inválidas en JSON

Esta es la mayor fuente aislada de «pues a mí me parece bien». JSON es un lenguaje mucho más pequeño que los literales de objeto de JavaScript a los que se parece, y cuatro costumbres cotidianas producen documentos que la consola del navegador acepta y un analizador rechaza. Las comas finales son la más común: `{"a": 1,}` está bien en JavaScript moderno y es ilegal en JSON. Las comillas simples van segundas: claves y cadenas deben usar comillas dobles, siempre. Las claves sin comillas son terceras, así que `{name: "x"}` falla donde `{"name": "x"}` funciona. Y los comentarios son cuartos: JSON no tiene, así que una línea `//` explicando un valor de configuración invalida el archivo entero. Si el documento se escribió a mano o se copió de código, revisa esas cuatro antes que nada, porque entre ellas explican la mayor parte del JSON inválido que la gente pega.

Los números grandes son donde una ida y vuelta pierde datos

Este es el sutil y le cuesta tiempo real a la gente. JSON tiene un solo tipo numérico y ningún límite de precisión declarado, pero todo lo que analiza JSON en JavaScript guarda esos números como dobles, que representan enteros de forma exacta solo hasta unos nueve mil billones: 2^53. Más allá se pierden dígitos. Esto importa porque muchos sistemas acuñan identificadores justo en ese rango: los IDs snowflake de plataformas de chat, algunas secuencias de base de datos y las marcas de tiempo en nanosegundos producen enteros de 18 y 19 dígitos. Analiza y vuelve a emitir un documento así ingenuamente y los últimos dígitos cambian, en silencio, en un valor que sigue pareciendo un identificador plausible. Si tu carga lleva identificadores numéricos largos, trátalos como cadenas de extremo a extremo, y no te fíes de ninguna herramienta que los pase por números de JavaScript sin decirlo.

Embellecer y minificar responden a preguntas distintas

Producen el mismo dato y sirven en momentos opuestos. El JSON embellecido es para una persona: revisar una respuesta de API, comprobar una configuración o —lo más útil— comparar dos versiones, porque el formato de un valor por línea es lo que hace legible un diff. El JSON minificado es para el cable y para una máquina: elimina cada byte que no lleva significado, lo que importa en un cuerpo de petición, una entrada de caché o donde se cuente el tamaño. El error que conviene evitar es comparar documentos minificados. Dos archivos minificados que difieren en un valor difieren en su única línea enorme, y toda herramienta de diff informará de que ha cambiado entero. Embellece los dos primero y luego compara: el diff te muestra el único campo que se movió de verdad.

Por qué formatear en local importa con este tipo de texto

El JSON que la gente pega en un formateador casi siempre está vivo: una respuesta de API capturada mientras se depura, un cuerpo de webhook, un archivo de configuración, una carga de token. Eso significa que lleva lo que lleva el dato vivo: tokens de portador en el eco de una cabecera, identificadores de sesión, direcciones internas, correos de clientes y de vez en cuando credenciales en un bloque de configuración. Pegar eso en un formateador alojado envía cada byte al servidor de otro y, a diferencia de un archivo que puedes señalar, el texto pegado no deja rastro de que lo hiciste. Esta herramienta analiza en la página: no se transmite nada, y puedes verificarlo en la pestaña Red de las herramientas de desarrollo. Para un texto tan a menudo sensible y tan alegremente pegado, esa es la diferencia que vale la pena tener por defecto.

Errores comunes que conviene evitar

  • Fiarse de la posición del error informada. El analizador nombra el primer token que no puede manejar, que suele estar justo después del fallo real: lee la posición como un límite y mira lo que viene inmediatamente antes.
  • Escribir JSON con costumbres de JavaScript. Comas finales, comillas simples, claves sin comillas y comentarios `//` son válidos en JavaScript e inválidos en JSON; revisa esas cuatro antes que nada.
  • Hacer ida y vuelta con IDs numéricos largos. Todo lo que pase de unos nueve mil billones pierde sus últimos dígitos al analizarse como número de JavaScript, y el resultado sigue pareciendo un identificador plausible: llévalos como cadenas.
  • Comparar JSON minificado. Ambos archivos son una única línea enorme, así que toda herramienta informa del documento entero como cambiado; embellece los dos primero y el diff mostrará el único campo que se movió.
  • Pegar una respuesta de API viva en un formateador alojado. Esas cargas llevan de forma rutinaria tokens, identificadores de sesión y direcciones de clientes; formatea en local.

Comparativa

AspectoEsta herramientaFormateadores onlineUn complemento de editor
Contenido enviado a un servidorNuncaNormalmente síNo
Requiere configuraciónNingunaNingunaInstalar y configurar
Errores con posición exactaVaría
Funciona sin abrir un proyectoNormalmente no
Cuenta o registroNo hace faltaA menudo exigidoNo hace falta
PrecioGratisGratis / planes de pagoGratis / de pago

Características

Validación al pegar

Sabes si se analiza antes de hacer cualquier otra cosa con ello.

Errores con posición exacta

El fallo informa de dónde se detuvo el analizador, no solo de que algo va mal.

Indentación configurable

Dos espacios, cuatro o tabulaciones, según adónde vuelva el archivo.

Minificar en un paso

Espacios eliminados para la carga más pequeña que ese mismo dato puede ocupar.

Unicode preservado

Contenido árabe, turco, con tildes y con emoji pasa sin alteración.

Aguanta documentos grandes

Cargas de varios megabytes se formatean sin subida ni cola.

Nada que instalar

Sin complemento de editor, sin entorno de ejecución, sin dependencias: funciona en la página web.

Listo para árabe y RTL

Interfaz completa en ocho idiomas, incluido el árabe de derecha a izquierda.

Seguro por defecto

Servido por HTTPS, sin rastreo de contenido ni subida a terceros.

Quién la usa

Desarrolladores

Averiguar dónde se rompe una respuesta sin dejarla antes en un archivo de borrador.

Integradores de API

Leer la carga del endpoint de un socio antes de escribir nada contra él.

Ingenieros de QA

Comparar dos respuestas campo a campo tras embellecer ambas.

Ingenieros de soporte

Hacer legible una configuración enviada por un cliente lo bastante para ver qué falla.

Preguntas Frecuentes

No. Todo se ejecuta localmente en tu navegador — tu texto nunca se sube, guarda ni comparte.

Sí — totalmente gratis, sin cuenta y sin límites.