Inicio · Herramientas gratis · JSON a Excel

Convertir JSON a Excel

Pega la respuesta de una API o suelta un archivo .json y descarga un .xlsx de verdad, no un CSV que Excel tenga que volver a interpretar. El array de registros se encuentra dentro de la respuesta, los campos anidados pasan a columnas propias y los registros con campos distintos quedan alineados. Los números del JSON llegan a Excel como números, así que en un Excel en español se ven con coma decimal. Sin Power Query y sin subir nada.

O suelta un archivo .json

Suelta aquí un .json o .ndjson y se cargará en la caja de abajo

JSON pégalo aquí, o edita lo que cargó el archivo

¿Lo haces cada mes? Hazlo una vez en TableDI 2, guárdalo como trabajo y vuelve a ejecutarlo el mes que viene. Descargar TableDI 2 gratis

No se sube nada. El archivo lo lee el JavaScript de esta pestaña y no sale de tu ordenador — ningún servidor lo ve, y al cerrar la pestaña los datos desaparecen.

Lo que cuesta cada una de las vías habituales

  • Power Query (Datos → Obtener datos → Desde un archivo → Desde JSON) es la vía completa, pero solo está en el Excel de escritorio, son varios cuadros de diálogo y cada registro anidado hay que expandirlo a mano. Para una conversión suelta cuesta más que los propios datos.
  • Un conversor que te da un CSV solo cambia el problema de sitio: el Excel en español espera punto y coma, así que el CSV con comas se abre todo en la columna A, y los números largos acaban en notación científica.
  • Pegar en una hoja solo funciona si el JSON ya es plano, y uno real no lo es.

Esta página escribe directamente el .xlsx. No hay separador que interpretar ni codificación que adivinar al abrirlo.

Qué llega como número y qué llega como texto

Es lo que decide si luego puedes sumar la columna, y en un Excel en español tiene truco:

  • Los números del JSON llegan como números. Un 860.5 se guarda como valor numérico, y tu Excel lo enseña con tu configuración: 860,5. Se puede sumar.
  • Los importes que el JSON trae como texto se quedan en texto. Si la API devuelve "importe": "1.234,56", entre comillas, la celda contiene ese texto tal cual. No se convierte, porque no se puede saber con seguridad si ese punto es de millar o decimal.
  • Los ceros a la izquierda se respetan. Un código postal "08001" se escribe como texto y sigue empezando por 0. Lo mismo un valor de más de 15 dígitos, que como número Excel redondearía.
  • Las fechas y los booleanos quedan como texto. "2026-03-15" llega como texto con ese formato, y true como la palabra true, no como VERDADERO.

Qué pasa con lo anidado

{"cliente": {"nombre": "Lucía", "provincia": "Sevilla"}} se convierte en dos columnas, cliente.nombre y cliente.provincia. Una lista de etiquetas va en una sola celda separada por punto y coma. Una lista de objetos recibe un juego de columnas por índice, de modo que un pedido de dos líneas mantiene separados lineas.0.sku y lineas.1.sku.

La hoja que descargas

Un libro con una sola hoja: la fila de cabecera es la unión de todos los campos en el orden en que aparecen, y debajo, un registro por fila. La vista previa enseña las primeras 200 filas; el archivo las lleva todas. Recuerda que una hoja de Excel admite como mucho 1.048.576 filas.

Lo que no hace

  • No convierte en número un importe que el JSON trae como texto con formato español.
  • No reconoce fechas: quedan como el texto que traía el JSON.
  • No reparte los registros en varias hojas: todo va en una.
  • No acepta JSON con comentarios o comas finales.

Cuando la misma respuesta tiene que acabar en la misma hoja cada semana

Eso ya no es una conversión, es un trabajo, y lo interesante es qué pasa el día que el endpoint cambia el nombre de un campo o no devuelve nada. TableDI 2 es una aplicación de escritorio para el trabajo con archivos que se repite cada periodo: guarda tus fuentes, tus reglas y la entrega como un trabajo, y el mes que viene pones los archivos nuevos y lo vuelves a ejecutar. Todo funciona en tu propio equipo.

Preguntas frecuentes

¿Necesito Power Query o algún complemento?

No. La conversión ocurre en esta página y el .xlsx lo escribe tu navegador. Lo abre cualquier Excel que lea .xlsx, también Excel para Mac y Excel en la web, además de LibreOffice y Numbers.

¿Por qué una columna de importes no se puede sumar?

Porque en el JSON venían como texto, entre comillas y ya formateados («1.234,56»). Esos valores se copian tal cual. Los importes que el JSON trae como número (1234.56, sin comillas) sí llegan como números y se suman.

¿Por qué .xlsx y no CSV?

Porque el Excel en español espera punto y coma en un CSV y vuelve a interpretar cada valor al abrirlo. Con un .xlsx los valores están ya dentro del archivo como lo que son. Si el siguiente paso es un script, el CSV también se puede descargar.

¿Y si el JSON tiene un objeto por línea?

Eso es NDJSON y también funciona: si el documento entero no se puede analizar, cada línea se analiza por separado, y la página lo indica encima de la tabla.

¿Se sube el archivo a algún servidor?

No. El JSON lo lee el JavaScript de esta pestaña y el .xlsx se genera en tu ordenador. No hay ninguna petición con tus datos.

¿Lo haces cada mes?

En TableDI 2 lo haces una vez y lo guardas como un trabajo. El mes que viene pones los archivos nuevos y lo vuelves a ejecutar.

macOS, Apple Silicon e Intel; la versión de Windows está en camino (qué hacer mientras tanto). Lo gratuito no es una prueba: sin cuenta y sin tarjeta.

Revisado el 2026-10-01 por el equipo de TableDI. ¿Algo mal en esta página? Escríbenos — es un solo buzón, lo leen las personas que hacen TableDI.