Mojibake Decoder
Wrong encoding, escaping and keyboard layout in Cyrillic text
Other variants
Bytes
The decoder tries pairs of encodings, including double garbling, unescapes URL encoding,
\uXXXX, \xHH, HTML entities, quoted-printable and mail headers,
checks for a wrong keyboard layout and picks the variant that looks most like ordinary text.
The text is not sent anywhere.
How the decoder works
Mojibake appears when the bytes of a text are read in the wrong encoding. To get the text back, the garbled characters have to be turned back into bytes using the wrong encoding and read again using the right one. The decoder tries every pair of UTF-8, Windows-1251, KOI8-R, CP866, ISO-8859-5, MacCyrillic, Windows-1252 and UTF-16 and scores how much the result looks like Russian or English text.
If the text was garbled twice — say, the mojibake was saved as UTF-8 once more — the decoder finds that chain too. Escaped text from addresses, logs, JSON and e-mails is unescaped automatically, and text typed in the wrong keyboard layout (Russian ЙЦУКЕН vs Latin QWERTY) is converted to the right one.
FAQ
Is the text sent to a server?
No. The encoding is worked out in the browser; no request is sent to the server.
Where does mojibake come from?
A program read the bytes of the text in an encoding other than the one it was written in. For example, a UTF-8 file was opened as Windows-1251, and the Russian word for «hello» turned into «РџСЂРёРІРµС‚».
Can text with «�» diamonds be recovered?
Only partly. A diamond means the program has already thrown the original byte away. The decoder recovers the rest of the text and shows how many characters are lost.
What if the suggested variant is wrong?
Look at the other variants below the result, or switch to manual mode and choose the encodings yourself.