Short answer: it's almost always one of three things — character encoding, the wrong delimiter for your region, or Excel guessing the wrong data type for a column. None of these mean the CSV is broken; Excel is just misreading it.
1. Character encoding (garbled accents and symbols)
CSV files don't carry information about their own encoding. If a file was saved as UTF-8 but Excel opens it assuming a different encoding, accented letters, currency symbols, and special characters turn into strange characters like é instead of é.
2. The wrong delimiter for your region
CSV stands for comma-separated values, but not every country uses a comma as the default list separator in Excel. In many European locales, Excel expects a semicolon. If your file uses commas but your Excel is set to expect semicolons, everything piles into a single column.
3. Numbers, dates, and leading zeros getting mangled
Excel tries to be helpful by auto-detecting data types per column. This backfires constantly:
- A ZIP code like 00501 loses its leading zero and becomes 501.
- A long ID number like 4102938475019283 gets converted to scientific notation.
- A date written as 03/04 gets reinterpreted using the wrong day/month order.
This happens at the moment Excel opens the raw CSV — it's guessing column types on the fly, and there's no way to tell it "treat this column as text" before the damage is done.
The simplest fix: skip the guessing entirely
All three problems come from the same root cause: a plain CSV carries no formatting information, so Excel has to guess. Converting the file to a real .xlsx workbook first — rather than opening the raw CSV — avoids the guessing step altogether.
csvtoexcel.io does this conversion for free, directly in your browser, without uploading the file anywhere.