Free tool

Fix broken accents

“Café”, “don’t”, “12 $”: the text was saved in one encoding and read in another. Paste it here: the original characters are recovered, and every change is highlighted so you can check it.

Fixed text

fixed guessed, check it lost, retype it · Hover or tap a highlighted word to see what was there before.

The repair happens in your browser: the text never leaves your computer.

Why accents break

Today almost everything is written in UTF-8, where “é” takes two bytes. When a program reads those two bytes as Windows-1252 (or Latin-1), the old Western encoding, it shows two characters: “é”.

é è Ã

Read in the wrong encoding

é, è, à… each become two characters starting with Ã; ’ “ ” — become three starting with â€.

Fully recoverable.

é

Double encoding

The broken text was saved again as UTF-8, then read wrong a second time. Each round adds a layer.

Recoverable: the tool peels off the layers one by one.

� ?

Characters truly lost

When a program cannot display a character, it sometimes replaces it with “?” or “�” before saving. The original is gone.

Retype it: the tool highlights where.

A stray “” before a space or a dollar sign is a non-breaking space (common in French typography) that went through the same mishap.

Where it usually comes from

A database in latin1

  • Old WordPress sites, or sites moved from one host to another: tables in latin1 holding UTF-8 text, or an export and import made with the wrong character set.
  • Symptom: the whole site shows é, or only the pages written before the move.

A CSV opened in Excel

  • Excel opens CSV files as Windows-1252 by default. Open it through Data › From Text/CSV › File origin: 65001: Unicode (UTF-8).
  • To export, choose CSV UTF-8 (comma delimited).

An email or a page

  • An email or page that does not declare its encoding: the reader guesses, and guesses wrong.
  • Web page: <meta charset="utf-8"> at the top of <head>. Email: the Content-Type: text/plain; charset=UTF-8 header.

Fixing it at the source in WordPress

This tool fixes the text you paste. If a whole site is affected, the fix belongs in the database, and it must be done carefully.

  1. Make a full backup firstDatabase and files, with your host's tool or mysqldump. Never run a conversion without one.
  2. Look at the settingsIn wp-config.php, DB_CHARSET should be utf8mb4. In phpMyAdmin, check each table's collation (utf8mb4_unicode_ci or similar, not latin1_swedish_ci).
  3. A few pages only?Copy each text here, fix it, paste it back in the editor. Simple and safe.
  4. The whole site?Have a developer convert the tables on a copy of the site, compare, and only then switch. The classic fix for UTF-8 stored in latin1 columns is CONVERT(CAST(CONVERT(column USING latin1) AS BINARY) USING utf8mb4), which must be tested row by row because text that was already correct would be damaged.

Limits

The repair only changes sequences that form a valid character once decoded, so normal accented text stays as is. Two cases are deduced rather than certain and are shown in orange: “Ô followed by a space (usually “à”) and a lone “— (usually a closing quote ”). Text mangled through another encoding (Mac Roman, for example “√©”) is not handled.