IA en tu dispositivo: profesional y privado.

Pretty Print de JSON

Formatea o minifica JSON y recórrelo como un árbol

  • Sin subida
  • IDs largos exactos
  • Repara JSON roto
  • 25 MB gratis

Suelta aquí un archivo JSON

.json · .jsonc · .ndjson · .jsonl · .txt · hasta 25.0 MB en el plan gratuito

O pega JSON
Formato
Salida
Salida

Formatear para JSON legible, Minificar para la forma válida más pequeña.

Sangría
Sangría

Se aplica en cada nivel de anidamiento.

Ordenar claves
Ordenar claves

Recursivo por los objetos anidados. Los arrays conservan su orden.

Claves duplicadas
Claves duplicadas

Conservar las dos es la única opción que no borra datos.

JSON Lines
JSON Lines

Se aplica cuando el archivo tiene más de un registro de nivel superior.

Final de línea
Final de línea

CRLF para archivos que se abrirán en el Bloc de notas de Windows.

Arregla comas finales, comillas simples, comentarios y literales de Python, y enumera cada cambio.

Pro

Gratis: un archivo de hasta 25.0 MB. Pro: hasta 1 archivos, sin límite de tamaño impuesto.

Cómo formatear JSON

  1. 1

    Pega o sube tu JSON

    Suelta un archivo .json, .jsonc, .ndjson, .jsonl o .txt sobre la página, elige uno con Examinar, o abre el panel de pegado y pega directamente. Funcionan JSON minificado, JSON con sangría y JSON Lines, y la herramienta te dice cuál ha encontrado.

  2. 2

    Elige cómo debe verse la salida

    Elige Formatear o Minificar, y luego una sangría de 2 espacios, 4 espacios o tabulador. Opcionalmente ordena las claves, decide qué hacer con las duplicadas y elige finales de línea LF o CRLF. Todo esto es gratis.

  3. 3

    Lee el resultado

    La vista Texto muestra la salida formateada con resaltado de sintaxis. La vista Árbol permite plegar ramas enteras y copiar la ruta JSON de cualquier valor. La vista Datos informa de lo que contiene el documento, incluido lo que otro formateador habría cambiado.

  4. 4

    Arréglalo si está roto

    El JSON inválido recibe un mensaje, una línea y una columna, y la línea afectada con un cursor bajo el carácter exacto. Si el problema se puede reparar, aparece un botón Reparar que después detalla exactamente qué cambió.

  5. 5

    Descarga o copia

    Descarga el archivo formateado o cópialo al portapapeles. Todo ocurre en tu dispositivo, así que no se sube nada y la herramienta sigue funcionando sin conexión una vez cargada la página.

Qué ofrece este formateador JSON

Este formateador JSON gratuito convierte JSON minificado o difícil de leer en una salida clara y con sangría, y devuelve el JSON con sangría a su forma válida más pequeña. Pega o sube tu documento, elige 2 o 4 espacios o un tabulador, y lee el resultado como texto resaltado, como árbol plegable o como un conjunto de estadísticas sobre lo que el documento contiene realmente. Si el JSON no es válido obtienes línea, columna y la línea afectada marcada; si se puede reparar, obtienes una reparación que detalla exactamente qué cambió. Todo ocurre en tu dispositivo, sin colas y sin subidas.

  • Pretty print y minificado — Convierte JSON minificado o desordenado en una forma legible con sangría, o quita otra vez cada byte innecesario. Ambas direcciones son gratis y ambas se ejecutan en la misma pasada.
  • Opciones de sangría — 2 espacios, 4 espacios o un tabulador, aplicados en cada nivel de anidamiento. Los tabuladores encajan con los equipos cuyo estilo los usa; la elección cambia los espacios y nada más.
  • Ordenar claves, de cuatro maneras — Desactivado, de A a Z, de Z a A, o en orden natural que compara las secuencias de dígitos como números, así que item2 va antes que item10. Es recursivo por los objetos anidados y siempre deja el orden de los arrays en paz.
  • Vista de árbol con rutas JSON — Pliega ramas enteras para ver de un vistazo la forma de una respuesta grande, y copia la ruta de cualquier valor — rows[0].meta.created — directamente a tu editor, tu consola o jq.
  • Errores con línea y columna — Un mensaje concreto, la posición exacta y la línea afectada impresa con un cursor debajo. No un desplazamiento de caracteres dentro de un documento que puede tener una sola línea.
  • Reparación de JSON roto — Comas finales, comillas simples, claves sin comillas, comentarios, literales de Python, comillas tipográficas y comas que faltan. Es opcional, y enumera cada cambio en vez de devolver un archivo arreglado y esperar que estés de acuerdo.
  • JSON Lines y NDJSON — Un archivo con un registro por línea se detecta automáticamente y sigue siendo JSON Lines válido, o se puede envolver en un único array si se pide.
  • Pega, sube, descarga, copia — Pega desde el portapapeles, suelta un archivo o examina para elegir uno. Llévate el resultado como descarga o directamente al portapapeles. Con Pro puedes formatear hasta 20 documentos y llevártelos como un solo ZIP.

