Fix mixed line endings — CRLF / LF / CR
Windows ends lines with CRLF, Unix with LF, old Macs with CR. Mix them in one file and parsers either split rows wrong or refuse to load it. We pick one style and rewrite the whole file to match.
Line endings normalized
Before
A,B\r\nC,D\rE,F
After
A,B\nC,D\nE,F
Drop your CSV file here
or click to browse
The "mixed line endings" fix will be auto-detected.
What is this and why does it matter?
Windows, Mac, and Linux use slightly different invisible characters to mark the end of each line. When a file has been edited on different computers, or was built by combining files from different systems, you get a mix of these line break styles.
Most of the time you won't notice — but import tools do. Mixed line breaks cause invisible characters to appear at the end of your last column, string comparisons to fail, and some tools to crash entirely.
CSV First Aid checks your file for mixed line breaks and makes them all consistent. Your data stays exactly the same — only the invisible line break characters are standardized.
How it works
- 1Drop your CSV. We check what types of line breaks your file uses.
- 2If we find a mix, the diagnosis card shows the breakdown.
- 3Apply → line breaks are unified. Download.
FAQ
Can I choose CRLF output instead of LF?
Yes — the download options let you select the line ending. Default is LF (Unix) since it's the most compatible with modern tools.
Will this break multi-line quoted fields?
No. The tokenizer preserves newlines within quoted fields. Only line breaks between records are normalized.
How do mixed line endings happen?
Common causes: editing a file on Windows and macOS (Git auto-CRLF settings), concatenating files from different sources, or copy-pasting between different tools.
Related tools
CSV quote repair
One missing closing quote turns a single field into a multi-row monster and shifts every column after it. We find the unmatched ones, close them, and re-escape the inner ones — per RFC 4180.
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.
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.