CSV to Excel Converter
Convert CSV files to Excel (.xlsx) instantly in your browser. Your file never leaves your device.
100% private
Your files are processed locally and never uploaded to our servers.
Convert CSV files to Excel (.xlsx) instantly in your browser. Your file never leaves your device.
100% private
Your files are processed locally and never uploaded to our servers.
The CSV to Excel converter on this page turns a .csv, .tsv or .txt file into a formatted .xlsx workbook inside your browser, keeping leading zeros and long IDs exactly as they appear in the file. Most people land here after double-clicking an export and watching Excel wreck it: a Shopify order export where Boston ZIP code 02134 became 2134, or an 18-digit order ID that now ends in 000. Excel does that on open, before you've touched a cell.
The converter keeps the values Excel would damage as text, exactly as typed, and turns plain numbers into real numbers. The ZIPs survive, and a Total column of plain numbers still adds up with SUM.
The converter types each value by what it looks like. Anything Excel would damage stays as text, exactly as typed.
| In the CSV | In the .xlsx |
|---|---|
| 1,234.50 | The number 1234.5 |
| 0.50 | A number, still displayed as 0.50 |
| 12.5% | 0.125, formatted as a percentage |
| 2026-03-04 | A real Excel date, formatted yyyy-mm-dd |
| 2026-02-30 | Text (the date doesn't exist) |
| 02134 | Text, and the whole column stays text |
| 123456789012345678 | Text, all 18 digits kept |
| 1-2, MAR1, 12E4 | Text, as typed |
| 03/04/2026 | Text (day and month order is unknown) |
| 1,5 in a semicolon file | 1.5 |
| 2.345,67 in a semicolon file | 2345.67 |
Numbers arrive as real numbers, so =SUM(D2:D18432) works the moment you open the file, with no green "number stored as text" triangles on those columns. ISO date-times like 2026-03-04 14:30 convert too.
Codes with leading zeros get one extra rule: it covers the whole column. If one ZIP in a column has a leading zero, every value in that column stays text. That matters more than it sounds: a column with 02134 as text sitting above 90210 as a number breaks lookups on half its rows.
The rest of the formatting is small but saves a minute of tidying. The first row gets bold text on a light green fill, but only when it's a row of text above other rows; a file that starts straight with data gets no header styling. The converter sizes each column to its longest value, somewhere between 12 and 50 characters wide.
The converter handles quoted fields fully. "Smith, John" stays in one cell, a doubled quote ("") becomes a literal quote mark, and a multi-line shipping address wrapped in quotes stays in one cell instead of spilling onto three rows. Windows, Unix and old Mac line endings all work, and the converter skips blank lines.
A file with more than 1,048,576 rows, Excel's per-sheet limit, continues on Sheet2, Sheet3 and so on, with the header row repeated at the top of each sheet. Opening that same CSV directly in Excel cuts it off at the limit.
When you double-click a CSV, Excel puts every cell in General format and guesses each value's type as if you had typed it. 02134 looks like a number, so the zero goes. MAR1 looks like a date and becomes 1-Mar. 12E4 reads as scientific notation and shows up as 1.20E+05. No warning appears.
Long numbers have two separate problems, and only one of them can be fixed.
The first is display. In General format, Excel shows a number of 12 or more digits in scientific notation, so 123456789012 appears as 1.23457E+11. The full value is still in the cell. Format the column as Number with 0 decimal places and it's back.
The second is real loss. Excel stores at most 15 significant digits, so 123456789012345678 becomes 123456789012345000 the instant the file opens. No format recovers the last three digits. Sixteen-digit card numbers and USPS tracking numbers both run past the limit.
A CSV has no way to say "this column is text". Once Excel has stripped the zeros and you press Save, the file on disk has lost them too. Even a clean file re-saved as CSV gets stripped again the next time someone double-clicks it.
Census block codes are the textbook case. They're 15 digits long, so Excel displays a code like 550791865002017 as 5.50792E+14, and a CSV saved in that state carries 5.50792E+14 into whatever system receives it. The last nine digits are gone from that file. Use the .xlsx as your working copy and export a CSV only at the last step.
Excel splits a double-clicked CSV on the list separator in your Windows regional settings, not on whatever the file uses. In US and UK settings that's a comma. In Germany, France and much of Europe it's a semicolon, because the comma is the decimal mark there. So a semicolon file from a colleague in Munich lands entirely in column A on a laptop in Ohio.
This converter ignores Windows settings and detects the separator from the file: comma, semicolon, tab or pipe.
Encoding goes wrong the same way. Older Excel exports on Windows are usually Windows-1252, while most web platforms write UTF-8, and reading one as the other turns Müller into Müller. The converter checks for UTF-8 with or without a byte-order mark and UTF-16 with one, then falls back to Windows-1252 when the bytes aren't valid UTF-8.
Excel 365 can import a CSV correctly. It won't do it on double-click.
The standard route is Data > From Text/CSV. Pick the file, and the preview dialog lets you set File Origin (the encoding), Delimiter and Data Type Detection. Choose "Do not detect data types" to keep everything as text, or click Transform Data, set each column's type in Power Query, then Close & Load. You get a table linked to the source file by a query. Budget six to ten clicks per file.
To stop most double-click mangling, go to File > Options > Data and clear the boxes under Automatic data conversion: removing leading zeros, keeping the first 15 digits of long numbers, converting digits around the letter E, and converting continuous letters and numbers to a date. Slash values like 1/2 can still become dates.
The old Text Import Wizard is hidden by default. Turn it back on with File > Options > Data > Show legacy data import wizards, then find it under Data > Get Data > Legacy Wizards > From Text (Legacy). Renaming a file from .csv to .txt and opening it with File > Open also forces the wizard.
The manual route wins in four cases: slash dates you need converted at import, an encoding the converter doesn't detect, a file too large for the converter, or a query you want to refresh when the CSV changes.
=VALUE(SUBSTITUTE(A2,"$","")).=A2="TRUE" returns a real boolean.If a system at the end of your process only accepts CSV, the Excel to CSV converter handles the return trip from your working .xlsx. API exports that come as JSON rather than CSV go through JSON to Excel.
Convert it to .xlsx before Excel opens it, or import it through Data > From Text/CSV with the column set to Text. Double-clicking the CSV strips the zeros on open, and they can't be recovered from that copy. This converter keeps any column containing a zero-padded value like 02134 as text.
Excel split the file on your Windows list separator, and the file uses a different one. A semicolon file opened on a US or UK machine, or a comma file opened with German or French settings, lands entirely in column A. This converter detects comma, semicolon, tab or pipe from the file itself.
Yes. There is no daily limit and no sign-up. Files can be up to 50 MB.
No. The conversion runs in your browser with JavaScript, and the file never leaves your computer.
Excel stores at most 15 significant digits, so when it reads a longer number as a number, every digit after the 15th becomes zero. Changing the cell format afterwards can't bring the digits back. This converter keeps numbers longer than 15 digits as text, so an 18-digit order ID arrives intact.
Only partly. In Excel for Microsoft 365, go to File > Options > Data and clear the boxes under Automatic data conversion, and from then on numbers of 16 or more digits stay as text and values like 12E4 stay as typed. A 12- to 15-digit number in General format still displays in scientific notation, so that column still needs a Number format with 0 decimal places. Values like 1/2 can also still turn into dates.
Dates written with slashes, like 03/04/2026, stay text because the file doesn't say whether that is 3 April or March 4. ISO dates like 2026-03-04 become real Excel dates. Convert slash dates with Data > Text to Columns, choosing Date and DMY or MDY in step 3.