Cómo convertir XLSX a CSV: 6 métodos probados

CSV (valores separados por comas) es el formato universal de intercambio de datos. A diferencia de XLSX, funciona con cualquier lenguaje de programación, base de datos y sistema operativo sin necesidad de librerías especiales. Esta guía cubre seis formas de convertir hojas de cálculo de Excel a CSV — desde herramientas online de un clic hasta flujos de trabajo por lotes con scripts — y cómo resolver los problemas más habituales: errores de codificación, conflictos de delimitadores y libros con varias hojas.

Convertir XLSX a CSV online

Sube tu archivo Excel y descarga el CSV al instante

XLSX CSV

Toca para elegir tu archivo

o

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Subida cifrada por HTTPS. Los archivos se eliminan automáticamente en 2 horas.

XLSX vs CSV: qué cambia

Antes de convertir, comprende qué conserva el CSV y qué descarta:

Característica XLSX CSV
Valores de celda (texto, números)
FórmulasSí (almacenadas)No (solo valores calculados)
Formato (negrita, colores)No
Varias hojasNo (una hoja por archivo)
Gráficos e imágenesNo
Tipos de datos (fechas, moneda)Sí (celdas tipadas)Solo texto plano
Tamaño del archivo (1000 filas)~50–200 KB~10–50 KB
Compatibilidad universalRequiere Excel/lectorCualquier editor de texto

Si solo necesitas los datos sin formato — para importar en una base de datos, análisis de datos o compartir entre plataformas — CSV es la elección correcta. Si necesitas conservar el formato, las fórmulas o varias hojas, mantén el formato XLSX.

Método 1: Convertidor online (CleverUtils)

El método más rápido. No requiere instalar software y funciona en cualquier dispositivo con navegador.

  1. Ve a cleverutils.com/xlsx-to-csv
  2. Haz clic en Elegir archivo XLSX o arrastra y suelta tu hoja de cálculo
  3. Haz clic en Convertir
  4. Descarga el archivo CSV resultante

Ideal para: conversiones puntuales rápidas. Sin instalación. Los archivos se cifran durante la subida y se eliminan automáticamente en 2 horas.

Método 2: Microsoft Excel

Si ya tienes Excel instalado, puedes exportar directamente:

  1. Abre el archivo .xlsx en Excel
  2. Si el libro tiene varias hojas, haz clic en la pestaña de la hoja que quieres exportar
  3. Ve a Archivo → Guardar como (o Archivo → Guardar una copia en versiones recientes)
  4. En el desplegable “Tipo”, selecciona CSV (delimitado por comas) (*.csv)
  5. Elige la ubicación de guardado y haz clic en Guardar
  6. Excel advertirá que algunas características no son compatibles con CSV — haz clic en para continuar

Excel ofrece varias variantes de CSV en el cuadro de diálogo Guardar como:

Opción Codificación Delimitador Ideal para
CSV (delimitado por comas)Predeterminado del sistema (a menudo Windows-1252)ComaDatos en inglés (EE. UU./Reino Unido)
CSV UTF-8 (delimitado por comas)UTF-8 con BOMComaCaracteres internacionales
CSV (Macintosh)Mac RomanComaApps heredadas de macOS
CSV (MS-DOS)Página de códigos OEM/DOSComaProgramas heredados de DOS

Consejo: Elige siempre CSV UTF-8 si tus datos contienen caracteres acentuados, texto CJK o cualquier símbolo no ASCII. El “CSV (delimitado por comas)” simple usa una codificación dependiente de la configuración regional que puede corromper caracteres especiales en otros sistemas.

Método 3: Google Sheets

Gratuito y disponible en cualquier plataforma con navegador:

  1. Abre sheets.google.com y sube tu archivo XLSX (Archivo → Abrir → Subir)
  2. Google Sheets importa el libro y conserva la mayor parte del formato visualmente
  3. Selecciona la pestaña de la hoja que quieres exportar
  4. Ve a Archivo → Descargar → Valores separados por comas (.csv)
  5. La hoja actual se descarga como un archivo .csv

Google Sheets siempre exporta CSV en codificación UTF-8, que es la opción más segura para datos internacionales. El delimitador es siempre una coma, independientemente de la configuración regional.

Método 4: LibreOffice Calc

