Saltar al contenido

BlogDatos6 min de lectura

CSV, Excel o JSON: ¿qué formato para tus datos?

Guardamos la misma tabla de 100 000 filas en CSV, en un libro de Excel y en JSON, y comparamos los pesos, la velocidad de lectura en código y lo que falla con las fechas, los ceros a la izquierda y los números largos.

Tres tarjetas que muestran los mismos datos en CSV, en una hoja de Excel y en JSON.

Las tablas de datos circulan entre personas y programas en tres formatos principales: CSV, libros de Excel (XLSX) y JSON. Cada uno es la opción natural en algún sitio, y cada uno causa un tipo de problema bien conocido cuando acaba en el lugar equivocado. Para compararlos en igualdad de condiciones, guardamos una misma tabla en los tres y medimos el peso y la velocidad de lectura, y luego vimos qué puede contener cada formato y qué no.

La tabla de prueba

La tabla tiene 100 000 pedidos con siete columnas: un número de pedido, una fecha, un país, un producto, una cantidad, un precio unitario y un total. Las primeras filas se ven así en CSV:

order_id,date,country,product,quantity,unit_price,total
100000,2025-11-30,Brazil,Water bottle,6,158.35,950.1
100001,2025-02-25,France,Office chair,7,158.73,1111.11

y así en JSON:

[
  {
    "order_id": 100000,
    "date": "2025-11-30",
    "country": "Brazil",
    "product": "Water bottle",
    "quantity": 6,
    "unit_price": 158.35,
    "total": 950.1
  },
  ...
]

Peso del archivo

Las mismas 100 000 filas en cada formato
  • XLSXguardado por Excel4,5 MB
  • CSV5,0 MB
  • JSONcompacto12,4 MB
  • JSONcon sangría17,0 MB

Pesos en megabytes (MiB). JSON repite el nombre de cada columna en cada fila, por eso pesa dos veces y media lo que CSV.

Un archivo de Excel es un archivo ZIP de documentos XML, así que llega ya comprimido, y Excel guarda cada texto distinto una sola vez en una lista compartida. Eso lo hace un poco más ligero que el CSV aquí. JSON es con diferencia el más pesado: cada fila repite "order_id", "date" y las demás claves, y la sangría añade más de un tercio encima.

El panorama cambia cuando los archivos se comprimen, como ocurre en tránsito cuando un servidor web los envía con gzip:

FormatoPesoCon gzip
CSV5,03 MB1,36 MB
JSON, compacto12,37 MB1,63 MB
JSON, con sangría16,95 MB1,72 MB
XLSX, guardado por Excel4,46 MBya comprimido
Las claves repetidas son justo lo que elimina la compresión, así que el JSON comprimido solo pesa un 20 % más que el CSV comprimido.

Velocidad de lectura

El peso importa menos de lo que parece con una conexión moderna. Lo rápido que un programa convierte el archivo de nuevo en filas importa más cuando los datos son grandes. Volvimos a leer cada archivo con las bibliotecas que usan nuestras herramientas de datos, tomando la mediana de cinco ejecuciones:

FormatoLectura en filasBiblioteca
JSON, compacto0,12 sJSON.parse, integrado en JavaScript
CSV0,47 sPapa Parse
XLSX10,2 sSheetJS
Node.js en una computadora de escritorio. El propio Microsoft Excel abrió el CSV en 1,5 s y el archivo XLSX en 2,1 s.

JSON gana en el código porque cada lenguaje trae un analizador nativo rápido y los tipos vienen incluidos. CSV necesita un analizador que maneje las comillas y convierta el texto en números. Fuera de Excel, XLSX es con diferencia el más lento: el programa tiene que descomprimir el archivo, analizar un documento XML grande y resolver los textos compartidos y los estilos. Si un script o una aplicación web tiene que leer tablas grandes a menudo, XLSX es el formato equivocado para dárselo.

Qué puede contener cada formato

CSVXLSXJSON
Tipos de datosSolo textoNúmeros, texto, fechas, booleanosNúmeros, texto, booleanos, null
Varias tablasNo, una por archivoSí, como hojasSí, como objetos anidados
Datos anidadosNoNoSí
Fórmulas y formatoNoSíNo
Límite de filasNinguno1 048 576 filasNinguno
Legible en un editor de textoSíNoSí
Se abre en ExcelSí, con cuidadoSíCon Power Query o un conversor

Dónde falla CSV

