Convert Shift_JIS and EUC-JP files to UTF-8

A CSV, TXT or subtitle file from Japan shows � or symbols like ƒtƒ@ƒCƒ‹ instead of Japanese? It is saved in Shift_JIS (CP932) or EUC-JP, the legacy code pages of Japanese. Drop the file into the box – Mojibuster detects the code page and converts the file to UTF-8, right in your browser.

Works with text and these files:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

For example Excel exports, database dumps, subtitles or website code.

Repair

  1. Drop a file or paste text
  2. It gets repaired automatically
  3. Copy or download
or simply drag a file here

When you need this

  • CSV exports from Japanese banks, government portals or accounting software that you open on a Mac, in Google Sheets or in a UTF-8-only system.
  • Files saved as “ANSI” in Notepad on a Japanese Windows, read by an editor or a program that expects UTF-8 – pandas and PowerShell included.
  • Old websites, email archives and server logs from Unix systems, which were usually EUC-JP.
  • Downloaded subtitles for anime and films (.srt, .ass) in Shift_JIS that show garbage on a TV or in a player – see fix subtitle encoding.
A Shift_JIS file opened with Western settings

Garbled

ƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚µ‚Ü‚µ‚½ “Œ‹ž

After converting

ファイルを変換しました 東京

How to convert

  1. Drag the file into the box above or choose it – CSV, TXT, SRT, JSON and other text formats work.
  2. Mojibuster reads the file as Shift_JIS (CP932), EUC-JP, ISO-2022-JP and UTF-8 and keeps the reading that produces real Japanese. The result shows which code page it used.
  3. Wrong guess? Click Read as … in the result to re-read the file in another code page.
  4. Click Download to save the UTF-8 file. For CSV files keep Save with BOM on so Excel opens them correctly.

How to recognize Shift_JIS at a glance

  • 東 is 93 8C in Shift_JIS and shows as “Œ in a Western program; 京 is 8B 9E and shows as ‹ž.
  • Katakana start with 83: ファイル is 83 74 83 40 83 43 83 8B and shows as ƒtƒ@ƒCƒ‹ – the ƒ every other character is the giveaway.
  • EUC-JP looks different: 東京 is C5 EC B5 FE and shows as ÅìµÞ.

The bytes are all still there in these cases, so the file converts without loss. Text like 縺薙s縺ォ縺。縺ッ is the opposite problem: UTF-8 that was read as Shift_JIS and saved. Paste it into the box and Mojibuster turns it back into こんにちは – see what mojibake is.

Shift_JIS and CP932

What Windows calls Shift_JIS is strictly CP932 (Windows-31J): Shift_JIS plus circled numbers like ①, symbols like ㈱ and a number of variant kanji. Mojibuster reads with CP932, so these characters convert correctly too. ISO-2022-JP, the old email encoding with escape sequences, is detected as well.

Converting on the command line

For many files or a script: iconv -f CP932 -t UTF-8 in.txt > out.txt on Linux, macOS and Git Bash (-f EUC-JP for Unix files). In PowerShell 7: Get-Content in.txt -Encoding 932 | Set-Content out.txt -Encoding utf8. These commands don’t guess the code page; pick the wrong one and you get new garbage. Mojibuster checks the options for you.

What can’t be restored

Characters that have already become ? are gone: the information was lost when the file was saved. Mojibuster shows how many such spots the file contains; why they appear is explained under question marks instead of characters. Files from China or Korea use other code pages – see the converters for GBK, Big5 and EUC-KR.

Frequently asked questions

Can I open the converted file in Excel?

Yes. For a CSV, keep Save with BOM on and Excel opens it correctly on double-click – see Excel special characters.

Can I convert UTF-8 back to Shift_JIS?

Not here – Mojibuster only saves UTF-8. If you need Shift_JIS, save the file again from Excel or an editor; in Notepad++ choose “Convert to ANSI” on a Japanese Windows.

How large can the file be?

Up to 100 MB. Large files are processed in the background and a progress bar is shown.

Is my file uploaded?

No. The file is read and converted in your browser; nothing is sent to a server. Links with %E6%9D%B1%E4%BA%AC are URL-encoded characters and can be decoded here as well.

More guides