🔤 Developer Tools

Character Encoding Converter

Fix garbled Japanese text (mojibake) by auto-detecting a file's character encoding and reading it back as UTF-8. Your input never leaves your browser.

① Fix mojibake (file)

Drop a text/CSV file here, or click to choose

.txt / .csv and similar — the encoding is detected automatically


② Convert & download text

Browsers use UTF-8 by default. Use this to write out Shift_JIS etc. for legacy software.

How to use

It also converts and saves text as Shift_JIS, EUC-JP, ISO-2022-JP or UTF-8. Detection and conversion run entirely in your browser, so files are never uploaded.

To fix a garbled file, drop a .txt / .csv into section ①. The encoding is auto-detected, the text is re-read as UTF-8, and you can copy or save it. To write text out in a specific encoding, use section ②.

  • Fix by auto-detect: detects the file's encoding (Shift_JIS / EUC-JP / ISO-2022-JP / UTF-8) and reads it correctly.
  • Or set it manually: if detection is off, pick the source encoding and reload the file.
  • Save as UTF-8: export the fixed text as modern UTF-8.
  • Reverse too: write UTF-8 text out as Shift_JIS etc. for older software.
  • Warned before you save: characters the target encoding cannot store (emoji, kanji such as 𠮷, the wave dash 〜) become "?", so the tool lists each one with its position in the text before you download.

Handy for

  • Shift_JIS CSV exported by the Japanese edition of Excel that shows mojibake elsewhere
  • Reading EUC-JP or ISO-2022-JP text from older systems or email
  • Converting UTF-8 text to Shift_JIS for legacy software that requires it

Everything runs on your device; files and text are never sent to a server. See also Full-width / Half-width Converter and CSV ⇔ JSON.

FAQ

Are the files or text I enter sent to a server?
No. Detection and conversion all happen in your browser; your files and text are never uploaded or stored. As long as you keep the page open, it keeps working if your connection drops.
Why are Shift_JIS and EUC-JP still needed?
The web is mostly UTF-8 now, but CSV files exported by Japanese editions of Excel are often Shift_JIS, and older Linux systems and email frequently use EUC-JP or ISO-2022-JP. Opening those in a UTF-8 tool shows mojibake (garbled text); reading them with the right encoding restores the original.
Is auto-detection always correct?
It is right most of the time, but very short or symbol-only text can be misdetected. In that case, set the source encoding manually (for example Shift_JIS) and reload the file.
What happens to characters Shift_JIS cannot store?
They are replaced with a plain ASCII question mark. So the data never breaks silently, the tool lists every character it could not convert — together with its position in the text — before you save, whenever Shift_JIS, EUC-JP or ISO-2022-JP is selected. The usual culprits are emoji, surrogate-pair kanji such as 𠮷, and the wave dash 〜 (U+301C) that Japanese input on macOS produces; replacing 〜 with the full-width tilde ~ (U+FF5E) makes it storable in Shift_JIS.