CSV parece el formato más sencillo, y es precisamente su falta de reglas lo que causa más problemas. Los mismos fallos aparecen una y otra vez:

  • Desaparecen los ceros a la izquierda. Los códigos postales, los códigos de producto y los números de teléfono como 02134 se convierten en 2134 cuando una hoja de cálculo supone que son números.
  • Los números largos pierden dígitos. Excel conserva 15 dígitos significativos, así que un número de tarjeta o de cuenta de 16 dígitos cambia su último dígito sin avisar.
  • Las fechas se reinterpretan. 03/04/2025 es el 3 de abril en casi todo el mundo y el 4 de marzo en Estados Unidos, y las hojas de cálculo convierten esos valores al abrir el archivo. Las fechas ISO como 2025-04-03 evitan las conjeturas.
  • El separador depende del país. Donde la coma es el separador decimal, como en España o en gran parte de Sudamérica, Excel espera punto y coma entre los campos, así que un archivo separado por comas se abre como una sola columna larga.
  • Los acentos se convierten en símbolos. Excel solo lee correctamente un CSV en UTF-8 si el archivo empieza con una marca de orden de bytes (BOM). Sin ella, «Café» puede verse como «Café».
  • Las comas dentro de los valores deben ir entre comillas, y las comillas dentro de un valor entrecomillado, duplicadas. El CSV hecho a mano suele fallar en esto.

Nada de esto ocurre con XLSX o JSON, que guardan los tipos de forma explícita. Con CSV, el hábito más seguro es abrirlo desde la pantalla de importación de Excel (Datos, Desde el texto/CSV), donde puedes fijar el tipo de cada columna, en lugar de hacer doble clic en el archivo.

Cuál usar

  • Enviar una tabla a una persona que la va a mirar, ordenar o añadirle fórmulas: XLSX. Conserva los tipos y el formato y se abre correctamente en cualquier lugar con Excel, Google Sheets, Numbers o LibreOffice.
  • Intercambiar datos entre sistemas, importarlos a una base de datos o archivar datos planos: CSV, con codificación UTF-8, fechas ISO y una fila de encabezado. Es universal, compacto y legible dentro de décadas.
  • Datos para una aplicación web o una API, o cualquier cosa con estructura anidada: JSON. Es el formato nativo de JavaScript y el más rápido de leer en código.

Convertir entre ellos suele ser la parte fácil. Nuestro conversor de Excel y CSV convierte XLSX, XLS y ODS en CSV o JSON hoja por hoja y crea archivos de Excel a partir de CSV, TSV o JSON, el visor de CSV abre archivos CSV grandes con ordenación y filtros, y el conversor de datos pasa entre JSON, CSV, YAML y XML. Todos funcionan en el navegador, así que los datos nunca salen de tu dispositivo.

Preguntas y respuestas

¿Pesa menos CSV o Excel?

En nuestra prueba, un archivo de Excel guardado por Excel pesó algo menos (4,5 MB) que los mismos datos en CSV (5,0 MB), porque XLSX está comprimido por dentro. Comprimido, el CSV pesaría mucho menos (unos 1,4 MB con gzip).

¿Por qué Excel quita los ceros al principio de mis números?

Excel supone que la columna contiene números al abrir un archivo CSV. Importa el archivo desde Datos, Desde el texto/CSV y define esa columna como Texto, o guarda los datos en XLSX.

¿Se puede abrir JSON en Excel?

Sí, con Power Query (Datos, Obtener datos, Desde un archivo, Desde JSON), o convirtiéndolo antes a CSV o XLSX. Las listas planas de objetos se convierten sin problemas; los datos anidados hay que aplanarlos en columnas.

¿Cuántas filas puede abrir Excel?

Una hoja de Excel admite como máximo 1 048 576 filas y 16 384 columnas. Los archivos CSV más grandes se abren solo en parte, así que usa un visor que lea el archivo por partes o divídelo.

Herramientas de este artículo

Más del blog

Datos5 min de lectura

Corrección de errores y tamaño del código QR: L, M, Q y H probados

Una corrección de errores más alta permite que un código QR resista daños, pero también lo hace más denso. Generamos códigos para cuatro tipos comunes de contenido en cada nivel y los tapamos poco a poco hasta que dejaron de leerse.

Datos5 min de lectura

Las marcas de tiempo Unix, explicadas

Una marca de tiempo Unix es solo un conteo de segundos, y sin embargo causa un flujo constante de errores. Qué cuenta, cómo distinguir segundos de milisegundos de un vistazo, qué pasa con las zonas horarias y los segundos intercalares, y por qué importa 2038.

Esc