Qué conserva tu JSON

Un formateador solo puede cambiar los espacios. Suena obvio, y casi todos los formateadores JSON online lo incumplen — incluidos los más conocidos — porque todos hacen lo mismo por dentro: leen tu documento como valores de JavaScript con JSON.parse y los vuelven a escribir con JSON.stringify. Esa ida y vuelta pierde información de cinco maneras concretas, ninguna de las cuales produce un error ni parece mal en la salida. Esta herramienta no lo hace. Cada número, cada cadena y cada clave se copian de tu texto original carácter a carácter, así que lo único que cambia es el espacio entre ellos.

  • Los enteros largos sobreviven — Los números de JavaScript son flotantes de 64 bits, así que cualquier entero mayor que 9.007.199.254.740.991 pierde sus últimos dígitos. 12345678901234567890 vuelve de una ida y vuelta como 12345678901234567000. Eso es un snowflake ID, un id de objeto de Stripe o una clave primaria de 64 bits convertida en otro valor en un archivo que estás a punto de subir al repositorio.
  • Los decimales de alta precisión sobreviven — Una coordenada escrita con dieciocho decimales se redondea a lo que cabe en un doble; un valor como 1e-400 se desborda en silencio a 0. Aquí ambos se copian tal cual, incluida la forma de escribirlos: 1.10 sigue siendo 1.10 y 1e2 sigue siendo 1e2, en vez de reescribirse como 1.1 y 100.
  • Las claves duplicadas sobreviven — JSON permite que un objeto nombre la misma clave dos veces. Leerlo como un objeto de JavaScript conserva solo la última, así que un formateador que hace la ida y vuelta borra un miembro en silencio. Aquí se conservan las dos, la vista Datos las cuenta, y el control Claves duplicadas permite resolverlas a la primera o la última a propósito y no por accidente.
  • El orden de las claves sobrevive — Los objetos de JavaScript suben las claves que parecen enteros al principio, en orden numérico. Un objeto escrito {"2": ..., "1": ..., "nombre": ...} vuelve con 1 y 2 movidos al principio, con la ordenación desactivada, en una herramienta cuyo único trabajo era cambiar los espacios.
  • Los escapes sobreviven — Una cadena escrita con \u00e9 o con una barra escapada se reescribe en la ida y vuelta como el carácter literal. Es inofensivo para la mayoría de los datos y no lo es cuando el archivo es un fixture, una carga firmada o cualquier cosa que se compare byte a byte.
  • Y te dice cuándo importó — La vista Datos informa de cuántos números de tu documento habrían perdido precisión, cuántas claves duplicadas encontró y cuántas claves se habrían reordenado, para que puedas saber si la herramienta que usaste la semana pasada estaba cambiando tus datos sin decirlo.

¿Por qué formatear JSON?

