Text Encoding Converter

Convert text or a text file between UTF-8, UTF-16, Windows-1252, Latin-1 and other character encodings.

Drag & drop a text file here, or click to browse

No uploads. Your files stay on your device.

Source encoding applies to files you load โ€” typed text is already Unicode.

The encoded bytes appear here as a hex dump as you type.

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

How it works

Drop a text file and the tool reads its raw bytes, detects the encoding from the byte order mark (or by testing whether the bytes are valid UTF-8) and decodes it to readable text. You can override the guess with any of the supported source encodings โ€” UTF-8, UTF-16 LE/BE, Windows-1252, the ISO-8859 Latin family, Windows-1250/1251/1254, KOI8-R, Mac Roman, Shift JIS, EUC-JP, GB18030, Big5 and EUC-KR โ€” which is the quickest way to rescue a legacy export that opens as mojibake such as Cafรƒยฉ.

The decoded text is then re-encoded to the target encoding you pick, with an optional byte order mark for UTF-8 and UTF-16. A hex dump shows exactly which bytes you get, so you can confirm that รฉ is one byte (E9) in Windows-1252 but two (C3 A9) in UTF-8. If a character does not exist in the target character set โ€” an emoji or Japanese text converted to Latin-1, for example โ€” it is replaced with ? and the tool warns you which characters were lost, since that loss is permanent.

Everything runs in your browser with the built-in TextDecoder and TextEncoder APIs, and legacy encoders are built on the fly from the browser's own decoding tables. Nothing is uploaded, so it is safe for exports, logs and customer data.

Frequently asked questions

How do I convert a file from Windows-1252 (ANSI) to UTF-8?

Drop the file on the tool. It reads the raw bytes, detects the encoding from the byte order mark or by testing UTF-8 validity, and shows the decoded text. Override the guess with the source encoding menu if the detection is wrong. Leave the target set to UTF-8, tick the BOM box only if the program you are feeding needs one, and click Download converted file.

Why does my text show up as "Cafรƒยฉ" and can this fix it?

That is mojibake: bytes written in UTF-8 were read as Windows-1252, so one accented character became two. Load the original file and set the source encoding to UTF-8 and the text becomes readable again. If you only have the garbled text, it cannot always be recovered, because the misreading may already have discarded bytes.

What happens to characters the target encoding cannot store?

Legacy character sets like Latin-1 or Windows-1252 hold only 256 characters, so emoji, Japanese, Greek or Cyrillic text has no representation. Those characters are replaced with a question mark and the tool lists exactly which ones were lost. The loss is permanent, so keep a UTF-8 copy of the original before converting down.

Report a bug