LibreOffice es gratuito, de código abierto y está disponible en Windows, macOS y Linux. Te ofrece el mayor control sobre la configuración de exportación a CSV.

  1. Abre el archivo .xlsx en LibreOffice Calc
  2. Ve a Archivo → Guardar como
  3. Selecciona Texto CSV (.csv) como formato
  4. Haz clic en Usar formato de texto CSV cuando se te solicite
  5. En el cuadro de diálogo de exportación, configura:
    • Conjunto de caracteres: Unicode (UTF-8)
    • Separador de campos: coma , (o punto y coma, tabulador)
    • Separador de texto: comillas dobles "
  6. Haz clic en Aceptar

Conversión por lotes desde la línea de comandos

LibreOffice admite el modo sin interfaz gráfica (headless), lo que lo hace ideal para el procesamiento por lotes:

Bash
# Convertir un solo archivo
libreoffice --headless --convert-to csv report.xlsx

# Convertir todos los archivos XLSX del directorio actual
libreoffice --headless --convert-to csv *.xlsx

# Especificar directorio de salida
libreoffice --headless --convert-to csv --outdir ./csv-output/ *.xlsx

Nota: El modo headless de LibreOffice solo exporta la primera hoja. Para libros con varias hojas, usa un script de Python (Método 5) o convierte cada hoja manualmente.

Método 5: Python (pandas)

Python con la librería pandas es la mejor opción para conversiones automatizadas, repetibles o por lotes. Gestiona libros con varias hojas, codificación y delimitadores personalizados de forma nativa.

Conversión básica

Python
import pandas as pd

# Leer la primera hoja y guardar como CSV
df = pd.read_excel("report.xlsx")
df.to_csv("report.csv", index=False, encoding="utf-8-sig")

Convertir todas las hojas en archivos CSV separados

Python
import pandas as pd

xlsx = pd.ExcelFile("workbook.xlsx")

for sheet_name in xlsx.sheet_names:
    df = pd.read_excel(xlsx, sheet_name=sheet_name)
    filename = f"{sheet_name}.csv"
    df.to_csv(filename, index=False, encoding="utf-8-sig")
    print(f"Guardado {filename}")

Conversión por lotes de múltiples archivos XLSX

Python
import pandas as pd
from pathlib import Path

for xlsx_file in Path(".").glob("*.xlsx"):
    df = pd.read_excel(xlsx_file)
    csv_file = xlsx_file.with_suffix(".csv")
    df.to_csv(csv_file, index=False, encoding="utf-8-sig")
    print(f"{xlsx_file}{csv_file}")

Instalación: pip install pandas openpyxl — el motor openpyxl es necesario para leer archivos .xlsx. pandas lo usa automáticamente cuando está instalado.

Método 6: Herramientas de línea de comandos

Para entornos de servidor, pipelines de CI/CD o flujos de trabajo con scripts donde no puedes abrir una interfaz gráfica.

ssconvert (Gnumeric)

Un conversor de hojas de cálculo ligero por línea de comandos incluido con Gnumeric:

Bash
# Instalar en Ubuntu/Debian
sudo apt install gnumeric

# Convertir un solo archivo
ssconvert report.xlsx report.csv

# Exportar todas las hojas (crea report.csv.0, report.csv.1, etc.)
ssconvert -S report.xlsx report.csv

# Conversión por lotes de todos los archivos XLSX
for f in *.xlsx; do ssconvert "$f" "${f%.xlsx}.csv"; done

csvkit (in2csv)

Un conjunto de herramientas basado en Python diseñado específicamente para operaciones con CSV:

Bash
# Instalar
pip install csvkit

# Convertir (primera hoja por defecto)
in2csv report.xlsx > report.csv

# Especificar una hoja por nombre
in2csv --sheet "Sales Q4" report.xlsx > sales-q4.csv

# Listar todos los nombres de hoja
in2csv --names report.xlsx

Problemas frecuentes y cómo resolverlos

Problemas de codificación (caracteres ilegibles)

El problema más habitual. Los caracteres acentuados (é, ü, ñ), el texto CJK o símbolos como aparecen como é, ??? u otro texto ilegible.

Causa raíz: el CSV se guardó con una codificación pero se abrió con otra. Excel en Windows usa por defecto la página de códigos local (p. ej., Windows-1252 para Europa occidental), no UTF-8.

