Convertir JSON a CSV

Transforma un array JSON de objetos en CSV listo para cualquier hoja de cálculo. Aplana los campos anidados en columnas con punto, guarda los arrays como texto y entrecomilla lo necesario.

El resultado aparecerá aquí.

Cómo funciona Convertir JSON a CSV

Transforma un array JSON de objetos en CSV listo para cualquier hoja de cálculo. Aplana los campos anidados en columnas con punto, guarda los arrays como texto y entrecomilla lo necesario.

Entrada JSON
Salida CSV
Trabajos realizados 2.057

Herramientas relacionadas

Guía de uso

Con esta herramienta puedes convertir JSON a CSV: la respuesta de una API o una exportación en JSON se transforma en filas y columnas separadas por comas, listas para una hoja de cálculo. Los objetos anidados se aplanan en columnas como cliente.nombre, los arrays se guardan como texto JSON en una sola celda y se entrecomilla cualquier celda que pudiera romper la tabla. Todo sucede en tu navegador.

Cómo pasar de JSON a CSV

  1. Pega el JSON; lo ideal es un array en el que cada objeto sea un registro.
  2. Conviértelo con el botón de ejecutar o con el atajo Ctrl + Enter.
  3. Si aparece un error, el JSON no es válido: corrige el punto indicado por la línea y la columna.
  4. Copia el CSV o descárgalo y cambia la extensión del archivo de .txt a .csv.

Ejemplo: pedidos con datos anidados

Imagina una exportación con dos pedidos. El primero es {"pedido":501,"cliente":{"nombre":"Lucía","direccion":{"ciudad":"Sevilla"}},"productos":["café","taza"],"nota":"Dejar en portería; no llamar","cupon":null,"pagado":true}; el segundo solo tiene número de pedido, nombre de cliente y un campo regalo. El resultado es esta tabla:

pedidocliente.nombrecliente.direccion.ciudadproductosnotacuponpagadoregalo
501LucíaSevilla["café","taza"]Dejar en portería; no llamartrue
502Andréstrue

En el archivo en bruto, la nota va entre comillas porque contiene un punto y coma, y el array aparece como "[""café"",""taza""]", con las comillas interiores duplicadas. null se convierte en una celda vacía, y regalo queda al final porque las columnas siguen el orden en que cada clave aparece por primera vez.

Reglas para convertir JSON a CSV

En el JSONEn el CSV
Array de objetosUna fila por objeto, una columna por clave
Un único objetoUna tabla de una fila
Objeto anidadoColumnas con ruta de puntos, a cualquier profundidad
Array dentro de un registroTexto JSON en una celda; no se reparte en filas
Array de valores simples, como [1,"x"]Una sola columna llamada value
Clave ausente en algún registroCelda vacía
Objeto vacío {}El texto {}

El separador es siempre la coma. Una celda se entrecomilla si contiene coma, punto y coma, tabulación, barra vertical, comillas o un salto de línea, o si empieza o termina con un espacio; así la tabla no se descuadra se lea con el separador que se lea.

Abrir el resultado en una hoja de cálculo

  • Todo aparece en la columna A: con configuración regional en español, las hojas de cálculo esperan punto y coma. Abre el archivo con la función de importar desde texto o CSV y elige la coma como separador.
  • Tildes y eñes estropeadas: el resultado está en UTF-8 sin marca BOM, y algunos programas suponen entonces una codificación antigua. Selecciona UTF-8 al importar.
  • Valores que cambian solos: un código postal como 08001 puede perder el cero, 1-2 puede convertirse en fecha y un identificador largo, en notación científica. Marca esas columnas como texto durante la importación.

Y una precaución en el lado del JSON: los identificadores de más de unas 16 cifras guardados como número pueden perder precisión al leer el JSON. Mantenlos como texto en el origen.

Privacidad y herramientas relacionadas

La conversión se ejecuta con JavaScript en tu navegador: los datos de clientes y pedidos no se envían al servidor, y la página solo suma un contador de uso anónimo. Si el JSON es largo o lo has editado a mano, valídalo antes con el formateador JSON. Para el camino contrario tienes convertir CSV a JSON, y en CSV vs JSON se explica cuándo conviene cada formato.

Preguntas frecuentes

Se aplanan en columnas con nombres separados por puntos. Un campo nombre dentro de un objeto cliente se convierte en la columna cliente.nombre, y los niveles más profundos alargan la ruta, como cliente.direccion.ciudad. Los arrays no se reparten en filas: se escriben en una sola celda como texto JSON. Si necesitas cada elemento en su propia fila, reorganiza los datos antes de convertir para que cada elemento sea un registro.

Porque el conversor usa siempre la coma como separador, y una hoja de cálculo con configuración regional en español espera punto y coma, ya que la coma es el separador decimal. Al abrir el archivo con doble clic, cada fila acaba en una única celda. Usa la opción de importar datos desde texto o CSV y elige la coma como delimitador. Cambiar el separador de listas en la configuración regional también funciona, pero afecta a todos los archivos.

No desde la herramienta: cada clave presente en los datos se convierte en columna, en el orden en que aparece por primera vez. Puedes borrar las columnas que no necesites en la hoja de cálculo o quitar esas claves del JSON antes de convertir. Para fijar el orden, escribe las claves del primer registro en la secuencia que quieras; el resto de registros la seguirán.

No se puede pegar tal cual, porque la entrada debe ser un único valor JSON y JSON Lines contiene un documento por línea. Envuelve las líneas entre corchetes y añade una coma al final de cada una salvo la última; así se convierten en un array. A partir de ahí el conversor trata cada línea como un registro y construye la tabla con normalidad. En exportaciones grandes, haz ese cambio con buscar y reemplazar en tu editor.