Skip to content

Convert CSV to Excel

Turn CSV files into a proper XLSX workbook: numbers and dates you can sum and sort, ZIP codes and long IDs left exactly as written, and a bold, frozen, filterable header row.

  • Never stored
  • No queue, no waiting
  • No signup, no watermark

How it works

1

Add CSV files

Drop one or more .csv, .tsv or .txt files, or paste the data. Several files become sheets of one workbook.

2

Check the preview

The delimiter and encoding are detected for you, and every column shows the type it will get. Change anything you like.

3

Download

An .xlsx workbook that opens in Excel, Google Sheets, Numbers and LibreOffice.

How a column gets its type

A column is examined as a whole and given one type, and several specific shapes force it back to text no matter what the rest of the column looks like. Any value with a leading zero on more than one digit does it. So does any number carrying more than fifteen significant digits, which is the point past which a digit would be lost rather than displayed differently. So does anything beginning with a plus followed by seven or more digits, because that is a phone number and not a quantity. Mixing two currency symbols in one column does it, as does mixing decimal marks, and so does a date earlier than 1900, which Excel's own calendar cannot hold. Each of those decisions is named in the preview with the reason, so you can see why a column stayed text rather than wonder.

Dates are resolved per column rather than per cell. Values above twelve settle whether the file is writing day first or month first; if none of them do, the other columns vote, then your own setting, then day first. A column mixing the two orders is refused and kept as text rather than guessed at, which is the case where a wrong guess would be invisible. Two-digit years follow Excel's own rule, where anything under thirty is this century. Only the literal words true and false become real booleans — yes and no, Y and N, and 1 and 0 are left exactly as they are, because each of those means something else in some file somewhere.

Values that do not fit their column's type are written back as the original text rather than blanked, and the tokens that usually mean "missing" — NA, N/A, null, nil, none, a bare dash or question mark, and Excel's own error texts — do not break a typed column when they appear in it. Every text cell is written as text by its cell type, not by a leading apostrophe, so a field starting with an equals sign is inert in the workbook rather than merely disguised. If any of that is wrong for your file, individual columns can be pinned to text in the preview before you download.

When you want something else

This path runs on the page — it yields often enough to keep the tab responsive, and it has no file-size ceiling, which together mean a genuinely large CSV will make your fan audible before it makes an error. For a file in the hundreds of megabytes, or a conversion that happens every night, csvkit's in2csv and LibreOffice in headless mode both do this from a script, and neither needs the browser to hold the whole table.

The harder question is whether an .xlsx is the right destination. A workbook is where a person reads and edits data, and every hour spent making the types come out right is wasted if the file is only going to be read by code — in which case keep the CSV, or convert it once into Parquet or JSON Lines, and let the consumer declare the schema rather than infer it from the values. Type inference is a good guess made carefully; a schema is not a guess at all.

Frequently asked questions

Why not just open the CSV in Excel?

Excel guesses every cell on its own: ZIP codes lose their leading zero, 16-digit IDs turn into 1.23457E+15, gene names like SEPT2 become dates, and a semicolon file lands in a single column. This converter decides once per column, from all of its values, and converts only when the whole column agrees.

How are dates recognised?

Column by column. 15/03/2024 and 03/15/2024 are told apart by the other dates in the same column; ISO dates, times and month names are recognised too. Dates become real Excel dates, displayed in the order you wrote them. If a column is truly ambiguous, choose day-first or month-first yourself.

My file uses semicolons and decimal commas.

Detected automatically: 9,8 becomes the number 9.8 and 1.234,56 becomes 1234.56. You can also set the delimiter and the decimal separator by hand.

Which character encodings work?

UTF-8 and UTF-16 are detected, and files saved by older Windows programs — Western and Central European, Cyrillic, Greek, Turkish, Hebrew, Arabic, Japanese, Chinese and Korean — are recognised or can be chosen, so ą, ß, Ж and 日本 come out right.

Is my data stored anywhere?

No. The file is read and the workbook written here; nothing is sent anywhere and nothing is stored.

Can a CSV run formulas when the workbook is opened?

No. A cell that starts with = is stored as text, never as a formula, so a hostile CSV cannot execute anything in Excel. Switch off type detection and every cell is kept exactly as text.

Good to know: An Excel sheet holds at most 1,048,576 rows; longer files continue on extra sheets with the header repeated. Very large files (hundreds of MB) are limited by your device's memory.

Put this tool on your website

Free for any blog, class page or help article. Paste one snippet and your visitors can use it right on your page.