← All guides

How to Convert a CSV to Excel (XLSX) and Back

datacsvexcelxlsxspreadsheet

CSV files are simple, universal, and great for moving data between systems. They’re also miserable to read in their raw form, and Excel has a long history of mangling them on import — turning phone numbers into scientific notation, dates into the wrong format, and merging all your columns into one. The fix is to convert properly, not to fight Excel’s import dialog.

Here’s the no-nonsense way.

The fastest path: convert in your browser

Use the CSV to XLSX converter. Drop in your CSV, click convert, get back a proper Excel file where columns are columns, numbers are numbers, and dates look right.

The flow:

  1. Open the CSV to XLSX tool
  2. Drag in your .csv file
  3. The tool parses the CSV (auto-detecting delimiter, quoted strings, etc.)
  4. Click convert
  5. Download the resulting .xlsx

The result opens cleanly in Excel, Google Sheets, LibreOffice Calc, Numbers, and any other modern spreadsheet app. No “Text Import Wizard” needed.

Why does Excel mess up CSVs?

A few reasons that bite people constantly:

1. Long numbers turning into “1.23E+11”. Excel auto-detects columns as numeric and converts long integer strings (16-digit credit card numbers, 13-digit phone numbers, 12-character SKUs that happen to be all digits) into scientific notation. The original value is lost — you can’t get back “1234567890123” once Excel has decided it’s 1.234567890123 × 10^12.

2. Leading zeros stripped. A zip code stored as “01234” gets imported as the number 1234, losing the leading zero. Same problem with country codes, product codes, anything with a meaningful leading zero.

3. Date guessing. Excel sees “01/02/2026” and decides whether that’s January 2nd or February 1st based on your system locale. Sometimes guesses right; sometimes catastrophically wrong on data that’s then sorted and joined to other datasets.

4. Delimiter confusion. A CSV with commas in some values (like addresses: “123 Main St, Suite 5”) needs proper quoting to distinguish field delimiters from in-field commas. If Excel doesn’t see the quotes (some “CSV” files are actually tab-delimited or semicolon-delimited), the columns get mangled.

5. Encoding issues. UTF-8 CSVs with non-ASCII characters (accented letters, emoji, foreign scripts) display as garbage if Excel reads them as Windows-1252 instead. “Café” becomes “Café”, and people’s names get mangled.

Converting to XLSX bakes in the type information for each column — what’s text, what’s a number, what’s a date — so the resulting file opens cleanly without Excel guessing.

Going the other way — XLSX to CSV

Same direction, opposite need: when you need to feed data into a script, a database import, a system that wants plain text, you convert XLSX to CSV.

Use the XLSX to CSV converter. Drop in the Excel file, get back CSV — UTF-8 encoded, comma-delimited, properly quoted.

Common uses:

  • Exporting data from Excel for a Python/R/JavaScript script to process
  • Loading data into a database via \COPY or LOAD DATA INFILE
  • Posting CSV to an API endpoint that wants tabular data
  • Diffing data changes (CSVs play nicely with Git; XLSX files don’t)
  • Archiving spreadsheets in a format that’ll be readable in 20 years

The conversion preserves cell values (text, numbers, dates as the underlying value) and strips formatting (colors, fonts, formulas → computed values). For most data-processing uses, that’s exactly what you want.

What if my XLSX has multiple sheets?

CSV is a single-sheet format. When you convert an XLSX with multiple sheets, you have a few options depending on what the tool offers:

  • Convert each sheet to a separate CSV file — the default approach. Output is a zip containing one .csv per sheet.
  • Convert just the active sheet — useful when the other sheets are reference / non-data.
  • Pick which sheet to convert — manual selection.

The XLSX to CSV tool handles this. If your workbook has multiple sheets, you’ll see the option to pick one or convert all.

Common CSV gotchas (worth knowing whichever direction you’re going)

Quotation marks inside values. A CSV that contains values like He said "hello" needs to escape the inner quotes (typically by doubling them: "He said ""hello"""). Tools that don’t handle this correctly will break the parse on that row.

Newlines inside values. Multi-line cells (like a “comments” column containing whole paragraphs) only work in CSV if the cell is wrapped in quotes. Spreadsheet apps handle this fine; some lightweight CSV parsers don’t.

Trailing whitespace. A column called ” Name” with a leading space is different from “Name”. CSVs preserve whitespace literally; you may want to clean it before processing.

BOM (byte-order mark). Some CSV exports include a UTF-8 BOM (\xEF\xBB\xBF) at the start of the file. Excel respects it as a UTF-8 hint; some scripts read it as a literal 3 characters in the first column header. If your first column header looks weird, the BOM may be there.

Empty trailing rows. Saving an Excel sheet to CSV often produces extra blank rows at the end if any cells in those rows were formatted (even if empty). Some import tools choke on these.

The CSV to XLSX and XLSX to CSV tools handle all these gotchas — proper quoting, BOM preservation, whitespace handling, multi-sheet support. Use them and the round-trip “just works.”

Working with very large files

Browser-based conversion has a memory ceiling. Approximate working sizes:

  • CSV → XLSX: comfortable up to ~100k rows, slower at 500k, problematic over 1M
  • XLSX → CSV: comfortable up to ~500k rows in a single sheet

For larger datasets, command-line tools (Python with pandas, R with readr, the csvkit package) handle hundreds of millions of rows without trouble. For everyday CSV/XLSX conversion under a few hundred thousand rows, browser tools are perfectly adequate.

When to use Google Sheets instead

Google Sheets opens CSVs without the typical Excel mangling — it imports as plain text by default and lets you type-convert columns explicitly. If you have a problematic CSV that Excel keeps ruining, opening it in Sheets first (File → Import) and re-exporting as XLSX is sometimes the cleanest fix.

The downside: it requires uploading the file to Google’s servers, which may not be acceptable for sensitive data. For private data, browser-based conversion is preferable.

Privacy

The CSV and XLSX converters run entirely in your browser:

  • The file is parsed in JavaScript using SheetJS (the same library Microsoft uses in some of their own products)
  • No upload to a server, no copy of your data anywhere outside your machine
  • The resulting download is generated locally

This matters for:

  • Financial spreadsheets (transaction history, tax exports, budget files)
  • Customer/employee data (any kind of PII)
  • Internal business spreadsheets you’d rather not have transit a third-party server
  • Anything regulated (HIPAA-adjacent data, financial records, etc.)

Most “free” online CSV converters upload your file to a server, process there, and serve back the result. With browser-based conversion, the data never moves.

TL;DR

  • Need to open a CSV in Excel cleanlyCSV to XLSX — preserves leading zeros, prevents scientific notation on long numbers, handles encoding correctly
  • Need a CSV from an Excel fileXLSX to CSV — UTF-8, proper quoting, supports multi-sheet workbooks
  • For very large files (1M+ rows), use desktop scripts (Python pandas, R readr) instead
  • For sensitive data, browser-based conversion keeps everything on your machine