Quick Answer
A CSV that opens incorrectly has one of three problems: wrong encoding (file saved in Windows-1252 but opened as UTF-8, producing gibberish characters), wrong delimiter (file uses semicolons but your tool expects commas, putting all data in one column), or a BOM character at the start of the file (invisible byte that corrupts the first field).
The fix: Open the file in a plain text editor first. What you see in the text editor tells you exactly which problem you have and which fix to apply.
Why it happens: CSV is a plain-text format with no built-in encoding or delimiter declaration. Every tool that opens a CSV guesses its encoding and delimiter based on system locale. When the guess is wrong, the file looks broken — but the file itself is usually fine.
Diagnose Your Problem in 30 Seconds
Open your CSV in Notepad (Windows) or TextEdit (Mac). What do you see?
| What you see | Root cause | Jump to |
|---|---|---|
Names/text show as é, ’, ü, ? boxes | Encoding mismatch (Windows-1252 vs UTF-8) | Fix 1 |
| All data in column A, visible semicolons between values | Wrong delimiter — European-format file | Fix 2 |
| First field has a strange invisible prefix; first column header appears garbled | UTF-8 BOM character at start of file | Fix 3 |
| File looks correct in text editor but wrong in Excel | Excel auto-formatting issue (not a CSV problem) | Fix 4 |
| File is blank or shows only a few rows | File size limit, truncation, or corruption | Fix 5 |
| File looks correct everywhere — still won't import | Platform-specific format requirements | See CSV import errors guide |
Rule: If the file looks correct in a plain text editor, the CSV itself is not broken. The problem is in the tool opening it.
Your Fix in One Row
| What you see in Notepad/TextEdit | Likely cause | First action in Excel | If that fails | Consequence if ignored |
|---|---|---|---|---|
é, ’, ü, boxes, ? | Encoding mismatch | Data → From Text/CSV → File Origin = 65001: Unicode (UTF-8) | Google Sheets → Import → set Character set | Names/addresses corrupted in every row with special characters |
| All data in column A, semicolons visible | Wrong delimiter | Data → From Text/CSV → Delimiter = Semicolon | SplitForge → convert semicolons to commas | Import fails entirely or all data lands in one field |
First header shows CustomerID | UTF-8 BOM | Data → From Text/CSV (usually auto-handled) | Notepad++ → Encoding → Convert to UTF-8 (not BOM) | First column header won't match — import mapping fails |
Text correct in editor but ZIP codes show as 1234 not 01234 | Excel auto-number format | Data → From Text/CSV → set column type = Text | Pre-format column as Text before opening | Leading zeros permanently lost — ZIP, ID, phone data corrupted |
| File mostly correct but random binary chars or row truncation | Genuine corruption | Try re-encoding anyway | Request fresh export from source | Data loss — cannot be recovered from the corrupt file |
The most dangerous row is the last one. Encoding problems are fixable. Genuine file corruption means the data you need may not exist in the file at all. Re-encoding a corrupted file doesn't restore missing bytes — it just removes the garbage characters.
Fast Fix (90 Seconds)
If your CSV is showing gibberish and you need it fixed now:
- Open in Notepad/TextEdit — confirm the text editor shows readable content (or confirms the problem).
- If garbled characters: Open Excel → Data tab → From Text/CSV → set File Origin to
65001: Unicode (UTF-8)→ import. - If all data in one column: Open Excel → Data tab → From Text/CSV → set Delimiter to semicolon → import.
- If first field looks odd: Open file in Notepad++ → Encoding menu → check for "UTF-8-BOM" → convert to "UTF-8" → save → re-open.
- Fastest fix for all three: Run the file through SplitForge Delimiter & Encoding Fixer — it detects encoding, strips BOM, and converts delimiters locally in your browser.
If the text editor shows readable content but Excel displays it wrong, continue below.
TL;DR: A CSV that opens wrong is almost always an encoding or delimiter mismatch — though corruption, BOM characters, and Excel auto-formatting can produce similar symptoms. Open the file in a plain text editor — what you see there is the ground truth. If it looks right in the text editor, the file is fine; the tool opening it is wrong. Fix by importing via Excel's Data tab (not double-click), specifying encoding and delimiter manually. Run through SplitForge Delimiter & Encoding Fixer to convert both in one step without uploading your file anywhere.
Your EU CRM export just arrived from the vendor. You double-click it — every name is émilie instead of Émilie. Or you receive a financial export from your accounting system and every row lands in column A as one long string separated by semicolons. Or your IT team sends you an extract and the first column header says CustomerID instead of CustomerID.
Three different problems. Three different fixes. None of them require downloading special software.
Each scenario was reproduced using Microsoft Excel 2024 and Google Sheets, March 2026.
Table of Contents
- Your Fix in One Row
- Fix 1: Encoding Mismatch — Garbled Characters
- Fix 2: Wrong Delimiter — All Data in One Column
- Fix 3: BOM Character — First Field Corrupted
- Fix 4: Excel Auto-Formatting Issues
- Fix 5: Blank File or Truncated Rows
- How to Tell Corruption From Encoding
- Additional Resources
- FAQ
This guide is for: Anyone whose CSV opens incorrectly in Excel, Google Sheets, or any import tool. No technical background required.
Fix 1: Encoding Mismatch — Garbled Characters
Your CSV contains émilie or M??ller or â€" instead of readable text. This is an encoding mismatch: the file was saved in one encoding (typically Windows-1252 or ISO-8859-1) but your tool is reading it as UTF-8, or vice versa.
What encoding is: Every character in your file is stored as a number. Encoding is the translation table that converts numbers back to characters. Windows-1252 and UTF-8 use different numbers for accented characters — when you apply the wrong table, the characters come out as gibberish.
Fix in Excel (Windows):
- Do not double-click the file. Open Excel first.
- Go to Data → From Text/CSV.
- Select your file.
- In the preview screen, look for the File Origin dropdown.
- Change it to
65001: Unicode (UTF-8)if the text is garbled in UTF-8 mode, or to1252: Western European (Windows)if names from Windows systems are garbled. - Check the preview — characters should now display correctly.
- Click Load.
Fix in Google Sheets:
- Go to File → Import → Upload → select your file.
- On the import settings screen, set Character set to
UTF-8. - If still garbled, try
Windows-1252.
Fix using SplitForge (fastest, works on any file size):
Run your file through SplitForge Delimiter & Encoding Fixer. It auto-detects the encoding, shows you a preview, and converts to UTF-8 in your browser. Your file never leaves your computer — important when the CSV contains customer names, financial records, or personal data.
How to confirm encoding before fixing:
Open the file in Notepad++ (free download). The bottom status bar shows the current encoding. If it says "ANSI" or "Windows-1252" but your tool expects UTF-8, that's your mismatch.
Fix 2: Wrong Delimiter — All Data in One Column
All your data lands in column A, separated by semicolons or pipe characters. This is not a corrupt file — it's a delimiter mismatch.
Why semicolons exist: European versions of Excel use commas as decimal separators (€1.234,56 instead of €1,234.56). Because commas are reserved for decimals, European Excel exports CSVs using semicolons as the field delimiter. A file that looks perfect for a German user looks broken for a US user.
What the file actually contains:
Name;Email;Country
Émilie;[email protected];France
Hans;[email protected];Germany
That's a perfectly valid CSV — it just uses a different delimiter than your tool expects.
Fix in Excel:
- Open Excel. Go to Data → From Text/CSV.
- Select your file.
- In the preview, set Delimiter to
Semicolon(uncheckComma, checkSemicolon). - Preview should now show data in correct columns.
- Click Load.
Fix in Google Sheets:
Go to File → Import → Upload → set Separator type to Custom → enter ;.
Fix before importing (recommended):
Convert the semicolon-delimited file to a standard comma-delimited file before it reaches your platform. Run it through SplitForge Delimiter & Encoding Fixer — select "Convert semicolons to commas" and download the converted file. This prevents the mismatch from occurring at every tool in your workflow.
For more on European delimiter issues, see our guide on CSV delimiter errors.
Fix 3: BOM Character — First Field Corrupted
Your first column header shows CustomerID or CustomerID with an invisible prefix. The import tool rejects the file because the first column header doesn't match what it expects.
What the BOM is: The UTF-8 BOM (Byte Order Mark) is three invisible bytes — EF BB BF in hex — added to the start of some files by Windows text editors and Excel. Most tools handle it transparently, but some importers (PostgreSQL COPY, older CRM systems, Python scripts) read it literally as part of the first field value.
Byte-level proof — what's actually happening:
File hex (first 6 bytes of a UTF-8-BOM file):
EF BB BF 43 75 73 → Cus...
Those first 3 bytes (EF BB BF) are the BOM.
Your importer reads them as characters:
"CustomerID" appears as "CustomerID"
File hex (first 6 bytes of a clean UTF-8 file):
43 75 73 74 6F 6D → Custom...
No BOM. First bytes are actual content.
How to detect it:
Open the file in Notepad++. If the encoding indicator at the bottom says "UTF-8-BOM," the BOM is present. Or run hexdump -C yourfile.csv | head -1 in terminal — if the first bytes are ef bb bf, that's the BOM.
Fix Option A — Notepad++ (2 minutes):
- Open file in Notepad++.
- Go to Encoding → Convert to UTF-8 (not "UTF-8-BOM").
- Save the file.
- Re-open in your tool.
Fix Option B — SplitForge:
SplitForge Delimiter & Encoding Fixer auto-detects and strips BOM characters during encoding conversion. Process the file locally — no upload required.
Fix Option C — PowerShell (Windows):
$content = Get-Content 'yourfile.csv' -Raw -Encoding UTF8
$content | Set-Content 'yourfile-nobom.csv' -Encoding UTF8NoBOM
For database-specific BOM fixes (PostgreSQL COPY, MySQL LOAD DATA), see our BOM CSV fix guide.
Fix 4: Excel Auto-Formatting Issues
Your CSV looks correct in Notepad but wrong in Excel. This isn't an encoding or delimiter problem — it's Excel silently reformatting values when it opens the file.
Common auto-formatting behaviors:
| What you see in Excel | What the CSV actually contains | Excel's "fix" |
|---|---|---|
1234 instead of 01234 | 01234 (ZIP code) | Strips leading zeros (treats as number) |
3.14E+10 instead of 31400000000 | 31400000000 | Converts to scientific notation |
Mar-15 instead of 2026-03-15 | 2026-03-15 (date) | Auto-formats as date display |
1/2 instead of a fraction | 1/2 | Interprets as January 2 |
Fix: Do not double-click the CSV. Open Excel → Data → From Text/CSV → on the column type screen, manually set affected columns to Text before loading. This prevents Excel from reformatting those values.
Power Query as a more reliable alternative:
If the legacy Text Import Wizard keeps applying wrong formatting even after setting column types, use Power Query instead. It gives more granular control over each column's data type.
- Go to Data → Get Data → From File → From Text/CSV.
- In the Navigator, click Transform Data (not Load).
- In Power Query Editor, select columns → right-click → Change Type → Text for any column that needs to stay as-is.
- Click Close & Load.
Power Query is also the better path for recurring imports from the same source — you can save the transformation steps and re-run them each time.
For a complete guide to leading zeros specifically, see our CSV leading zeros fix.
Fix 5: Blank File or Truncated Rows
Your CSV opens but shows far fewer rows than expected, or appears completely blank after the header.
Most common causes:
- File size limit: Excel has a 1,048,576-row hard limit. Files larger than that are silently truncated. Google Sheets has a 10M cell / 100MB limit.
- Encoding error on a specific row: Some tools stop reading when they hit an unreadable character, truncating everything after it.
- Hidden rows: The file was filtered before export and empty rows were suppressed.
- Wrong app opening the file: The file was associated with a different application that displays it incorrectly.
What actual corruption looks like in a text editor:
❌ CORRUPTED FILE (opened in Notepad — real corruption, not encoding):
id,name,email,amount
1,Alice,[email protected],1200.00
2,Bob,[email protected],850.00
3,Carol,carol@exam▒▒▒▒▒▒▒▒▒▒NUL▒▒▒▒▒▒
↑ binary garbage — file was corrupted mid-transfer or mid-write
4,Dan,dan@▒▒▒▒▒ ← row continues but data is gone
--- file ends here, 1,847 rows missing ---
Re-encoding this file will NOT recover rows 5–1851.
The data is gone. Request a fresh export.
vs. encoding problem (fixable):
ENCODING MISMATCH (Windows-1252 read as UTF-8 — fixable):
id,name,email,amount
1,Émilie,[email protected],1200.00
2,Müller,[email protected],850.00
3,José,[email protected],600.00
All rows present. Same garble pattern throughout.
Re-encoding to Windows-1252 restores all names.
The difference: consistent garble pattern = encoding. Random binary garbage + missing rows = corruption. Fix encoding with SplitForge. Fix corruption with a fresh export.
Fix for large files: Split the file before opening. SplitForge CSV Splitter handles files up to 10 million+ rows locally in your browser.
Fix for encoding-truncated files: Open in a text editor and scroll to find the first garbled line. That row contains the problematic character. Fix the encoding and re-open.
How to Tell Corruption From Encoding
A corrupted file and an encoding problem can look identical — garbled text, missing rows, strange characters. Here's how to tell them apart:
| Test | Encoding problem | Actual corruption |
|---|---|---|
| Open in text editor | Consistent garbled pattern (same replacement characters throughout) | Random characters, binary garbage, missing sections |
| File size | Normal for the data volume | Abnormally small, or ends mid-row |
| Re-download/re-export | Same result | May vary — corruption sometimes happens in transit |
| Specific characters affected | Only accented characters, special symbols | Random characters across all content |
| Fix attempt | Works (re-encoding fixes it) | Doesn't work — content is genuinely lost |
If re-encoding doesn't fix it, the file may have been corrupted during transfer. Request a fresh export from the source.
For a broader overview of all CSV error types, see our CSV import errors complete guide.
Additional Resources
Microsoft Documentation:
- Excel Text Import Wizard — Official guide for encoding and delimiter selection during CSV import
- Excel Get Data from Text/CSV — Power Query import for encoding control
Standards:
- RFC 4180: CSV Format Specification — Official CSV structure standard (no encoding declaration by design)
- Unicode UTF-8 Standard — UTF-8 encoding reference
- Unicode BOM FAQ — Official explanation of Byte Order Mark behavior
Related Guides:
- MDN TextDecoder API — How browsers handle character encoding conversion