Skip to content
Back to Blog
how-to-convert

Cómo convertir JSON a CSV para Excel y Google Sheets

2026-05-17 8 min de lectura

Por qué JSON y CSV están hechos para trabajos diferentes

JSON y CSV están construidos para mundos totalmente diferentes. JSON (JavaScript Object Notation) representa datos estructurados y jerárquicos. Maneja objetos anidados, arrays de arrays y tipos de datos mixtos con facilidad, por eso es el estándar para las API y las configuraciones de aplicaciones. CSV (valores separados por comas) es lo contrario: una tabla simple y plana. Cada fila debe tener el mismo número de columnas. Sin anidación. Esta diferencia fundamental significa que no puedes simplemente cambiar el nombre de un archivo .json a .csv y esperar que funcione. Cuando extraes datos de una API REST, como una lista de 500 registros de clientes de un CRM, casi siempre los obtendrás en formato JSON. Un único registro de cliente podría tener este aspecto: {"id": 1042, "name": "Sara Okonkwo", "email": "sara@example.com", "orders": [{"id": 88, "total": 49.99}]} Excel y Google Sheets no pueden analizar ese archivo para convertirlo en una tabla limpia. Necesitan filas planas. Convertir de JSON a CSV es el puente que permite a los analistas, especialistas en marketing y equipos de operaciones llevar los datos de la API a las herramientas de hojas de cálculo que usan todos los días. La conversión es fácil si tu JSON es una lista simple de objetos. Se complica mucho más cuando hay anidación, y ahí es donde la mayoría de la gente se atasca.

Qué pasa con el JSON anidado durante la conversión

Esta es la parte que la mayoría de los tutoriales omiten y que causa verdaderos dolores de cabeza. Cuando tu JSON contiene objetos o arrays anidados, cualquier herramienta de conversión —incluida CocoConvert— debe decidir cómo aplanarlo. Hay varias maneras de hacerlo. Una estrategia es aplanar las claves anidadas usando la notación de puntos. Un campo como `address.city` se convierte en un encabezado de columna, y el valor cae directamente en esa celda. Esta es una gran solución para anidaciones simples de un solo nivel. Otro enfoque es convertir el valor anidado a una cadena de texto (stringify), donde el objeto o array completo se comprime en una sola celda como una cadena JSON. Esto preserva todos los datos, pero es básicamente ilegible en una hoja de cálculo sin más trabajo. Una tercera estrategia, y a menudo la más útil, es expandir los arrays en múltiples filas. Si un cliente tiene tres pedidos, el conversor crea tres filas separadas para ese cliente, duplicando los campos principales para cada pedido. Esto hace que los datos sean inmediatamente utilizables en una hoja de cálculo, pero también puede hacer que tu archivo sea enorme. CocoConvert, por defecto, aplana con notación de puntos los objetos anidados y convierte a cadena los arrays anidados. Así, si tu JSON tiene un objeto de dos niveles como {"shipping": {"method": "express", "days": 2}}, obtendrás columnas para `shipping.method` y `shipping.days`. Pero si tiene un array, ese array completo termina como una cadena de texto en una celda. Para datos muy anidados —tres o más niveles, o arrays de objetos— es casi seguro que necesitarás preprocesar el JSON con un script para obtener un CSV limpio. Ningún conversor en línea puede manejar mágicamente todos los patrones de anidación. Definitivamente deberías probar con una muestra pequeña antes de lanzarle miles de registros.

Convertir JSON a CSV con CocoConvert

Cuando tienes un JSON sencillo —un array plano de objetos o una anidación simple de un nivel— usar CocoConvert es rápido y no requiere configuración. El proceso es simple. Primero, ve a /convert/json-to-csv. Verás el cuadro de carga y las opciones de salida. Sube tu archivo .json. El plan gratuito de CocoConvert maneja archivos de hasta 50 MB. Si tu archivo es más grande, tendrás que dividirlo. Una línea de Python rápida como `json.dump(data[:5000], open('chunk1.json','w'))` es perfecta para esto. Luego, elige tu delimitador. La coma es el estándar, pero si estás en una región donde Excel espera un punto y coma (sí, os miro a vosotros, Alemania y Francia), necesitas cambiarlo antes de descargar. Este pequeño ajuste le da problemas a mucha gente. Mantén siempre activada la opción "incluir una fila de encabezado". Las hojas de cálculo necesitan esa primera fila para los nombres de las columnas. Después de eso, simplemente haz clic en "Convertir". Un archivo de 10.000 filas suele tardar menos de 10 segundos. Luego puedes descargar tu flamante archivo .csv. Aquí va un consejo profesional: si las claves de tu JSON tienen espacios o caracteres especiales, como "first name" o "unit$price", se convertirán en los encabezados de columna tal cual. Excel puede manejar esto, pero escribir fórmulas se vuelve molesto porque tienes que usar las letras de las columnas en lugar de referencias estructuradas. Es mucho más limpio cambiar el nombre de las claves en tu JSON antes de convertir, o simplemente arreglar los nombres de las columnas en Excel justo después de importar. Esto te ahorrará dolores de cabeza más adelante.

