Convertidor de XLSX a CSV
Suelta un libro Excel y exporta cada hoja como CSV — individualmente o todas como .zip. Sin subida.
- Suelta un XLSX (o XLS / XLSM / ODS) o haz clic en "examinar".
- Elige una hoja del menú desplegable.
- Haz clic en "Convertir y descargar" para una hoja, o "Todas como .zip" para todo el libro.
- Salida es CSV RFC 4180 — UTF-8, separado por comas, escapado con comillas dobles cuando es necesario.
¿Qué hace?
Lee hojas Excel y OpenDocument vía SheetJS (fork Apache-2.0) y emite cada hoja como CSV usando sheet_to_csv de SheetJS. Los valores de celda se convierten a texto según el tipo nativo del libro — los números siguen siendo números, las fechas se renderizan en el formato de visualización del libro, las fórmulas usan sus valores calculados en caché. Gráficos, imágenes y formato condicional se descartan — CSV no puede representarlos.
Trampas comunes
XLSX → CSV es mayormente mecánico, pero algunos patrones producen salidas sorprendentes.
- Formato de fecha. Excel guarda las fechas como números seriales; el formato mostrado depende del formato numérico de la celda. El CSV usa lo que Excel renderice — `2026-04-26`, `4/26/2026`, o un número serial dependiendo de cómo esté configurada la celda. Para forzar ISO 8601, cambia el formato de celda en Excel antes de exportar.
- Resultados de fórmula vs. fórmulas. CSV no puede representar fórmulas. La salida usa el valor calculado en caché de cada celda al último guardado. Si el libro fue editado y no re-guardado, los valores en caché pueden estar desactualizados.
- Celdas combinadas. Las celdas combinadas emiten el valor en la esquina superior izquierda de la combinación; las otras celdas combinadas se vuelven vacías. Es el comportamiento por defecto de SheetJS y coincide con lo que esperan la mayoría de consumidores CSV.
- Números vs. texto. Excel guarda `00123` como el número 123 a menos que el tipo de celda sea explícitamente Texto. El CSV refleja el tipo subyacente. Para preservar ceros iniciales, formatea la celda como Texto en Excel antes de exportar.
- XLSX cifrado. SheetJS Community no descifra XLSX protegidos por contraseña. Abre el archivo en Excel, quita la protección, guarda, luego suelta aquí de nuevo.
- Libros muy grandes. Libros por encima de ~50 MB pueden tomar tiempo notable en parsearse y pueden estresar la memoria del navegador. Considera dividirlos en archivos más pequeños o usa SheetJS en línea de comandos para trabajos grandes.
Preguntas frecuentes
¿Por qué la primera conversión es lenta?
SheetJS pesa ~190 KB gzipped y se carga en la primera selección de archivo. Las conversiones siguientes en la misma sesión reutilizan el módulo en caché — instantáneas.
¿Se admiten archivos XLS (legados)?
Sí — SheetJS Community parsea .xls (BIFF8), .xlsx, .xlsm y .ods. Las variantes cifradas de cualquiera de estos no son soportadas.
¿El CSV usa el separador decimal de mi locale?
No — la salida siempre es RFC 4180 con `.` como punto decimal y `,` como separador de campo. Para obtener CSV estilo europeo separado por `;`, post-procesa la salida.
¿Mi libro se sube?
No. Todo se ejecuta en tu navegador — tu hoja de cálculo es parseada por SheetJS en esta página y nunca se envía a un servidor.
¿Cómo se exportan las fórmulas?
CSV no puede representar fórmulas. La salida usa el valor calculado en caché de cada celda. Si necesitas el texto de la fórmula, esa es una exportación diferente — abre el archivo en Excel y copia las columnas de fórmula por separado.
¿Por qué el CSV no coincide exactamente con lo que veo en Excel?
La capa de visualización de Excel aplica formato numérico, reglas condicionales y configuración de locale sobre el valor crudo. CSV es texto plano, así que parte de ese estilo visual se pierde intencionalmente. El contenido de la celda se preserva; la apariencia no.