Convertir Excel a JSON
Convierte una hoja de cálculo en JSON que tu código sí puede usar: array de objetos, array de arrays o un array por columna.
Suelta tus archivos aquí
.xlsx, .xlsm, .xls, .ods · hasta 300 MB
Más ajustesMenos ajustes
Cómo convertir a JSON
- 1
Suelta tu archivo Excel
XLSX, XLSM, XLS y ODS se leen directamente en el navegador, y la lista de hojas aparece en cuanto se abre el libro.
- 2
Elige la hoja y la forma de JSON
Array de objetos para enviar a una API, array de arrays para un script que ya conoce sus columnas, por columnas para librerías de gráficas.
- 3
Convierte y descarga
El resultado es JSON válido con la sangría que elijas, listo para usar con JSON.parse sin tener que limpiar nada antes.
Tres formas, tres usos distintos
Un array de objetos, un objeto por fila con claves sacadas de la cabecera, es lo que espera un endpoint REST o un cargador de base de datos, y es la opción por defecto. Un array de arrays es más pequeño y más rápido de recorrer cuando el código que lo consume ya conoce el orden de las columnas; además, sobrevive a cabeceras duplicadas o ausentes, porque no hay claves que entren en conflicto. La forma por columnas invierte la tabla y genera un array por columna, justo el formato que piden la mayoría de librerías de gráficas y muy pesado de construir a mano a partir de datos por filas.
Nombres de columna duplicados o ausentes
Las hojas de cálculo reales tienen dos columnas llamadas id, una fila de cabecera tres filas más abajo, bajo un título, y una columna sin nombre que alguien añadió al final. Cada uno de esos casos rompe un convertidor ingenuo. Aquí la fila de cabecera es un ajuste, no una suposición. Los nombres duplicados se terminan en _2, _3 y se muestran en un aviso para que sepas que se han renombrado, en vez de descubrirlo en producción; fíjate en que la primera aparición mantiene su nombre original, que no es el comportamiento por defecto de la biblioteca interna. Las cabeceras en blanco se convierten en column_2, column_5 y así sucesivamente, numeradas por posición para que se mantengan estables si vuelves a exportar.
Tipos que sobreviven al viaje
Los números siguen siendo números, los booleanos siguen siendo booleanos y las fechas se convierten en cadenas ISO 8601: solo fecha cuando la hora es medianoche y marca de tiempo completa en los demás casos, porque un número de serie de Excel como 45730 no significa nada para lo que venga después. El texto que solo parece numérico, como un código de producto con cero inicial, se mantiene como cadena. Las celdas vacías son el único caso sin respuesta claramente correcta, así que tú eliges: null, una cadena vacía o que la clave se omita del objeto por completo.
Nada se sube
El libro se analiza y el JSON se genera dentro de esta pestaña del navegador. No se envía ninguna copia a un servidor, no se guarda nada y los datos desaparecen en cuanto cierras la página, algo importante cuando la hoja es una exportación de clientes.
Preguntas frecuentes
¿Cuál es la diferencia entre un array de objetos y un array de arrays?
Un array de objetos te da {"id": 1, "name": "A"} por fila, usando la cabecera como claves, lo que es legible y se describe solo. Un array de arrays te da [1, "A"] por fila e incluye la cabecera como primera entrada, es más compacto y no sufre con nombres de columna duplicados.
Mi cabecera no está en la primera fila, ¿aun así puedo usar objetos?
Sí. Indica el número de fila donde están los nombres reales de las columnas, hasta la fila 50. Todo lo que haya por encima se descarta, así que un título y una fila en blanco no dan problemas.
¿Qué pasa con las fechas y los ceros a la izquierda?
Las fechas se convierten en cadenas ISO como 2026-03-14 en lugar de números de serie de Excel. Un valor guardado como texto, como el código de producto 00123, se mantiene como cadena y conserva sus ceros.
¿Se exportan las fórmulas?
Se exportan sus valores calculados. JSON no tiene forma de expresar una fórmula, así que en la salida aparece el número al que la celda se evaluó por última vez.
¿Puedo exportar todas las hojas en un solo archivo?
Sí. Elige todas las hojas y deja activado el contenedor, y obtendrás un único objeto con los nombres de hoja como claves. Si desactivas el contenedor, recibirás un ZIP con un archivo JSON separado por cada hoja.
¿Qué pasa si dos columnas tienen el mismo nombre?
La primera conserva el nombre y a las siguientes se les añade _2, _3, y un aviso te indica qué clave se ha renombrado. Si cambias a la forma de array de arrays, evitas por completo este problema.
¿Mi archivo se envía a algún servidor?
No. Leer el libro y construir el JSON ocurre localmente en tu navegador, sin subida y sin almacenamiento temporal en ningún sitio.