Cómo abrir el CSV correctamente en Excel

Descargar un CSV es solo la mitad del trabajo. La forma en que lo abres en Excel marca la diferencia entre una tabla limpia y un desastre inútil de datos en una sola columna. Hagas lo que hagas, no hagas doble clic en el archivo. El único método fiable es usar el asistente de importación. En Excel 365 y Excel 2019, lo encuentras en Datos → Obtener datos → Desde texto/CSV. Selecciona tu archivo y Excel mostrará una vista previa. Esta es tu oportunidad para confirmar el delimitador. Si no coincide con el que elegiste durante la conversión, todos tus datos quedarán apretados en la columna A. Cualquiera que haya luchado con una importación de CSV conoce este dolor demasiado bien. Ten cuidado con los formatos de fecha. Si tu JSON usaba cadenas de texto en formato ISO 8601 (como `2025-11-03T14:22:00Z`), Excel a menudo las importa como texto sin formato. Puedes arreglar esto. Selecciona la columna, ve a Datos → Texto en columnas, elige Delimitado, haz clic en Siguiente dos veces y luego establece el formato de datos de la columna a Fecha (AMD). Esto convierte el texto en valores de fecha reales que puedes ordenar y filtrar correctamente. Para archivos grandes, digamos 200.000 filas, Excel lo importará, pero irá lentísimo. Las tablas dinámicas y los BUSCARV serán dolorosamente lentos. Usa Power Query en su lugar (Datos → Obtener y transformar datos → Desde CSV). Es mucho mejor para manejar grandes conjuntos de datos sin que Excel se vuelva inutilizable. Y ten en cuenta el límite estricto de Excel: 1.048.576 filas. Si tu JSON produce un CSV con más filas que eso, Excel descartará silenciosamente todo lo que supere el límite. Si te estás acercando a ese número, divide tu archivo de origen antes de empezar la conversión.

Importar el CSV en Google Sheets

Google Sheets es generalmente mejor manejando importaciones de CSV que Excel, pero algunos ajustes son críticos. El proceso es sencillo: abre una hoja de cálculo, ve a Archivo → Importar y sube tu CSV. En el cuadro de diálogo que aparece, tienes varias opciones. Establece siempre la "Ubicación de la importación" en una hoja nueva para evitar sobrescribir datos existentes. Establece el "Tipo de separador" en Coma (o Personalizado para un punto y coma). Aquí está el ajuste más importante: "Convertir texto en números, fechas y fórmulas". Si tus datos tienen códigos de producto que parecen números (p. ej., `00847`), debes desmarcar esta casilla para mantener los ceros iniciales. De lo contrario, Google Sheets "arreglará" amablemente tus datos convirtiéndolos en el número 847. Si dejas la conversión automática activada, Sheets hace un trabajo decente analizando fechas ISO en su formato nativo. También convierte cadenas numéricas a números, lo que suele estar bien pero puede ser un problema para esos identificadores especiales. Si haces esto a menudo, como extraer una nueva exportación JSON cada lunes, no lo hagas manualmente. Considera usar la función `IMPORTDATA` de Google Sheets o un Google Apps Script. `IMPORTDATA` está limitado a URL públicas, lo que lo descarta para datos privados. Apps Script es mucho más potente; puede obtener datos de un endpoint JSON protegido y escribirlos directamente en una hoja, saltándose por completo el paso del CSV. Pero para trabajos puntuales o para equipos sin un desarrollador a mano, una importación manual usando un archivo de CocoConvert en /convert/json-to-csv es la forma más rápida de hacer el trabajo. Toma dos minutos y cero código. Google Sheets tiene sus propios límites: 100 MB por archivo y 10 millones de celdas por hoja de cálculo. Un CSV con 50.000 filas y 20 columnas tiene solo 1 millón de celdas, así que tienes mucho espacio para trabajar.

