Skip to main content
CSV First Aid

Fix CSV encoding — Windows-1252 to UTF-8

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.

Encoding fixed

Before

ä, ö, ü, é

After

ä, ö, ü, é

Drop your CSV file here

or click to browse

The "encoding" fix will be auto-detected.

What is this and why does it matter?

This is one of the most common CSV problems. Names, addresses, and product descriptions show up as gibberish — Müller becomes Müller, café becomes café. The data isn't damaged, it's just being read with the wrong settings.

This typically happens with files exported from older systems, European software, SAP, or older versions of Excel. The file was saved in one text format but your computer is trying to read it in another.

CSV First Aid detects the original format and converts the text so accents, umlauts, and special symbols render the way they were meant to.

How it works

  1. 1Drop your CSV file. We detect what text format it was saved in.
  2. 2If we find garbled characters, the diagnosis card shows the detected encoding.
  3. 3Apply the fix — the text renders correctly. Download.

FAQ

What's the difference between Windows-1252 and ISO-8859-1?

They're almost identical. Windows-1252 extends ISO-8859-1 with printable characters in the 0x80–0x9F range (like curly quotes and em dashes). CSV First Aid handles both.

Can this fix Chinese or Japanese encoding issues?

Currently we detect and convert between UTF-8 and Windows-1252/Latin-1. CJK encoding issues (Shift_JIS, GB2312, EUC-KR) require a different approach. We may add support in the future.

My file looks fine in Excel but breaks in Python. Why?

Excel auto-detects encoding. Python's csv.reader defaults to UTF-8. If the file is Windows-1252, Python sees garbage. Fix: convert to UTF-8 with this tool, or pass encoding='cp1252' to pandas.read_csv().

Related tools