Data & Spreadsheets
Convert CSV to Excel Without Losing Your Data
Free to useNo sign-up requiredNo watermarkRuns in your browser
Opening a CSV directly in Excel is where most of these problems start: Excel guesses the type of every column as it opens the file, and its guesses are wrong often enough to matter. A ZIP code like "02134" becomes 2134. A 16-digit card or account number becomes 4.11111E+15, with the last few digits gone for good. A file from a European system where the columns are separated by semicolons opens as one solid column of text. And text with accented characters can show up as garbled symbols if the encoding is not what Excel assumed.
This tool reads the CSV itself - detecting the delimiter and the text encoding rather than guessing at open time - and writes a real .xlsx file where any column that needs to stay text already is. There is no import dialog left for Excel to get wrong, because the file it opens is already correct.
How this tool works
Upload the CSV
Read straight from your device - there is no upload.
Check the delimiter and the columns
The delimiter is detected automatically, and any column with a leading zero or a long ID number is automatically protected as text.
Adjust if needed
Change the delimiter, or flip any column between Text and Number yourself.
Download
A real .xlsx file, or a corrected CSV if you would rather keep the CSV format.
How it works
The file is decoded as UTF-8, falling back to Windows-1252 automatically if it is not valid UTF-8 - the usual cause of accented characters looking garbled, and something Excel's own "Open" dialog does not do for you.
The delimiter (comma, semicolon, tab or pipe) is detected by checking which one splits the file into a consistent number of columns across many rows, rather than assumed to be a comma.
Every column is checked for values with a leading zero followed by another digit, or a run of twelve or more digits - both are cases where the value is genuinely an identifier, not a number, and get written to the spreadsheet as text so Excel cannot silently reinterpret them. Columns that are consistently plain numbers are written as real numbers, so they can still be summed and sorted normally.
What actually gets protected
| ZIP code: 02134 | Kept as text - a real number can never start with a zero |
|---|---|
| Card or account number: 4111111111111111 | Kept as text - twelve or more digits, where Excel's own number type would lose precision and show scientific notation |
| Price: 1234.50 | Converted to a real number - so it can still be summed in a formula |
| Mixed text column: names, addresses | Left as text, as it already was |
Why writing straight to .xlsx fixes the "wrong delimiter" and "garbled text" problems too
A .xlsx file has no delimiter and no text-encoding ambiguity at all - both of those only exist because a plain CSV file is just characters, with no structure Excel can trust. Converting to .xlsx here, rather than exporting another CSV, sidesteps both problems at the source rather than trying to guess the right delimiter or codepage for Excel to use next time.
Frequently asked questions
Is my file uploaded anywhere?
No. Reading, converting and writing the result all happen in your browser - the file never leaves your device.
Why does Excel remove leading zeros from my CSV in the first place?
Excel's CSV import treats every value as "General" format by default, which means anything that looks like a number is interpreted as one - and a real number never has a leading zero, so it is dropped.
Why does a long number turn into something like 4.11111E+15?
Excel's number type only reliably stores about 15 significant digits. A 16-digit card or account number read in as a number is rounded to fit, and displayed in scientific notation - the digits past the 15th are gone, not just hidden.
Can I still add up a column of prices after converting?
Yes - columns that are consistently plain numbers (like prices) are converted to real numeric cells, not text, so formulas like SUM still work on them.
What if the automatic delimiter detection gets it wrong?
Change it manually from the dropdown - the file is re-read with your chosen delimiter immediately.
Guides for this tool
Why does Excel drop leading zeros from my CSV?
Why Excel drops leading zeros from a CSV - ZIP codes, account numbers and IDs turning into shorter numbers - and how to convert to Excel without it happening.
Why does Excel show my CSV numbers as 1.23E+12?
Why long numbers in a CSV - card numbers, account numbers, barcodes - turn into scientific notation like 1.23E+12 when opened in Excel, and how to stop it happening.
Why does my CSV open in one column in Excel?
Why a CSV sometimes opens as one solid column of text in Excel instead of properly separated columns, and how to fix it without hunting through Excel's settings.
