Menu

How to Convert Excel (XLSX) to CSV Without Excel

7 min readPublished Updated

Someone sends you an .xlsx file, but the thing you're feeding it into — a database import, a Python script, a CRM uploader, an old accounting system — wants CSV. And you don't have Excel, or you're on a machine where you can't install it.

The good news: XLSX to CSV conversion needs nothing from Microsoft. Here's every practical route, plus the encoding and formatting traps that silently corrupt data during this exact conversion.

What actually changes between XLSX and CSV

An XLSX file is a ZIP archive of XML documents (the Office Open XML format) describing worksheets, formulas, formatting, charts, and metadata. A CSV is a plain text file: one row per line, values separated by commas. That gap means conversion is inherently lossy — and knowing what's lost prevents surprises:

  • Only one sheet survives: CSV has no concept of multiple worksheets. A workbook with five sheets needs five CSV files.
  • Formulas become their current values: =SUM(A1:A10) exports as whatever it last evaluated to.
  • All formatting disappears: colors, borders, column widths, merged cells, conditional formatting — gone.
  • Data types flatten to text: dates and numbers export as they're displayed, which is where most real-world corruption happens (more below).

None of this is a flaw — it's the point. CSV's simplicity is why every database, script, and import wizard on Earth accepts it.

Method 1: Convert in your browser (no install, no upload)

  1. 1

    Open FileMorf's converter and switch to the document tab

    The document converter handles XLSX, ODS, CSV, and other tabular formats — no account needed.

  2. 2

    Drop in your .xlsx file

    The spreadsheet is parsed locally in your browser. Unlike upload-based converter sites, the file never leaves your device — relevant when the spreadsheet is a customer list or financial data.

  3. 3

    Choose CSV as the output and download

    You get a clean UTF-8 CSV ready for imports, scripts, or databases.

Methods 2–4: Google Sheets, LibreOffice, and the command line

Three other free routes, each with a legitimate niche:

  • Google Sheets (any browser): upload the XLSX to Google Drive, open with Sheets, then File → Download → Comma Separated Values. Exports the active sheet only. Works anywhere, but note you are uploading the data to Google — fine for most files, a policy question for confidential ones.
  • LibreOffice Calc (Windows/Mac/Linux, free): open the file and Save As → Text CSV. Its export dialog exposes delimiter, quoting, and encoding options Excel itself hides — genuinely the most control of any GUI method. The suite is a ~350 MB install.
  • Command line for batches: LibreOffice headless converts entire folders (soffice --headless --convert-to csv *.xlsx), and csvkit's in2csv (Python) is ideal in data pipelines — in2csv data.xlsx > data.csv, with a --sheet flag for specific worksheets.
XLSX to CSV options at a glance
MethodInstallData stays localBatch-friendly
FileMorf document converterNoYes — parsed in browserOne file at a time
Google SheetsNoNo — uploaded to GoogleNo
LibreOffice CalcYes (~350 MB)YesVia command line
in2csv (csvkit)Yes (Python)YesYes — scriptable

The traps: encoding, delimiters, and mangled data

Most 'the conversion broke my data' reports trace back to four well-known traps:

  • Encoding: accented characters (é, ü, ñ) or non-Latin text turning into garbage means an encoding mismatch. Export as UTF-8. Ironically, Excel itself misreads plain UTF-8 CSVs unless they start with a BOM (byte order mark) — if your CSV's consumers include Excel users, prefer 'CSV UTF-8' style output.
  • Regional delimiters: in much of Europe, the decimal separator is a comma, so 'CSV' files locally use semicolons as field separators. If your target system expects commas and gets semicolons (or vice versa), every row lands in one column.
  • Leading zeros: ZIP codes, phone numbers, and product IDs like 00420 survive the conversion as text — the mangling usually happens later, when the CSV is re-opened in a spreadsheet app that 'helpfully' parses them as numbers. The same is true of the infamous gene-name-to-date bug: it's a re-import problem, not a conversion problem.
  • Dates: CSV stores dates as displayed text. If the sheet displays 03/04/2026, is that March 4 or April 3? For machine consumption, reformat date columns to ISO (2026-04-03) before exporting — future you will be grateful.

Always spot-check the output

Open the CSV in a plain text editor — not a spreadsheet — and check a few rows: the header, a row with special characters, a date, and an ID with leading zeros. Thirty seconds of inspection catches every trap above before it reaches your database.

Going the other way, and other tabular conversions

The reverse trip — CSV to a formatted spreadsheet — is just as common, and the same tools handle it. FileMorf's document converter also covers the neighboring conversions that show up in data work: CSV to JSON for APIs, JSON to CSV for flattening exports, XML to CSV for legacy feeds, and CSV to PDF when someone upstream wants something printable. All of it runs client-side in the browser.

Free Tool

Convert XLSX, CSV & more free

Spreadsheet and data conversions that run in your browser — XLSX, ODS, CSV, JSON, XML, and more, with no uploads.

Frequently asked questions

Can I convert XLSX to CSV without uploading my data anywhere?

Yes. FileMorf parses the spreadsheet inside your browser, so the file never leaves your device; LibreOffice and command-line tools are fully offline. Google Sheets and most 'free online converter' sites, by contrast, process your data on their servers.

How do I convert a workbook with multiple sheets?

CSV can only represent one sheet, so each worksheet must be exported separately. For many workbooks, a scriptable tool is fastest: in2csv --sheet 'SheetName' data.xlsx, or LibreOffice headless in a loop.

Why do my accented characters look like é after converting?

That's UTF-8 text being read as Latin-1/Windows-1252 (or the reverse). Export as UTF-8, and if the file will be opened in Excel, use an export that includes a UTF-8 BOM so Excel detects the encoding correctly.

Does converting to CSV remove Excel formulas?

It replaces them with their last calculated values — the formula logic itself isn't stored in CSV. If you need the formulas preserved, keep the XLSX as the source of truth and treat CSVs as disposable exports.

Keep Reading