JSON a Excel
Convierta datos JSON en un archivo .xlsx real; los números quedan como celdas numéricas, lo anidado se abre en columnas y la fila de títulos queda fija
Sus datos se quedan con usted. La conversión ocurre dentro del navegador; no se envía nada a ningún servidor.
¿Le sirvió esta herramienta?
Gracias, su comentario llegó.
Cómo funciona
El caso típico: recibió datos en JSON de un servicio web, de una tienda en línea o de un programador, y quiere filtrarlos, sumarlos o mandarlos a contabilidad en Excel. Pegue el JSON en el panel izquierdo; a la derecha aparece una vista previa de la tabla y el botón "Descargar" le da un archivo .xlsx real, con la hoja Hoja1. Si la raíz es una lista, cada elemento es una fila. Si la raíz es un objeto, la herramienta busca la primera lista de registros que contiene: en {"pedidos": [...], "pagina": 1} las filas salen de "pedidos" y la línea de resultado lo dice; si no hay ninguna lista, el objeto queda como tabla de dos columnas clave/valor. Un campo anidado como "direccion": {"ciudad": "Guadalajara"} pasa, con la opción por defecto, a la columna "direccion.ciudad". Los valores llevan su tipo: el monto 1250.5 es una celda numérica que Excel muestra como 1250,5 o 1250.5 según la configuración regional y que SUMA puede sumar; true y false pasan a VERDADERO y FALSO; el texto "01000" sigue siendo texto con su cero. Una lista simple como las etiquetas se une en una celda: "urgente, regalo". La primera fila lleva los títulos y queda fija al desplazarse hacia abajo.
Esta herramienta también se busca como json a excel, convertir json a excel, json to excel, json a xlsx, pasar json a excel.
¿Qué es JSON?
JSON es el formato de texto con el que los servicios web y las aplicaciones intercambian datos: las llaves marcan un objeto ({"producto": "Café"}), los corchetes una lista ([1, 2]), y los valores pueden ser texto, número, true/false o null, anidados unos dentro de otros. Un archivo .json que baja de una API o del botón "Exportar" de un panel suele ser una lista de registros, y esa forma encaja de manera natural en filas y columnas de Excel.
¿Qué es XLSX?
XLSX es el formato de libro que Excel usa desde 2007: por dentro es un archivo ZIP con archivos XML para las hojas, los estilos y los textos compartidos. A diferencia del CSV, guarda el tipo de cada celda (número, texto, lógico, fecha), el ancho de las columnas y las filas inmovilizadas. Por eso el mismo archivo da los mismos valores en cualquier equipo; la configuración regional solo cambia cómo se ven.
¿Conviene pasar el JSON a CSV o a Excel?
El CSV es texto plano sin tipos: al abrirlo, Excel vuelve a interpretar el separador decimal y las fechas según la configuración regional y quita los ceros iniciales; a cambio, cualquier programa lo lee y es ideal para cargar datos en una base de datos. El XLSX conserva los tipos: un número sigue siendo número y un texto sigue siendo texto, la fila de títulos queda fija y el archivo da los mismos valores en un Excel en español o en inglés. Si una persona va a revisar, sumar o filtrar los datos en Excel, XLSX; si los va a cargar en otro sistema, CSV.
Por qué .xlsx y no CSV: números, ceros y el límite de 15 dígitos
También puede pasar el JSON a CSV y abrirlo en Excel, pero el CSV no tiene tipos: un Excel con coma decimal no lee "1250.5" como número y a veces lo toma como fecha, y el código "00123" pierde sus ceros. Esta herramienta escribe directamente un .xlsx, así que el tipo de cada celda va dentro del archivo: el 1250.5 del JSON es una celda numérica que se ve con el separador decimal de su dispositivo, y "00123", que en el JSON es una cadena entre comillas, queda como texto con sus ceros.
Excel guarda solo los primeros 15 dígitos de un número y convierte en cero los que siguen. Un folio o un número de tarjeta largo escrito sin comillas en el JSON perdería sus últimas cifras si se pasara como número. La herramienta escribe los enteros de 16 dígitos o más como texto y la línea de resultado dice cuántos hubo. Si su navegador da acceso al texto original del JSON (Chrome y Edge recientes lo hacen), las cifras pasan tal cual; si no, se escribe como texto el valor ya redondeado por JavaScript.
- 1250.5 → celda numérica (1250,5 en Excel con coma decimal)
- true → VERDADERO (celda lógica)
- null → celda vacía
- "00123" → texto, se conservan los ceros
- 12345678901234567890 → texto (Excel pone en cero las cifras después de la 15.ª)
Datos anidados: ¿columnas separadas o texto JSON?
"Columnas separadas" sirve para reportes: "direccion": {"ciudad": "Guadalajara", "colonia": "Americana"} da dos columnas, "direccion.ciudad" y "direccion.colonia", y en Excel puede filtrar por ciudad o armar una tabla dinámica. Si a un registro le falta un campo, esa celda queda vacía, pero la columna se crea igual.
"Texto JSON en la celda" sirve cuando la estructura no debe perderse: el objeto anidado se escribe en una celda como {"ciudad":"Guadalajara","colonia":"Americana"} y la tabla tiene menos columnas. Con datos profundos, o con campos distintos en cada registro, la primera opción puede generar cientos de columnas; si se pasa del límite de Excel de 16.384 columnas, la herramienta no genera el archivo y le pide cambiar a esta opción. Las listas que contienen objetos (por ejemplo, las partidas de un pedido) van siempre a una celda como texto JSON.
Preguntas frecuentes
¿Cómo paso un archivo JSON a Excel?
Abra el archivo JSON con el Bloc de notas o cualquier editor de texto, copie el contenido, péguelo en el panel izquierdo de esta página y pulse "Descargar". El .xlsx descargado se abre directamente en Excel, LibreOffice o Google Sheets; cada registro es una fila y cada campo una columna.
¿Los números del JSON quedan como números en Excel?
Sí, cuando en el JSON van sin comillas. Esta herramienta genera un .xlsx real y escribe 1250.5 en una celda numérica que entra en fórmulas. Si el JSON trae "1250.5" entre comillas, es texto en el JSON y sigue siendo texto en Excel. Esa decisión la tomó el programa que creó el JSON; la herramienta no la cambia.
Mi API responde {"data": [...]}, ¿salen bien las filas?
Sí. Cuando la raíz es un objeto, la herramienta busca la primera lista de registros y toma las filas de ahí; la línea de resultado dice: filas tomadas de la lista «data». Los campos fuera de la lista, como el número de página o el total, no entran en la tabla. Si hay varias listas, se usa la que aparece primero en el nivel más alto.
¿Mis datos se envían a un servidor?
No. La lectura del JSON y la escritura del archivo de Excel ocurren dentro de su navegador; aunque pegue una lista de clientes o de pedidos, los datos no salen de esta página. Una vez cargada la página, la conversión funciona sin conexión.