El JSON minificado ahorra ancho de banda y es casi ilegible. Formatearlo con sangría y saltos de línea hace evidente la estructura, así que puedes depurar un archivo de configuración, inspeccionar una respuesta de API o preparar un fragmento para la documentación sin contar corchetes. Lo contrario es igual de útil: minificar un documento antes de enviarlo quita todos los bytes que solo existían para los ojos humanos. Ordenar las claves da un orden estable para que los diffs muestren cambios reales, y la vista de árbol responde a la pregunta que suele plantear una respuesta larga: qué forma tiene esto.

  • Legibilidad — El JSON con sangría revela anidamiento, arrays y campos que faltan de un vistazo. Una respuesta de 40 líneas pasa a ser algo que puedes leer en vez de analizar mentalmente.
  • Diffs estables — Las claves ordenadas eliminan el ruido de reordenación del control de versiones, así que una pull request muestra los valores que cambiaron y no el orden en que se escribieron.
  • Cargas más pequeñas — Minificar quita sangría y saltos de línea de un documento que ya no los necesita. En una carga de API típica eso es un ahorro de alrededor del 45 por ciento.
  • Entender la forma — La vista de árbol pliega ramas para que una respuesta de mil líneas quepa en una pantalla como esquema, y cada fila puede darte la ruta al valor que buscabas.
  • Idas y vueltas fiables — Como nada se vuelve a serializar a través de valores de JavaScript, formatear y luego minificar te devuelve a un documento que significa exactamente lo mismo que el original.

Leer un error de JSON

Cuando el JSON no se analiza, lo útil es dónde se detuvo y qué encontró allí. Esta herramienta informa de una causa concreta, la línea y la columna, e imprime la línea afectada con un cursor bajo el carácter exacto. Eso importa sobre todo en un documento minificado, donde un desplazamiento de caracteres dentro de una única línea de 200.000 caracteres no dice nada. Estas son las causas que aparecen de verdad, más o menos por frecuencia.

  • Coma final — Una coma antes de una llave o corchete de cierre. Legal en JavaScript y en JSON5, no en JSON. Se informa en la coma, no como una queja confusa sobre el corchete siguiente.
  • Comillas simples — 'clave': 'valor' es JavaScript, no JSON. Las cadenas JSON llevan comillas dobles, siempre. La reparación las convierte y escapa las comillas dobles que hubiera dentro.
  • Claves sin comillas — {clave: 1} es un literal de objeto de JavaScript. JSON exige que cada clave sea una cadena entre comillas.
  • Comentarios — // y /* */ son habituales en configuraciones escritas a mano y no forman parte de JSON. Los archivos que los usan suelen llamarse .jsonc; la reparación los elimina.
  • NaN, Infinity y literales de Python — Ni NaN, ni Infinity, ni True, False, None o undefined existen en JSON. Llegan constantemente desde el print de Python y desde las consolas de JavaScript. La reparación los convierte en null, true y false.
  • Saltos de línea dentro de cadenas — Un salto de línea literal dentro de una cadena es ilegal: hay que escribirlo como \n. Es lo que pasa cuando alguien pega un mensaje de varias líneas en un archivo JSON a mano.
  • Dos documentos en un archivo — Contenido después del final del primer valor. Muy a menudo esto no es un error, sino JSON Lines, que esta herramienta detecta y formatea en vez de rechazar.

Reparar JSON roto

La reparación es una casilla, no algo por defecto, y es deliberado: reparar es tomar una decisión sobre los datos de otra persona. Una coma que falta puede ir en dos sitios; una barra suelta se puede borrar o escapar. Así que la reparación solo se ejecuta cuando la pides, y cuando lo hace informa de cada cambio y de cuántas veces, en la vista Datos, junto al resultado. Además nunca toca el interior de una cadena: el documento se vuelve a leer con una versión permisiva del mismo lector que lo rechazó, y se vuelve a escribir JSON canónico a partir de los tokens, así que una coma dentro de un valor entrecomillado nunca se confunde con estructura.

  • Qué arregla — Comas finales, comas que faltan, dos puntos que faltan, cadenas con comillas simples y tipográficas, claves sin comillas, comentarios //, /* */ y #, NaN e Infinity, los True, False y None de Python, undefined, números hexadecimales y con signo más inicial, caracteres de control dentro de cadenas, cadenas sin cerrar y corchetes sin cerrar al final del archivo.
  • Qué conserva — Todo lo que conserva la ruta estricta. Un documento reparado mantiene sus enteros largos, sus claves duplicadas y su orden de claves — la reparación arregla la sintaxis y deja los valores en paz.
  • Cómo trata una barra suelta — Una barra invertida que JSON no define se escapa en lugar de borrarse. C:\qux pasa a C:\\qux, que devuelve exactamente lo que estaba escrito; borrar la barra cambiaría en silencio una ruta de Windows, que es lo que hacen casi todas las herramientas de reparación.
  • Qué no hace — No adivina contenido. Si un miembro tiene clave y no valor pasa a null y lo dice; si no hay nada recuperable en el archivo lo dice, en vez de devolver un documento vacío que después falla al analizarse.