Cómo manejar los errores de conversión más comunes

Te vas a encontrar con algunos problemas comunes al convertir JSON a CSV. Aquí te digo a qué prestar atención. Claves inconsistentes entre objetos. JSON es flexible. Un objeto en un array puede tener un campo `phone` mientras que el siguiente no. Conversores como CocoConvert manejan esto creando una columna para cada clave única encontrada en todo el conjunto de datos. Cuando falta una clave para un registro, la celda simplemente se deja vacía. Esta es la forma correcta de hacerlo, pero ten cuidado: un archivo de origen desordenado con 30 estructuras de objetos ligeramente diferentes puede resultar en un CSV con 80 columnas, la mayoría de ellas vacías. Limpia el esquema de tu JSON antes de convertirlo. Unicode y caracteres especiales. Los archivos JSON son casi siempre UTF-8. Si tus datos incluyen caracteres no latinos (como árabes, chinos o letras acentuadas), debes decirle a Excel que los espere. Cuando importes a través de Datos → Obtener datos → Desde texto/CSV, busca la opción "Origen del archivo" en el cuadro de diálogo de vista previa y cámbiala a `65001: Unicode (UTF-8)`. Si olvidas esto, todos tus caracteres especiales se convertirán en basura ilegible (mojibake). Números muy grandes. Este es sutil pero destructivo. JSON puede manejar números enormes con una precisión perfecta. Pero las hojas de cálculo no. Tanto Excel como Google Sheets usan matemática de punto flotante de 64 bits, lo que significa que empiezan a redondear enteros grandes después de 9.007.199.254.740.992 (o 2^53). Si tu JSON contiene un número más grande, como 9007199254740993, se redondeará silenciosamente al importar. Si estás trabajando con IDs enteros grandes de una base de datos, tu única apuesta segura es guardarlos como cadenas de texto en el JSON *antes* de la conversión. Arrays vacíos y valores nulos. Un valor `null` en JSON se convierte correctamente en una celda vacía en un CSV. Un array vacío `[]` es manejado de forma diferente por varias herramientas. CocoConvert lo convierte en una cadena de texto vacía, que es la mejor opción para las hojas de cálculo y evita confusiones.

Cuándo un conversor no es la herramienta adecuada

Los conversores en línea son perfectos para tareas puntuales y comprobaciones rápidas, especialmente cuando tu JSON ya es plano. Pero no son la herramienta adecuada para todos los trabajos. Si tu conversión es parte de un proceso automatizado —un trabajo ETL nocturno, procesamiento de datos en CI/CD o cualquier cosa que necesite ejecutarse sin ti— debes usar una solución con script. Una herramienta en línea simplemente no es lo suficientemente fiable para la automatización. La biblioteca pandas de Python es el estándar de la industria aquí; puedes leer JSON con `pd.read_json()`, aplanarlo con `pd.json_normalize()` y escribir a CSV con `.to_csv()` en solo unas pocas líneas. Para los magos de la línea de comandos, `jq` es una alternativa increíblemente potente en entornos Unix: `jq -r '(.[0] | keys_unsorted) as $keys | $keys, (.[] | [.[$keys[]]] | @csv)' input.json > output.csv` hará el trabajo para arrays planos. Cuando tu JSON está muy anidado (tres o más niveles de profundidad, o contiene arrays de objetos), ningún conversor en línea te dará un CSV limpio directamente. El problema es estructural; necesitas escribir un script personalizado que entienda tu esquema específico para aplanarlo correctamente. Otro formato que debes conocer es JSON Lines (.jsonl), donde cada línea es un objeto JSON separado. CocoConvert maneja estos archivos perfectamente, así que puedes subirlos tal cual. Solo asegúrate de que tu archivo no mezcle JSON regular y JSON Lines, o necesitarás limpiarlo primero. ¿Para todo lo demás? Una exportación JSON de una plataforma SaaS, una respuesta de API que necesitas en una hoja de cálculo, un archivo de configuración que quieres revisar como una tabla... ve directamente a /convert/json-to-csv. Sube tu archivo y tendrás un CSV limpio en menos de un minuto.

Ready to convert?

Try it now — fast, secure, and private.

Convert Now →