csvkit.org
CSV (Comma-Separated Values) utilities, in the browser
Say hi →

CSV to Excel (.xlsx)

real .xlsx workbook · bold frozen header · numbers stay numeric · nothing uploaded

Turn a CSV into an actual Excel workbook instead of a file Excel merely tolerates. You get one sheet with a bold, frozen header row, column widths sized to the content, and plain numbers written as numbers so SUM works immediately. Leading-zero values like 007 and phone numbers stay text, which is exactly what Excel's own import wizard gets wrong.

csv → xlsx
Drop a .csv file here, or
ready

How to convert CSV to Excel

  1. Paste your CSV into the box, or drop a .csv file onto it.
  2. Name the sheet if you want something other than Sheet1 — that name also becomes the filename.
  3. Leave numbers as numbers on for spreadsheet maths; turn it off if every column must stay text.
  4. Click Download .xlsx and open the file in Excel, Numbers, LibreOffice, or Google Sheets.

Why not just rename the file to .xlsx?

Because .xlsx isn't text — it's a ZIP archive of XML parts. Renaming a CSV gives you a file Excel refuses or opens with a warning. This tool writes the real package: content types, workbook, worksheet, styles. It also sidesteps the two classic CSV-in-Excel annoyances: a semicolon-vs-comma locale mismatch (irrelevant here, since the delimiter is gone by the time Excel sees it) and silent number mangling of IDs like 0012 or 1-2.

What gets preserved

Going the other way? Use Excel to CSV. If you only need Excel to open a CSV cleanly without converting, Encoding & BOM adds the UTF-8 BOM Excel looks for.

FAQ

Is my file uploaded anywhere?

No. Parsing and ZIP-building both happen in your browser with JavaScript. The file never leaves your machine, and the page works offline once loaded.

Can I get multiple sheets in one workbook?

Not from this tool — it writes a single sheet per file. Convert each CSV separately, then drag the sheets into one workbook in Excel.

Why is my ID column now text instead of a number?

Deliberate. Values with leading zeros, plus signs, or separators are kept as text so Excel can't destroy them. Anything that is an unambiguous plain integer or decimal is written as a number.

How large a CSV can it handle?

Tens of megabytes is fine on a normal laptop; the whole file is held in memory while the ZIP is built. For very large exports, split the CSV first.

Privacy

100% client-side. No upload. See the privacy policy.