JSON Lines y NDJSON

Muchísimos archivos con extensión .json no son un documento JSON. Los registros de aplicaciones, las exportaciones de BigQuery y Athena, los volcados de Kafka y los archivos de lote de OpenAI son todos JSON Lines: un valor JSON completo por línea, sin array que los envuelva y sin comas entre registros. Entregados a un formateador normal producen un error sobre contenido inesperado después del primer registro, que es algo técnicamente exacto y completamente inútil que decir de un archivo válido en un formato común.

  • Detectado, no configurado — La forma se deduce leyendo el documento, no mirando la extensión: muchos archivos JSON Lines se llaman .json, y un documento con sangría está lleno de saltos de línea y engañaría a cualquier conjetura basada en contar líneas.
  • Un registro por línea, igual — Por defecto cada registro se escribe minificado en su propia línea, porque un registro con sangría repartido en varias líneas ya no es JSON Lines. El control de sangría se desactiva mientras eso ocurre y explica por qué, en vez de quedarse ahí aparentando hacer algo.
  • O un array — Cambia a Un solo array y los registros se envuelven en un único array JSON formateado con tu sangría, que suele ser lo que quieres antes de pasar los datos a algo que espera un solo documento.
  • La ordenación y la reparación siguen aplicándose — Todos los demás ajustes funcionan por registro: ordenar claves, tratar duplicadas, finales de línea y reparación se comportan igual tanto si el archivo tiene un registro como un millón.

Opciones de un vistazo

  • Salida — Formatear para JSON legible con sangría; Minificar para la forma válida más pequeña. Ambas gratis.
  • Sangría — 2 espacios, 4 espacios o tabulador, en cada nivel de anidamiento. Inactiva mientras Minificar está seleccionado y mientras los registros JSON Lines se mantienen uno por línea.
  • Ordenar claves — Desactivado, de A a Z, de Z a A, u orden natural. Recursivo por los objetos anidados; los arrays siempre conservan su orden.
  • Claves duplicadas — Conservar las dos, la primera o la última. Conservar las dos es lo predeterminado porque es la única opción que no borra datos.
  • JSON Lines — Un registro por línea, o todos los registros envueltos en un único array. Solo tiene sentido cuando la entrada tiene más de un registro de nivel superior.
  • Final de línea — LF para Unix y para todo lo que vaya al control de versiones; CRLF para archivos que se abrirán en el Bloc de notas de Windows.
  • Salto de línea final — Termina el archivo con un salto de línea, que es lo que esperan las herramientas POSIX y la mayoría de linters.
  • Reparar JSON inválido — Desactivado por defecto. Cuando está activo, los problemas de sintaxis habituales se arreglan antes de formatear y cada cambio se enumera.
  • Nombre del archivo de salida (Pro) — Pon tú el nombre del archivo descargado. El nombre por defecto se deriva de la entrada, así que esto es una comodidad y no una capacidad que falte.

Un documento de 25 MB se formatea en menos de medio segundo en un portátil actual, fuera del hilo principal, así que la página nunca se congela.

Preguntas frecuentes

¿Cómo funciona el formateador JSON?

Pega tu JSON o suelta un archivo, elige Formatear o Minificar y una sangría de 2 espacios, 4 espacios o tabulador, y lee el resultado en la vista Texto, Árbol o Datos. La herramienta solo reescribe los espacios: lee tu documento como una estructura de posiciones dentro de tu texto original y vuelve a escribir esos mismos caracteres con nuevos saltos de línea y sangría. Después descarga el resultado o cópialo al portapapeles.

¿Están seguros mis datos JSON?

Sí. Tu JSON se procesa en tu dispositivo, no en nuestros servidores. No hay subida, ni ida y vuelta al servidor, ni ninguna petición que lleve tus datos a ningún sitio, así que puedes usarla con credenciales, registros de clientes y respuestas de APIs internas. Toda la herramienta se ejecuta localmente, que es también por lo que sigue funcionando sin red una vez cargada la página.

¿Qué opciones de sangría hay?

