字幕の文字化けを直す(SRT・VTT・ASS)

動画の字幕が � だらけになったり、縺薙s縺ォ縺。縺ッ のような漢字の羅列になったりしていませんか?原因は、字幕ファイルの文字コード(Shift_JIS と UTF-8)の食い違いです。字幕ファイルをドロップするだけで、Mojibuster が UTF-8 に変換し、化けた文字を元に戻します。

テキストと次のファイルに対応:

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

Excel の CSV、データベースのダンプ、字幕、Web サイトのコードなど。

修正する

  1. ファイルをドロップ、またはテキストを貼り付け
  2. 自動で修正
  3. コピーまたはダウンロード
またはファイルをここにドラッグ
  • アップロードなし。 ファイルはブラウザー内で修正され、端末の外に出ることはありません。

  • EU 内のサーバー。 Mojibuster は フィンランド(EU)のサーバーで運用しており、EU 一般データ保護規則(GDPR)が適用されます。 GDPR の条文(EUR-Lex、英語)

字幕が文字化けする 2 つのパターン

  • � や □ が並ぶ:Shift_JIS(CP932)で保存された古い字幕を、UTF-8 を前提とするプレーヤーで開いた状態です。スマートテレビ、Plex、Jellyfin、スマホのアプリでよく起きます。ファイル自体は壊れていないので、元のファイルを変換すれば直ります。
  • 縺薙s縺ォ縺。縺ッ のような漢字が並ぶ:UTF-8 の字幕を Shift_JIS として読み込んだ状態です。古い Windows 向けのプレーヤーや、字幕の文字コードを「日本語(Shift_JIS)」に固定した設定で起きます。

SRT ファイルには、文字コードを書いておく場所がありません。プレーヤーは中身から推測するしかなく、推測が外れると文字が化けます。仕組みは文字化けとはで詳しく説明しています。

UTF-8 の SRT 字幕を Shift_JIS として読み込んだ場合

文字化け

1
00:00:01,000 --> 00:00:03,500
縺薙s縺ォ縺。縺ッ縲∫嚀縺輔s

2
00:00:04,000 --> 00:00:06,000
縺昴l縺ァ縺ッ縲√∪縺滓擂騾ア

修正後

1
00:00:01,000 --> 00:00:03,500
こんにちは、皆さん

2
00:00:04,000 --> 00:00:06,000
それでは、また来週

字幕ファイルを直す手順

  1. 字幕ファイル(.srt または .vtt)を上の枠にドラッグします。
  2. Mojibuster が文字コードを判別します。Shift_JIS なら UTF-8 に変換し、化けた文字があれば元に戻します。
  3. ダウンロード で保存し、動画と同じフォルダーにある元の字幕と置き換えます。ファイル名を動画と同じにしておくと、多くのプレーヤーが自動で読み込みます。

タイムコード、番号、空行、改行コードは変わりません。字幕の表示タイミングがずれることはありません。

ASS・SSA 字幕(アニメのファンサブなど)

アニメの字幕でよく使われる .ass・.ssa 形式も、中身はただのテキストです。古いものは Shift_JIS で保存されていることがよくあります。Mojibuster はこの拡張子を直接は受け付けないため、次の手順で変換します。

  1. 拡張子を一時的に .txt に変えます(例:episode01.ass → episode01.txt)。
  2. Mojibuster にドロップして変換し、ダウンロードします。
  3. 拡張子を .ass に戻します。

スタイルの定義や位置指定などの書式タグは、そのまま残ります。

プレーヤー・機器ごとのヒント

  • VLC: 設定の字幕に関する項目で、字幕の既定の文字コードを選べます。UTF-8 に変換した字幕なら、既定の設定のままで正しく表示されます。
  • MPC-BE・MPC-HC: 字幕の設定で文字セットを指定できますが、UTF-8 に変換しておけば設定を変えずに済みます。
  • スマートテレビ・メディアプレーヤー: USB メモリやホームサーバーから字幕を読む機器の多くは、UTF-8 だけを正しく表示します。BOM なしの UTF-8 が最も安全です。
  • Plex・Jellyfin: サーバーが字幕の文字コードを判別できないと � になります。サーバー上の字幕ファイルを UTF-8 のものに置き換え、ライブラリを更新してください。

たくさんの字幕をまとめて変換するには

Mojibuster は 1 ファイルずつ処理します。シリーズ全話分のように数が多いときは、Notepad++ で文字コードを変換する方法や PowerShell での一括変換が便利です。字幕以外の古いファイルもまとめて直すなら、Shift_JIS を UTF-8 に変換する方法も参考にしてください。

文字化けを防ぐには

  • 字幕は UTF-8(BOM なし)で保存します。
  • 字幕編集ソフトで保存するときは、保存の文字コードが UTF-8 になっているか確認します。
  • 古い字幕を手に入れたら、使う前に UTF-8 に変換しておきます。

よくある質問

字幕のタイミングがずれることはありませんか?

ありません。化けた文字だけを直し、タイムコード・番号・空行はそのまま残します。

� になった字幕も直せますか?

元の字幕ファイルなら直せます。� はプレーヤーが表示できなかった印で、ファイルの中には元のバイトが残っています。ただし、� のまま保存し直したファイルやコピーしたテキストは、情報が失われているため戻せません。

ASS 字幕にも使えますか?

はい。拡張子を一時的に .txt に変えれば変換できます。書式やスタイルは変わりません。

変換したのに、まだ化けて見えます。

プレーヤーの字幕の文字コードが Shift_JIS などに固定されていないか確認し、「自動」か UTF-8 に戻してください。

字幕ファイルはアップロードされますか?

いいえ。変換はすべてブラウザー内で行われ、ファイルが端末の外に出ることはありません。

関連ガイド