Strip the UTF-8 BOM from your CSV
First column shows up as 'ID' instead of 'ID'? That's a UTF-8 BOM — three invisible bytes most export tools leave behind. We strip them and the header reads clean again.
Invisible BOM removed
Before
ID,Name,Age
After
ID,Name,Age
Drop your CSV file here
or click to browse
The "bom" fix will be auto-detected.
What is this and why does it matter?
A BOM (Byte Order Mark) is an invisible character that some programs — like Notepad or older versions of Excel — silently add to the start of a file. You can't see it, but it's there, and it causes problems.
The most common symptom: your first column header looks wrong. Instead of seeing 'ID' or 'Name', you get a garbled version with strange characters in front. Import tools may reject the file entirely, or your first column stops matching in lookups.
CSV First Aid detects this invisible character and removes it. None of your actual data is changed — only the hidden prefix is stripped.
How it works
- 1Drop your CSV file into the zone above. The file stays in your browser — nothing is uploaded.
- 2CSV First Aid checks for the invisible character at the start of the file. If found, the diagnosis card shows 'BOM detected'.
- 3Click Apply, then Download. The invisible prefix is gone.
FAQ
Will removing the BOM break my file?
No. The BOM is metadata, not data. Removing it doesn't change any cell values. UTF-8 works perfectly without a BOM — in fact, the Unicode standard recommends against it for UTF-8.
How do I know if my CSV has a BOM?
Open it in a hex editor and check if the first bytes are EF BB BF. Or just drop it here — CSV First Aid will tell you instantly.
Why does Excel add a BOM?
When you 'Save As → CSV UTF-8' in Excel, it adds a BOM so that Excel can detect the encoding when re-opening. Other tools don't expect it, which causes the classic garbled-header problem.
Does this work with UTF-16 BOM?
Currently we detect and strip the UTF-8 BOM (EF BB BF). UTF-16 files are rare in CSV workflows; if you need UTF-16 support, convert to UTF-8 first.
Related tools
Fix CSV encoding
Seeing é, ü, ö where you expected é, ü, ö? The file was saved in one encoding and read in another. We figure out which one, then convert to UTF-8 so Müller looks like Müller again.
Remove invisible characters from a CSV
NBSP, zero-width joiners, stray control bytes — you can't see them in Excel, but VLOOKUP can, and it won't match. We scan every cell and remove the ones that shouldn't be there.
CSV Validator
Before COPY FROM or pd.read_csv(), run this. 14 checks — encoding, BOM, delimiter, quotes, column counts, duplicates, invisible chars — each with the line numbers that triggered it.