Puedes formatear con 2 espacios, 4 espacios o un tabulador, aplicados en cada nivel de anidamiento. Dos espacios es compacto y habitual en proyectos web; cuatro mejora la legibilidad en datos muy anidados; los tabuladores encajan con equipos cuyo estilo los usa. La elección afecta solo a los espacios, nunca a los datos. Minificar elimina la sangría por completo, y por eso el control de sangría se desactiva mientras Minificar está seleccionado en vez de quedarse ahí sin hacer nada.

¿Se cambiarán los números de ID largos?

No, y esta es la razón principal para usar este formateador y no otro. La mayoría de los formateadores online leen el JSON como valores de JavaScript y los vuelven a escribir, lo que redondea cualquier entero mayor que 9.007.199.254.740.991 al valor más cercano que quepa en un doble. Un snowflake ID de Discord o Twitter, un id de objeto de Stripe o una clave de base de datos de 64 bits vuelven como un número distinto, en silencio. Esta herramienta copia cada número de tu texto original carácter a carácter, así que 12345678901234567890 sigue siendo 12345678901234567890. La vista Datos te dice cuántos números de tu documento se habrían visto afectados.

¿Qué pasa con las claves duplicadas y el orden de las claves?

Ambos se conservan por defecto. JSON permite que un objeto nombre la misma clave dos veces, y leer el documento como un objeto de JavaScript conserva solo la última, de modo que la mayoría de formateadores borran datos sin decirlo. Aquí sobreviven las dos, y la vista Datos las cuenta. El orden también se conserva, incluidas las claves que parecen índices de array como "1" y "2": cualquier herramienta que pase por JavaScript las sube al principio del objeto, incluso con la ordenación desactivada. Si sí quieres resolver los duplicados, el control Claves duplicadas ofrece conservar la primera o la última.

¿Qué hace Ordenar claves?

Ordenar claves reordena las claves de cada objeto de forma recursiva por los objetos anidados, mientras que los arrays mantienen su orden. De A a Z es orden de puntos de código, como hacen casi todas las herramientas. El orden natural compara las secuencias de dígitos como números, así que item2 va antes que item10 en lugar de después, que es lo que quieres para claves como campo1 a campo12 o números de versión. Ordenar produce una salida determinista, así que los diffs del control de versiones muestran cambios reales en vez de ruido.

¿Qué pasa si mi JSON no es válido?

Recibes un mensaje concreto, la línea y la columna donde se detuvo el análisis, y la línea afectada impresa con un cursor bajo el carácter exacto. Las causas habituales son comas finales, comillas simples, claves sin comillas, comentarios y los True, False y None de Python. Si el error se puede reparar automáticamente aparece un botón Reparar; al activar la reparación se reescribe el documento y después se enumera cada cambio, para que puedas ver si estás de acuerdo antes de descargar.

¿Puede con JSON Lines o NDJSON?

Sí. Un archivo con varios registros de nivel superior, uno por línea, se detecta automáticamente: no hay ajuste que buscar ni hace falta renombrar el archivo. Por defecto cada registro se escribe minificado en su propia línea, que es lo que mantiene el archivo como JSON Lines válido. Cambia el control JSON Lines a Un solo array y los registros se envuelven en un único array JSON, formateado con tu sangría, que suele ser lo que quieres antes de pasar los datos a algo que espera un único documento.

¿De qué tamaño puede ser el archivo?

El plan gratuito admite archivos de hasta 25 MB, lo que cubre prácticamente cualquier respuesta de API, archivo de configuración o exportación que la gente lleva a un formateador. Pro elimina el límite impuesto y llega hasta donde alcance tu dispositivo, y añade el formateo por lotes de hasta 20 archivos entregados como un único ZIP. El formateo se ejecuta fuera del hilo principal, así que la página sigue respondiendo: un documento de 25 MB se formatea en bastante menos de un segundo en un portátil actual.

¿Es gratis y funciona en el móvil?

Todas las funciones de formateo son gratis: sangría, minificar, ordenar claves, tratamiento de duplicadas, vista de árbol, estadísticas, reparación, JSON Lines y elección de final de línea. Funciona en cualquier navegador moderno en escritorio, tableta y móvil, y admite arrastrar y soltar, descargar y copiar. Pro añade escala y entrega — archivos más grandes, lotes y una descarga en un solo archivo — nunca una respuesta distinta.

4.8de 5

de 1289 valoraciones

Valora esta herramienta

Toca una estrella — es un segundo