Files

File Encoding Detector

Tells you whether a text file is plain ASCII, clean UTF-8, or already damaged.

Loading the tool…

Processing happens locally in your browser. What you paste or load is processed by this page and is not uploaded to a server. Nothing is stored unless you use a control that says it stores something, and you can clear anything this site has kept from the privacy page.

How to use this tool

  1. Load the file with the picker, or paste the text you are suspicious of.
  2. Select Check the encoding.
  3. If the mojibake row lists anything, the file was already damaged before it got here — fix the system that wrote it rather than the file.
  4. If a byte order mark is present, strip it before a strict parser reads the first column name.

What file encoding detector does

Encoding problems are almost never discovered at the point where they happen. A UTF-8 file gets read as Latin-1 somewhere in a chain of four systems, and what arrives at the end is a name spelled Renée that nobody can trace back. By then the original bytes are gone; the mangled characters are the real content of the file, and no amount of re-decoding will recover what was lost.

This page reports what is actually in the text: the proportion that is plain ASCII, how much sits in the Latin-1 range, how much is above it, how many characters are outside the basic plane, whether a byte order mark is present, and whether there are replacement characters. It also looks for the specific pairs a bad decode leaves behind — é for é, ’ for a right quote — because seeing one of those means the damage is already in the file and needs fixing upstream, not here. Nothing is uploaded.

Frequently asked questions

No, and nothing that reads text can. The browser decodes the file as UTF-8 before this page sees anything, so what is reported is what survived that decode. That is still the useful question in practice: whether the text you now have is clean, and if not, what kind of damage it shows.

The specific mess left when UTF-8 bytes are read as a single-byte encoding such as Latin-1. Each accented character becomes two visible characters — é becomes é, a right quote becomes ’. This page looks for those exact pairs, because finding one proves the damage happened upstream rather than in your reader.

The question mark in a diamond, U+FFFD. A decoder writes it when it meets a byte sequence it cannot interpret, and the original byte is gone at that point. If the report counts any, the content has already been lost and needs re-exporting from the source rather than repairing here.

Because concatenation is common and a missing final newline runs the last record of one file into the first record of the next. It is a one-line fix that is invisible until someone joins two exports together.