Skip to content

Convert CSV to Excel (XLSX) online

Build a real .xlsx workbook from CSV or TSV with auto-fitted columns, a named sheet, an autofilter and proper number and boolean cell types.

  • Runs in your browser
  • Files are never uploaded
  • Free, no account
Workbook options
The .xlsx is generated by your browser — the data never leaves this device.

Up to 31 characters; : \ / ? * [ ] are replaced.

Enables the autofilter and frozen top row.

Off keeps every cell as text, preserving leading zeros.

Adds the sort and filter arrows to the header row.

CSV input

Workbook preview

Paste or drop a CSV and the sheet preview appears here.

How to convert CSV to an Excel workbook

  1. Paste the CSV or drop a .csv / .tsv file onto the left pane.
  2. Confirm the delimiter. Auto-detect handles commas, semicolons, tabs and pipes; the preview shows the resulting grid immediately.
  3. Name the sheet and decide whether the first row is a header.
  4. Click “Download .xlsx”. The workbook is written in your browser and saved straight to your downloads folder.

Why not just rename the file to .xlsx?

Because .xlsx is not a text format. It is a ZIP archive containing XML parts describing sheets, shared strings, styles and relationships. Renaming a CSV produces a file Excel refuses to open, or opens with a “the file format and extension don’t match” warning. This tool writes the real thing with SheetJS, so Excel, LibreOffice Calc, Numbers and Google Sheets all open it silently.

Problems this solves that a raw CSV does not

CSV problem What the workbook does instead
Everything lands in column A Columns are defined in the file, so the local list separator is irrelevant
Accents turn into mojibake XLSX is UTF-8 internally; no BOM guesswork
Every column is the same narrow width Widths are measured from the longest value and written into the file
Numbers arrive as text and will not sum Numeric cells are written with a numeric type
No way to filter or sort on open An autofilter is added to the header row

Keeping leading zeros and long identifiers

This is the classic spreadsheet data loss: postcodes such as 01234 become 1234, and a 16-digit account number becomes 4.91634E+15. Turn off Convert numbers and booleans and every cell is written as text, so those values arrive exactly as typed. With the option on, the converter still refuses to numerify anything with a leading zero or more than fifteen digits, because those are almost always identifiers rather than quantities.

Sheet naming rules

Excel allows at most 31 characters in a sheet name and forbids the characters : \ / ? * [ ]. Anything invalid is replaced with a space and the name is truncated before the file is written, so you never end up with a workbook Excel declines to open.

Delimiters and quoting

Parsing follows RFC 4180: a quoted field may contain the delimiter, line breaks and doubled quotes. That means multi-line addresses inside quotes stay in a single cell instead of spilling onto new rows — a common failure when a CSV is imported by a naive splitter.

Nothing leaves your device

The CSV is parsed and the workbook assembled entirely in this browser tab, then handed to the browser as an in-memory blob. There is no upload step, so contact lists, invoices and export dumps stay where they already are.

Questions

Is this a real .xlsx file or a renamed CSV?

A genuine Office Open XML workbook, written with SheetJS in your browser. Excel, LibreOffice, Numbers and Google Sheets all open it without a format warning.

Will my leading zeros survive?

Turn off “Convert numbers and booleans” to keep every cell as text, which preserves postcodes, phone numbers and product codes such as 007 exactly as typed.

Why are my columns already the right width?

The converter measures the longest value in each column and writes matching column widths into the file, so you do not have to double-click every divider.

Can I name the worksheet?

Yes. Excel limits sheet names to 31 characters and forbids : \ / ? * [ ], so anything invalid is replaced automatically before the file is written.