When a name comes out as gibberish: reading text the way it was written
Text files carry no label saying which alphabet table they were written with, so programs guess, and a wrong guess turns every accent into a small pile of symbols. This page reads the bytes with the table you choose and writes them back out in the one format everything agrees on. Below: each control, what comes out, and the traps.

The problem in one sentence
A text file is nothing but numbered bytes. Deciding that byte number 233 means the letter e with an accent needs a table, and there have been dozens of tables over the years, each built for a different part of the world.
Nothing inside the file says which table was used, so the program opening it picks one, usually the one favoured by the machine it runs on. When the two match, all is well. When they do not, you get the familiar mess: a German name grows a capital A in the middle, or a French quote mark becomes three symbols in a row.
That is where most people arrive here from. A customer list exported by a till system that has not changed since 2004. Subtitles for a film, where every accented word has fallen apart. A list of names from an old database that a colleague swears looked fine on their screen.
Opening a file
Drop one file onto the panel, or press choose a file. The picker offers the usual text kinds, including plain text, comma separated data, logs, notes, structured data files, web pages and subtitle files.
As soon as it is read, a result panel opens with the file name and size along the top and the text itself in a large box below. There is no button to press to see it. The settings underneath simply change how those same bytes are turned into letters.
The box is there for checking, not for editing. It shows the text so you can judge whether the reading is right.
Read the file as
This menu holds the heart of the tool. Its first entry is Work it out for me, which is where it starts. Under that sit eighteen named tables, each with a short note about who used it.
The list runs roughly in order of how often each one turns up. UTF-8 is first, which is what almost everything writes today. Then the older Western European pair, Windows-1252 and Latin-1, which between them account for most broken files in English, French, Spanish, German and Italian.
After those come the regional tables: Cyrillic, two for Central European, Turkish, Arabic, Greek, two Japanese, one Korean, one for simplified Chinese and one for traditional Chinese, the two forms of UTF-16, a second Russian table, and the old table used by Mac software before the modern era.
Changing the menu re-reads the very same bytes through a different table and redraws the text at once. Nothing is lost by experimenting, because the file on your disk is never altered.
How the automatic guess works, and when to overrule it
When the menu is on Work it out for me, a small line under the settings tells you what was chosen, such as Looks like Windows-1252, older Western European.
The guess is not magic. UTF-8 is tested first and very strictly, because it has firm rules about which byte sequences are allowed. Text that was really written in an older table almost never happens to obey those rules, so if the strict test passes, UTF-8 is close to certain.
The older tables cannot fail that way, since every byte means something in all of them. They are ranked instead by how odd the result looks: unreadable characters and stray control codes count against a table, and the cleanest reading wins.
This is why very short files are the weak case: ten words give the scoring almost nothing to work with. If a small file looks wrong, ignore the guess and try Windows-1252 by hand. It is the usual culprit for Western European text.
The two tick boxes about the marker
Some files do announce themselves. They begin with two or three invisible bytes called a byte order mark, and when one is present it is trusted rather than guessed at.
Remove the byte order mark when reading is ticked to begin with, and it should stay that way. Those bytes are packaging, not content. Kept, they arrive as an invisible character glued to the front of your first word, which is what breaks the first column name in a spreadsheet import in a way you cannot see.
Add one when saving is not ticked, and it does the opposite: it puts a fresh marker at the start of the file you download. There is one big reason to use it. Spreadsheet software on Windows, opening a comma separated file with no marker, assumes the local table rather than UTF-8 and mangles every accent again.
So the rule of thumb is simple. Heading for a spreadsheet, tick it. Heading for a program, a website or a code repository, leave it alone, because a stray marker confuses tools that expect a file to start with real content.
Line endings
This second menu deals with an older argument. The end of a line is marked by one invisible character on Mac and Linux and by two on Windows. Most modern software copes with either.
Leave them alone is the default and keeps whatever the file already had. Mac and Linux style rewrites every line ending as the single character form. Windows style rewrites them as the pair.
Change this only when something is complaining. The signs are a file that opens as one endless line in a basic Windows editor, an old import routine that rejects your rows, or a tool reporting a stray character at the end of every value. The character count shifts when you switch, because you really are adding or removing a byte per line.
What you get out
Under the text box sit small chips with the totals: how many characters were read, and how many lines. A third chip appears only when something went wrong, counting the characters that could not be read at all. Those show on screen as a question mark inside a diamond, and a warning line spells out how many there are and suggests trying another table.
A status line reports which table was actually used for what you are looking at, which is your confirmation of the guess.
Save as UTF-8 writes the file out. Whatever you read it as, the result is always UTF-8, since that is the format every modern program, website and phone understands. The download keeps your original name with -utf8 added before the extension, so contacts.csv comes back as contacts-utf8.csv and sits beside the original rather than replacing it.
Copy puts the whole text on your clipboard instead, which suits a short file. Both routes include your line ending choice.
A worked run with a customer list
You have kunden.csv, 84 KB, exported from an old system, and the names look wrong wherever an umlaut should be. Drop it in. The panel opens and the line under the settings reads that it looks like Windows-1252, older Western European.
Look at the text. Muller, Grosskopf and Weissbach all read correctly now, with their proper accents, so the guess was right. The chips say 41,203 characters and 812 lines, which matches the 811 customers plus a heading row.
The file is going into a spreadsheet, so tick Add one when saving. Leave Remove the byte order mark when reading ticked and leave line endings alone. Press Save as UTF-8 and kunden-utf8.csv appears in your downloads.
Open that in your spreadsheet and the names are correct on the first try. Now suppose they had not been, and a warning had counted 96 unreadable characters. That is the signal to leave automatic and work down the menu by hand: Windows-1252 first, then Central European if the names are Polish or Czech, then Cyrillic for Russian. One of them will read like language rather than noise.
Mistakes worth avoiding
The tool cannot tell whether a file is text at all, so the first two below are the ones that catch people out:
- Feeding it a document rather than text. A word processor file or a spreadsheet workbook is really a compressed bundle, and a PDF is its own format. Any of them is read as bytes and shown as screenfuls of symbols. Nothing is broken; the file was simply never text.
- Saving before looking. The text on screen is the text you will get, so read a few accented words first.
- Text that was already mangled and then saved again. Reading with a different table sometimes recovers it, but sometimes the original letter is genuinely gone, and no tool can invent it back.
- A file that shows a gap between every letter usually is UTF-16 without its marker. Pick one of the two UTF-16 entries and it will snap into shape.
- Assuming the guess is a promise. It is a ranked opinion. The menu exists because you can see something a score cannot: whether the words are real words.
When a different page is the answer
If you cannot tell what a file even is, the File Type Identifier reads its opening bytes and names the format. If you want to see the raw numbers rather than a reading of them, the Hex Viewer shows every byte beside its letter, which settles arguments about invisible markers for good.
This page takes one file at a time, so for fifty files with the same fault a text editor with a batch conversion feature will be quicker. And if the words need changing rather than re-reading, do that in an editor and come back afterwards.
Your file stays on your disk
The bytes are read by the browser tab from the file you chose. The tables that turn bytes into letters are already built into the browser, which is why eighteen of them are available without anything being fetched.
Nothing is sent, and nothing is stored. That matters here because these files are so often the private ones: customer lists, staff records, exported contacts. Close the tab and the page has forgotten the file entirely.
To see it for yourself, load the page, switch off the network, then drop a file in. The guess, the menus, the counts and the download all still work.
