Free · No signup · Runs in your browser

Fix CSVEncoding & Mojibake

Turn garbled cells like "é" and "’" back into clean é and ' — no upload, no server, no data ever leaving your browser.

01 · How it works

Three steps, then done.

Mojibake happens when a UTF-8 file is read as Windows-1252 or Latin-1, so "café" becomes "café" and a curly apostrophe becomes "’". This tool applies a fixed map of the most common corruption sequences across every header and cell, and optionally strips a leading byte-order mark. Everything runs client-side.

1

Load your garbled CSV

Drop in the CSV showing mojibake — sequences like é, ñ, ’, “, or a stray at the start of the first header. The file is parsed locally; nothing is uploaded.

2

Choose whether to strip the BOM

Leave "Strip byte-order mark" on (the default) to remove an invisible BOM that can break the first column name. Turn it off only if a downstream tool expects the BOM to remain.

3

Export the repaired CSV

The tool rewrites each cell with corrected characters, reports how many cells it fixed, and gives you clean RFC-4180 CSV ready for Excel, a database import, or any other CSV tool.

02 · Why ours

Why fix encodingin the browser

Garbled text is a data-quality problem hiding in plain sight — it breaks joins, search, and display. Repairing it locally keeps potentially sensitive rows on your machine.

  • 01

    No upload, ever

    The repair runs entirely in your browser with JavaScript. Customer names, emails, and addresses in your CSV never touch a server, so there is nothing to leak or log.

  • 02

    Covers the common cases

    Handles the classic UTF-8-as-Latin-1 patterns: accented letters (é, ñ, ü), smart quotes and dashes (’, “, —), currency and symbols (€, £, ©), and stray from misread non-breaking spaces.

  • 03

    Headers fixed too

    Mojibake in column names is just as damaging as in values — it breaks lookups by header. This tool repairs the header row alongside the data so column matching works again.

  • 04

    Honest, countable results

    You get a "cells fixed" count so you can see exactly how much was repaired. Output is strict RFC-4180 CSV, properly quoted, ready for the next step in your pipeline.

""café" stored as "café" isn't a typo — it's a UTF-8 file read as Latin-1. This tool reverses that, cell by cell, without your data ever leaving the page."
csvtodashboard.com
03 · FAQ

fix encoding questions.

What is mojibake and why does my CSV have it?
Mojibake is garbled text that appears when a file saved in one encoding is read in another. The most common case is a UTF-8 CSV opened as Windows-1252 or Latin-1: a single accented character that took two bytes in UTF-8 gets shown as two separate symbols, so "é" becomes "é" and a curly apostrophe becomes "’". This tool reverses those specific byte misreadings.
It applies a fixed map of the most common sequences: accented Latin letters (é→é, ñ→ñ, ü→ü, and the full upper/lowercase set), smart punctuation (’→', “→“, —, —→—, –→–, …→…), currency and symbols (€→€, £→£, ©→©, ®→®, °→°), and the stray  that appears in front of non-breaking spaces and similar characters.
Yes, when "Strip byte-order mark" is enabled (the default). A BOM is an invisible marker some programs add to the start of a UTF-8 file; in CSV it often glues itself to the first column name and breaks header lookups. You can disable stripping if a downstream system specifically requires the BOM.
It only replaces specific multi-character mojibake sequences that essentially never occur in clean text, so correctly-encoded content is left untouched. If a particular sequence does not appear in your data, no change is made and it is not counted in the "cells fixed" total.
No. The entire repair runs client-side in your browser. Your CSV is parsed and rewritten locally, and no rows, headers, or files are ever sent to a server. Closing the tab discards everything.