Solución:

  • Guarda siempre como UTF-8 con BOM (marca de orden de bytes). El BOM indica a Excel y otras aplicaciones que el archivo está en UTF-8.
  • En Python: usa encoding="utf-8-sig" (UTF-8 con BOM) en lugar de encoding="utf-8"
  • Al abrir un CSV en Excel: usa el asistente de importación Datos → Desde texto/CSV, que te permite seleccionar la codificación antes de importar

Conflictos de delimitadores

Algunas configuraciones regionales europeas usan punto y coma (;) en lugar de comas como delimitador de CSV, porque la coma se usa como separador decimal en esas regiones (p. ej., 1.234,56 en alemán).

Síntomas: todos los datos aparecen en una sola columna al abrir en Excel, o los valores numéricos se dividen entre columnas.

Solución:

  • Comprueba tu configuración regional: los usuarios de Windows con regiones en alemán, francés o italiano pueden necesitar punto y coma
  • En Python: df.to_csv("file.csv", sep=";") para salida delimitada por punto y coma
  • En LibreOffice: establece el delimitador de campos explícitamente durante la exportación
  • Al importar: usa el asistente de importación de texto y especifica el delimitador correcto

Libros con varias hojas

El formato CSV admite exactamente una hoja por archivo. Al convertir un libro XLSX con varias hojas, la mayoría de las herramientas exportan solo la primera hoja (activa).

Solución:

  • Exporta cada hoja por separado usando el script Python de varias hojas anterior
  • Usa ssconvert -S, que crea automáticamente archivos CSV numerados para cada hoja
  • En Excel o Google Sheets, cambia manualmente de pestaña y exporta cada una

Formato de fechas y números

Las fechas y los números pueden cambiar al convertir a CSV porque CSV no tiene concepto de tipos de datos. Una fecha como 2026-03-24 puede convertirse en 46108 (número de serie de Excel) o 3/24/2026 (formato dependiente de la región).

Solución:

  • Formatea las columnas de fecha como texto en el formato deseado antes de exportar (p. ej., YYYY-MM-DD para ISO 8601)
  • En Python: df.to_csv(..., date_format="%Y-%m-%d")
  • Para números, elimina los separadores de miles y asegura un formato decimal consistente

¿Qué método debes usar?

Método Velocidad Varias hojas Control de codificación Por lotes Ideal para
CleverUtilsInstantáneoPrimera hojaAuto (UTF-8)NoConversiones puntuales rápidas
ExcelRápidoManual por hoja4 opcionesNoUsuarios de escritorio con Excel instalado
Google SheetsMedioManual por hojaSolo UTF-8NoChromebook / sin app de escritorio
LibreOfficeRápidoPrimera hoja (CLI)Control totalSí (CLI)Usuarios de Linux, lotes por CLI
PythonRápidoTodas las hojasControl totalDesarrolladores, automatización
CLI (ssconvert)RápidoTodas las hojas (-S)UTF-8 por defectoServidores, pipelines de CI/CD

¿Listo para convertir?

Convierte tu hoja de cálculo de Excel a CSV

XLSX CSV

Toca para elegir tu archivo

o

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Preguntas frecuentes

Sí. CSV es un formato de texto plano que almacena únicamente los valores de celda separados por comas. Todo el formato (negrita, colores, bordes, celdas combinadas), las fórmulas, los gráficos y las imágenes se eliminan durante la conversión. Solo se conservan los valores de texto y numéricos.

CSV admite solo una hoja por archivo. Debes exportar cada hoja como un archivo CSV separado. En Excel, selecciona cada hoja y guarda individualmente. En Python, recorre pd.ExcelFile().sheet_names y exporta cada una con to_csv(). En la línea de comandos, usa ssconvert -S para exportar todas las hojas a la vez.

Es un conflicto de codificación. El CSV se guardó con una codificación (p. ej., UTF-8) pero se abrió con otra (p. ej., Windows-1252). Guarda siempre los archivos CSV como UTF-8 con BOM para máxima compatibilidad. Al abrirlos en Excel, usa el asistente de importación Datos → Desde texto/CSV para seleccionar la codificación correcta.

Sí. Usa Python con pandas u openpyxl para convertir archivos en lote dentro de un bucle. En Linux o macOS, usa el modo headless de LibreOffice: libreoffice --headless --convert-to csv *.xlsx. También puedes usar ssconvert del conjunto de herramientas Gnumeric. Los tres métodos funcionan bien para conversiones programadas o masivas.

Volver al convertidor XLSX a CSV

Solicitar una función

0 / 2000