CSV UTF-8 Encoding: A Practical Guide

If your CSV shows characters like "é" instead of "é", you have an encoding mismatch — the file was saved in one encoding and opened in another. The fix is to save and read CSVs as **UTF-8**, ideally with a BOM (byte-order mark) so older Excel versions detect it automatically.

Generate matching mock data right now

No sign-up, runs 100% in your browser, exports straight to CSV.

Why UTF-8 (and why BOM)

UTF-8 can represent every character in every language — Latin accents, Cyrillic, Arabic, CJK, emoji. It's the default for the modern web and most databases. The BOM is 3 invisible bytes at the start of the file (EF BB BF) that tell Excel "this is UTF-8" — without it, older Excel guesses based on system locale and often guesses wrong.

How CSV.si handles encoding

Files exported from CSV.si are UTF-8 by default. We include the BOM so Excel for Windows opens them with correct characters on a double-click — no Power Query gymnastics needed.

Fixing an existing broken CSV

Open the file in VS Code, look at the bottom-right corner for the current encoding, click it, choose Reopen with Encoding → UTF-8. If the text is now readable, save it back via Save with Encoding → UTF-8 with BOM.

Frequently asked questions

What is mojibake?

The garbled-looking text you get from an encoding mismatch — e.g. 'café' becoming 'café' because UTF-8 bytes were interpreted as Latin-1.

Do I always need a BOM?

No — APIs, databases, and most modern tools don't need it. Add the BOM specifically for Excel on Windows.

Related guides

Start generating free mock CSVs

High-fidelity mock tables for tests, demos, or models. No sign-ups, completely local.