Decoded text
When a text file (.txt, .csv, .html, .json, .sql, .md, and more) opens as garbled text, this tool reads it back correctly and re-saves it in the encoding you need. Open a file and it first auto-detects the character encoding (UTF-8 or Shift_JIS), decodes it correctly, and shows the converted text so you can confirm it's readable. Then pick a "Save as" encoding and download. Choose Shift_JIS (ANSI) for an older in-house system that only accepts it, UTF-8 for modern tools and programs, or UTF-8 with BOM to fix garbled text in Windows Notepad and Excel — the BOM (a marker at the start) tells them the file is UTF-8. On the reading side, in addition to auto-detecting UTF-8 vs Shift_JIS, you can manually pick EUC-JP (common in files from Linux). If auto-detection guesses wrong (on short files, for example), switch the "Source encoding" to UTF-8, Shift_JIS, or EUC-JP manually. Under the hood, reading the file, detecting the encoding, converting, and writing all happen inside your browser in JavaScript — and Shift_JIS output is produced by building a reverse lookup table from the browser's own decoder at runtime, so no extra software or libraries are needed. Your file is never uploaded, stored, or sent to a server, which makes it safe for internal documents, source code, logs, or name lists you'd rather not put on a cloud converter (and it suits workplaces where uploading files externally is against policy). The original file name (and extension) is kept when you save. Note: when saving as Shift_JIS, characters that don't exist in it (some enclosed numbers, special symbols, emoji) are replaced with "?", and the number replaced is shown on screen. Want a table preview while fixing a CSV? Try csv-encoding.
How to use
- Click "Open file" to pick a text file, or drag and drop one onto the page (no app needed). It auto-detects the encoding and shows the correctly decoded text.
- Choose a "Save as" encoding: UTF-8 with BOM, UTF-8, or Shift_JIS. If the text looks garbled, switch "Source encoding" to UTF-8, Shift_JIS, or EUC-JP manually.
- Use "Download" to save it. The original file name is kept, and your file is never uploaded anywhere.
FAQ
Can I convert Shift_JIS text to UTF-8, or UTF-8 to Shift_JIS?
Yes. It auto-detects UTF-8 vs Shift_JIS when reading (you can override it), then you choose UTF-8 (with or without BOM) or Shift_JIS as the output. It works in both directions — for older systems that only accept Shift_JIS, or newer tools that expect UTF-8.
Is the file I open uploaded to a server?
No. The file is read into your browser only; detecting the encoding, converting, and writing all run on your device in JavaScript. Nothing is uploaded, stored, or transmitted, so it's safe for internal documents, source code, or workplaces that forbid uploading files externally.
Does it support EUC-JP files?
Yes. You can pick EUC-JP as the source encoding (common in files from Linux). Auto-detection targets UTF-8 and Shift_JIS, so for an EUC-JP file, switch "Source encoding" to EUC-JP manually, then convert and save it as UTF-8 or another encoding.
Can it convert text files other than CSV?
Yes. Any file that can be read as text — .txt, .html, .json, .sql, .md, .log, source code — can have its encoding converted, and the original file name and extension are kept on save. If you'd rather see a CSV as a table while fixing it, try csv-encoding.
Are any characters lost when saving as Shift_JIS?
Shift_JIS covers fewer characters than UTF-8, so characters that don't exist in it (some enclosed numbers, special symbols, emoji) are replaced with "?" when saving. The tool shows how many were replaced; if losing them is a problem, save as UTF-8 with BOM instead.