Your files never leave this device — 100% in-browser

CSV to Excel Converter

A real .xlsx workbook out of any CSV — parsed properly, typed carefully, built on your device.

Drop a CSV and download a genuine .xlsx workbook — not a renamed text file. Parsing uses a real RFC 4180 engine (quoted commas and line breaks survive), delimiters are auto-detected, and numbers are typed only when lossless, so "007" and "19.90" stay text instead of silently mutating. Nothing uploads.

Last verified 2026-08-15 — this tool passed 79 automated end-to-end checks

Drop a .csv file here, or click to browse
converts to XLSX · RFC 4180 parsing · real .xlsx output
01 — WHY NOT JUST OPEN IT?
Excel's CSV auto-import corrupts data: leading zeros vanish, long IDs become 1.23E+15, dates mangle. Building the sheet with types already decided sidesteps all of it.
02 — NO SIZE PAYWALL
The only browser-based competitor caps free conversion at 10 MB. Nothing uploads here, so there is nothing to meter.
03 — SAFE TYPING
A value becomes a number only if the conversion is perfectly reversible — product codes, zip codes and phone numbers stay text.

How to use

  1. Drop your file(s) into the box above — or click it to browse.
  2. Conversion starts immediately — no settings needed.
  3. Click Download on each finished file — or Download all (.zip) for a batch. Nothing was uploaded at any point.

The Excel-opens-CSV horror show, skipped

Opening a CSV directly in Excel triggers its aggressive auto-typing: 007 becomes 7, a 16-digit card number becomes 1.234E+15 with the last digits zeroed, MARCH1 (a real gene name) becomes a date. That data loss is silent and, once saved, permanent. Converting to .xlsx before Excel touches the data lets us decide the types: values are numeric only when the round trip is lossless, and everything else is written as text cells Excel will not reinterpret.

Parsing is the same RFC 4180 engine as our CSV → JSON converter — quoted fields, embedded commas and line breaks, semicolon/tab auto-detection, and legacy encodings (EUC-KR included) normalized to Unicode.

Typing rules (what lands in each cell)
CSV valueCell in .xlsx
42, -3.5Number
007, 1.10, 9007199254740993Text — coercion would alter them
"Seoul, Korea"Text with the comma intact
Cell with a line breakMulti-line text cell
a;b;c (European CSV)Semicolon auto-detected

When NOT to convert

  • The consumer is a program — scripts, imports and APIs parse CSV more reliably than xlsx; convert for humans, not machines.
  • Multi-hundred-MB exports — the in-memory limit here is 25 MB; beyond that use a desktop tool.
  • You need formulas or styling — this produces clean data cells; layouts and formulas are spreadsheet work, done after.

Frequently asked questions

Is this a real xlsx or a renamed CSV?

A genuine Open XML workbook (built with SheetJS, Apache-2.0) — typed cells, openable in Excel, Numbers, LibreOffice and Google Sheets.

Why did my numeric-looking code stay text?

Because converting it would change it — leading zeros, trailing decimal zeros, or precision beyond what doubles hold. That is deliberate protection, and exactly what Excel's auto-import gets wrong.

Is my data uploaded?

No — parsing and workbook building run in your browser. Verify in the network tab: zero upload requests.