製品ガイド

SRTとVTT:字幕ファイルの選び方と正しい変換方法

セクションにジャンプ

セクションにジャンプ

まとめる

まとめる

共有する

共有する

共有する

AIビデオ翻訳、ローカリゼーション、および吹き替えツール

無料でお試しください

アップロード先が対応していればSRTを選びます。HTML標準の動画テキストトラックにはVTTを使い、変換後の時刻とテキストを確認してください。

SRTとVTTの選択は配信先によって決まります。編集ソフトで使える字幕でも、ウェブサイトでは別の形式が必要な場合があります。確認済みの原本を保管し、配信先の要件を調べてコピーを変換しましょう。

配信先に合わせて形式を選ぶ

配信先

選択

納品前の確認

基本字幕に対応するYouTubeアップロード

SRTで十分。VTTも対応

UTF-8と正しい時刻。SRTスタイルは読み込まれない

HTML標準の動画テキストトラック

VTT

トラックが読み込まれ、字幕が表示されること

常に映像内に字幕を表示

字幕を焼き込んだ動画を書き出す

最終クロップ後も文字が読めること

SRT(SubRip)は配信先が基本的な時刻付き字幕に対応している場合に使えます。YouTubeはUTF-8のプレーンテキストSRTに対応していますが、SRTのスタイル指定は認識しません。WebVTTも対応形式に含まれるため、受け付けられるSRTをYouTube向けだけに変換する必要は通常ありません。YouTubeの対応字幕形式を確認してください。

WebVTTはHTML標準の動画プレイヤーで使用するテキストトラック形式です。VTTはWEBVTTで始まり、UTF-8を使用し、字幕区間の設定を含めることができます。時刻の小数部分にはピリオドを使います。別トラックは視聴者が選択でき、映像に字幕を恒久的に焼き付けるものではありません。MDNのWebVTT形式リファレンスを参照してください。

ファイル作成の前に文字起こしが必要なら、音声からの文字起こしを利用してください。全体の流れは字幕生成ガイドで説明しています。

SRTからVTTへの変換テストで何が変わったか

2026年10月16日、作成したUTF-8のSRTサンプル5ファイルをFFmpeg 9.0.1で変換しました。全10区間で開始・終了時刻とテキストが保持されました。サンプルには句読点、韓国語・日本語・ポルトガル語、2行字幕、1時間の境界をまたぐ区間、重なる会話を含めました。

これは架空テキストによるファイル変換の検証で、Perso Dubbingの性能評価ではありません。ファイル比較では再生を検証せず、別のブラウザ検証を下記に記載しています。フォント、色、位置、カラオケ効果、壊れた形式は未検証です。テキストと時刻が保たれても、すべてのプレイヤーで同じ表示になるとは限りません。

合成サンプル

区間数

ファイル比較

句読点と1,250のカンマ

2

時刻・テキスト一致

韓国語・日本語・ポルトガル語

3

時刻・テキスト一致

2行字幕

1

時刻・改行一致

1時間の境界

2

時刻・テキスト一致

重なる会話

2

時刻・テキスト一致

同じ時刻とテキストを持つSRTとVTTの例。VTTではWEBVTTヘッダーと小数点を使用します。

SRTをVTTに変換して結果を確認する手順

  1. SRT原本と最終動画を一緒に保管します。比較できるようコピーで作業してください。

  2. 字幕編集ソフトのWebVTT書き出し、またはSRT入力とVTT出力に明示的に対応した変換ツールを使います。今回のコマンドはffmpeg -i input.srt output.vttでした。ローカルにFFmpegが必要です。FFmpeg公式ドキュメントを参照してください。

  3. 出力をプレーンテキストエディターで開き、WEBVTTヘッダー、区間間の空行、時刻の書式を確認します。SRTの00:00:01,250とVTTの00:00:01.250は同じ時点です。拡張子の変更だけでは内容は変換されません。

  4. 区間数、開始・終了時刻、実際の文言を原本と比較します。句読点やアクセント付き文字も確認してください。会話中のカンマは残す必要があるため、すべてのカンマを一括置換しないでください。

  5. 配信先プレイヤーに読み込み、序盤・中盤・最後の区間と重なる会話を確認します。PCとスマートフォンの両方で改行と字幕表示を確認してください。

5つのサンプルはファイル単位の時刻・テキスト比較に合格しました。公開前には自分の最終動画を配信先で確認してください。動画への接続はHTML動画に字幕を追加するMDNガイドを参照できます。

小さなサンプルで検証を再現する

以下をUTF-8のプレーンテキストとしてsample.srtに保存します。各時間範囲は1行に記述し、区間間に空行を1行入れます。会話中のカンマは、変換で句読点が変わらないか確認するために入れています。

1
00:00:01,250 --> 00:00:03,500
Hello, world. Keep this comma.

2
00:00:04,200 --> 00:00:06,100
Price: 1,250 dollars.

次のコマンドで変換します: ffmpeg -i sample.srt sample.vtt 今回のFFmpeg出力は次のとおりです。

WEBVTT

00:01.250 --> 00:03.500
Hello, world. Keep this comma.

00:04.200 --> 00:06.100
Price: 1,250 dollars.

FFmpegは区間番号と0時間の接頭辞を省略しました。どちらもWebVTTでは許容されます。バイト単位の一致ではなく、時刻の値とテキストを比較してください。

簡単なブラウザ検証では、sample.vttとsample.mp4という動画を同じHTTPオリジンから配信します。動画は7秒以上を使用し、次のHTMLを追加します。

<video controls>
<source src="sample.mp4" type="video/mp4">
<track default kind="subtitles" src="sample.vtt" srclang="en" label="English">
</video>

2026年10月16日、macOSのCodex内蔵ブラウザで7秒の合成動画を使って確認しました。2秒では最初の字幕、5秒では1,250のカンマを保持した2番目の字幕が表示されました。6.5秒ではアクティブな字幕区間はありませんでした。単一のデスクトップ環境で指定時刻へ移動して確認したもので、複数ブラウザやモバイルの互換性認証ではありません。

字幕が出ない場合は、トラックが有効か、VTTのURLを開けるか、現在の時刻が字幕区間内かを確認します。ローカルサーバーはVTTをtext/vttで配信しました。異なるオリジン間の配信は別途設定が必要で、今回は検証していません。

形式変換で解決できないこと

テキストを別途翻訳しない限り、SRTをVTTに変えても字幕言語は変わりません。既存の遅延や徐々に広がるずれも修正されません。原本から同期していない場合は、変換前に字幕タイミングのガイドを確認してください。

翻訳動画では、視聴者が聞く音声と字幕を照合します。各字幕ファイルを正しい動画バージョンと組み合わせて管理してください。後からカットすると、正しかった字幕が合わなくなることがあります。

2026年10月13日に確認したPerso Dubbingプロジェクトエディターでは、DownloadメニューにOriginal SubtitlesとTranslated SubtitlesがSRT形式で表示されました。これはその吹き替えエディターの観測で、すべての出力画面やアカウントを検証したものではありません。VTTが必要ならダウンロードしたSRTを別途変換して同じ確認を行ってください。ファイル変換は音声の翻訳や再生成を行いません。

字幕と翻訳音声の両方が必要ならPerso Dubbingを利用してください。最終音声と字幕の文言を確認し、配信先が要求する形式を準備します。

よくある質問

Q. SRTの名前をVTTに変えるだけで使えますか?
A. 名前変更はファイル名だけを変えます。WebVTTとして書き出すか変換し、ヘッダーと時刻を確認してください。原本とテキスト・時刻を比較してから配信先プレイヤーで試してください。

Q. SRTをVTTにすると字幕の時刻は変わりますか?
A. 形式変換では時刻が保持されるべきです。合成サンプル5ファイルのテストでは全10区間で開始・終了時刻が保持されました。この限定的な結果がすべての変換ツールや入力を保証するものではありません。出力を比較し、最終動画でも確認してください。

Q. VTT字幕は常に表示されますか?
A. 別のVTTトラックはプレイヤーと字幕設定に依存します。再生環境にかかわらず表示する必要があるなら、字幕を焼き込んだ動画を書き出してください。後の言語・文言変更に備えて編集可能な字幕ファイルも保管しましょう。

アップロード先が対応していればSRTを選びます。HTML標準の動画テキストトラックにはVTTを使い、変換後の時刻とテキストを確認してください。

SRTとVTTの選択は配信先によって決まります。編集ソフトで使える字幕でも、ウェブサイトでは別の形式が必要な場合があります。確認済みの原本を保管し、配信先の要件を調べてコピーを変換しましょう。

配信先に合わせて形式を選ぶ

配信先

選択

納品前の確認

基本字幕に対応するYouTubeアップロード

SRTで十分。VTTも対応

UTF-8と正しい時刻。SRTスタイルは読み込まれない

HTML標準の動画テキストトラック

VTT

トラックが読み込まれ、字幕が表示されること

常に映像内に字幕を表示

字幕を焼き込んだ動画を書き出す

最終クロップ後も文字が読めること

SRT(SubRip)は配信先が基本的な時刻付き字幕に対応している場合に使えます。YouTubeはUTF-8のプレーンテキストSRTに対応していますが、SRTのスタイル指定は認識しません。WebVTTも対応形式に含まれるため、受け付けられるSRTをYouTube向けだけに変換する必要は通常ありません。YouTubeの対応字幕形式を確認してください。

WebVTTはHTML標準の動画プレイヤーで使用するテキストトラック形式です。VTTはWEBVTTで始まり、UTF-8を使用し、字幕区間の設定を含めることができます。時刻の小数部分にはピリオドを使います。別トラックは視聴者が選択でき、映像に字幕を恒久的に焼き付けるものではありません。MDNのWebVTT形式リファレンスを参照してください。

ファイル作成の前に文字起こしが必要なら、音声からの文字起こしを利用してください。全体の流れは字幕生成ガイドで説明しています。

SRTからVTTへの変換テストで何が変わったか

2026年10月16日、作成したUTF-8のSRTサンプル5ファイルをFFmpeg 9.0.1で変換しました。全10区間で開始・終了時刻とテキストが保持されました。サンプルには句読点、韓国語・日本語・ポルトガル語、2行字幕、1時間の境界をまたぐ区間、重なる会話を含めました。

これは架空テキストによるファイル変換の検証で、Perso Dubbingの性能評価ではありません。ファイル比較では再生を検証せず、別のブラウザ検証を下記に記載しています。フォント、色、位置、カラオケ効果、壊れた形式は未検証です。テキストと時刻が保たれても、すべてのプレイヤーで同じ表示になるとは限りません。

合成サンプル

区間数

ファイル比較

句読点と1,250のカンマ

2

時刻・テキスト一致

韓国語・日本語・ポルトガル語

3

時刻・テキスト一致

2行字幕

1

時刻・改行一致

1時間の境界

2

時刻・テキスト一致

重なる会話

2

時刻・テキスト一致

同じ時刻とテキストを持つSRTとVTTの例。VTTではWEBVTTヘッダーと小数点を使用します。

SRTをVTTに変換して結果を確認する手順

  1. SRT原本と最終動画を一緒に保管します。比較できるようコピーで作業してください。

  2. 字幕編集ソフトのWebVTT書き出し、またはSRT入力とVTT出力に明示的に対応した変換ツールを使います。今回のコマンドはffmpeg -i input.srt output.vttでした。ローカルにFFmpegが必要です。FFmpeg公式ドキュメントを参照してください。

  3. 出力をプレーンテキストエディターで開き、WEBVTTヘッダー、区間間の空行、時刻の書式を確認します。SRTの00:00:01,250とVTTの00:00:01.250は同じ時点です。拡張子の変更だけでは内容は変換されません。

  4. 区間数、開始・終了時刻、実際の文言を原本と比較します。句読点やアクセント付き文字も確認してください。会話中のカンマは残す必要があるため、すべてのカンマを一括置換しないでください。

  5. 配信先プレイヤーに読み込み、序盤・中盤・最後の区間と重なる会話を確認します。PCとスマートフォンの両方で改行と字幕表示を確認してください。

5つのサンプルはファイル単位の時刻・テキスト比較に合格しました。公開前には自分の最終動画を配信先で確認してください。動画への接続はHTML動画に字幕を追加するMDNガイドを参照できます。

小さなサンプルで検証を再現する

以下をUTF-8のプレーンテキストとしてsample.srtに保存します。各時間範囲は1行に記述し、区間間に空行を1行入れます。会話中のカンマは、変換で句読点が変わらないか確認するために入れています。

1
00:00:01,250 --> 00:00:03,500
Hello, world. Keep this comma.

2
00:00:04,200 --> 00:00:06,100
Price: 1,250 dollars.

次のコマンドで変換します: ffmpeg -i sample.srt sample.vtt 今回のFFmpeg出力は次のとおりです。

WEBVTT

00:01.250 --> 00:03.500
Hello, world. Keep this comma.

00:04.200 --> 00:06.100
Price: 1,250 dollars.

FFmpegは区間番号と0時間の接頭辞を省略しました。どちらもWebVTTでは許容されます。バイト単位の一致ではなく、時刻の値とテキストを比較してください。

簡単なブラウザ検証では、sample.vttとsample.mp4という動画を同じHTTPオリジンから配信します。動画は7秒以上を使用し、次のHTMLを追加します。

<video controls>
<source src="sample.mp4" type="video/mp4">
<track default kind="subtitles" src="sample.vtt" srclang="en" label="English">
</video>

2026年10月16日、macOSのCodex内蔵ブラウザで7秒の合成動画を使って確認しました。2秒では最初の字幕、5秒では1,250のカンマを保持した2番目の字幕が表示されました。6.5秒ではアクティブな字幕区間はありませんでした。単一のデスクトップ環境で指定時刻へ移動して確認したもので、複数ブラウザやモバイルの互換性認証ではありません。

字幕が出ない場合は、トラックが有効か、VTTのURLを開けるか、現在の時刻が字幕区間内かを確認します。ローカルサーバーはVTTをtext/vttで配信しました。異なるオリジン間の配信は別途設定が必要で、今回は検証していません。

形式変換で解決できないこと

テキストを別途翻訳しない限り、SRTをVTTに変えても字幕言語は変わりません。既存の遅延や徐々に広がるずれも修正されません。原本から同期していない場合は、変換前に字幕タイミングのガイドを確認してください。

翻訳動画では、視聴者が聞く音声と字幕を照合します。各字幕ファイルを正しい動画バージョンと組み合わせて管理してください。後からカットすると、正しかった字幕が合わなくなることがあります。

2026年10月13日に確認したPerso Dubbingプロジェクトエディターでは、DownloadメニューにOriginal SubtitlesとTranslated SubtitlesがSRT形式で表示されました。これはその吹き替えエディターの観測で、すべての出力画面やアカウントを検証したものではありません。VTTが必要ならダウンロードしたSRTを別途変換して同じ確認を行ってください。ファイル変換は音声の翻訳や再生成を行いません。

字幕と翻訳音声の両方が必要ならPerso Dubbingを利用してください。最終音声と字幕の文言を確認し、配信先が要求する形式を準備します。

よくある質問

Q. SRTの名前をVTTに変えるだけで使えますか?
A. 名前変更はファイル名だけを変えます。WebVTTとして書き出すか変換し、ヘッダーと時刻を確認してください。原本とテキスト・時刻を比較してから配信先プレイヤーで試してください。

Q. SRTをVTTにすると字幕の時刻は変わりますか?
A. 形式変換では時刻が保持されるべきです。合成サンプル5ファイルのテストでは全10区間で開始・終了時刻が保持されました。この限定的な結果がすべての変換ツールや入力を保証するものではありません。出力を比較し、最終動画でも確認してください。

Q. VTT字幕は常に表示されますか?
A. 別のVTTトラックはプレイヤーと字幕設定に依存します。再生環境にかかわらず表示する必要があるなら、字幕を焼き込んだ動画を書き出してください。後の言語・文言変更に備えて編集可能な字幕ファイルも保管しましょう。

アップロード先が対応していればSRTを選びます。HTML標準の動画テキストトラックにはVTTを使い、変換後の時刻とテキストを確認してください。

SRTとVTTの選択は配信先によって決まります。編集ソフトで使える字幕でも、ウェブサイトでは別の形式が必要な場合があります。確認済みの原本を保管し、配信先の要件を調べてコピーを変換しましょう。

配信先に合わせて形式を選ぶ

配信先

選択

納品前の確認

基本字幕に対応するYouTubeアップロード

SRTで十分。VTTも対応

UTF-8と正しい時刻。SRTスタイルは読み込まれない

HTML標準の動画テキストトラック

VTT

トラックが読み込まれ、字幕が表示されること

常に映像内に字幕を表示

字幕を焼き込んだ動画を書き出す

最終クロップ後も文字が読めること

SRT(SubRip)は配信先が基本的な時刻付き字幕に対応している場合に使えます。YouTubeはUTF-8のプレーンテキストSRTに対応していますが、SRTのスタイル指定は認識しません。WebVTTも対応形式に含まれるため、受け付けられるSRTをYouTube向けだけに変換する必要は通常ありません。YouTubeの対応字幕形式を確認してください。

WebVTTはHTML標準の動画プレイヤーで使用するテキストトラック形式です。VTTはWEBVTTで始まり、UTF-8を使用し、字幕区間の設定を含めることができます。時刻の小数部分にはピリオドを使います。別トラックは視聴者が選択でき、映像に字幕を恒久的に焼き付けるものではありません。MDNのWebVTT形式リファレンスを参照してください。

ファイル作成の前に文字起こしが必要なら、音声からの文字起こしを利用してください。全体の流れは字幕生成ガイドで説明しています。

SRTからVTTへの変換テストで何が変わったか

2026年10月16日、作成したUTF-8のSRTサンプル5ファイルをFFmpeg 9.0.1で変換しました。全10区間で開始・終了時刻とテキストが保持されました。サンプルには句読点、韓国語・日本語・ポルトガル語、2行字幕、1時間の境界をまたぐ区間、重なる会話を含めました。

これは架空テキストによるファイル変換の検証で、Perso Dubbingの性能評価ではありません。ファイル比較では再生を検証せず、別のブラウザ検証を下記に記載しています。フォント、色、位置、カラオケ効果、壊れた形式は未検証です。テキストと時刻が保たれても、すべてのプレイヤーで同じ表示になるとは限りません。

合成サンプル

区間数

ファイル比較

句読点と1,250のカンマ

2

時刻・テキスト一致

韓国語・日本語・ポルトガル語

3

時刻・テキスト一致

2行字幕

1

時刻・改行一致

1時間の境界

2

時刻・テキスト一致

重なる会話

2

時刻・テキスト一致

同じ時刻とテキストを持つSRTとVTTの例。VTTではWEBVTTヘッダーと小数点を使用します。

SRTをVTTに変換して結果を確認する手順

  1. SRT原本と最終動画を一緒に保管します。比較できるようコピーで作業してください。

  2. 字幕編集ソフトのWebVTT書き出し、またはSRT入力とVTT出力に明示的に対応した変換ツールを使います。今回のコマンドはffmpeg -i input.srt output.vttでした。ローカルにFFmpegが必要です。FFmpeg公式ドキュメントを参照してください。

  3. 出力をプレーンテキストエディターで開き、WEBVTTヘッダー、区間間の空行、時刻の書式を確認します。SRTの00:00:01,250とVTTの00:00:01.250は同じ時点です。拡張子の変更だけでは内容は変換されません。

  4. 区間数、開始・終了時刻、実際の文言を原本と比較します。句読点やアクセント付き文字も確認してください。会話中のカンマは残す必要があるため、すべてのカンマを一括置換しないでください。

  5. 配信先プレイヤーに読み込み、序盤・中盤・最後の区間と重なる会話を確認します。PCとスマートフォンの両方で改行と字幕表示を確認してください。

5つのサンプルはファイル単位の時刻・テキスト比較に合格しました。公開前には自分の最終動画を配信先で確認してください。動画への接続はHTML動画に字幕を追加するMDNガイドを参照できます。

小さなサンプルで検証を再現する

以下をUTF-8のプレーンテキストとしてsample.srtに保存します。各時間範囲は1行に記述し、区間間に空行を1行入れます。会話中のカンマは、変換で句読点が変わらないか確認するために入れています。

1
00:00:01,250 --> 00:00:03,500
Hello, world. Keep this comma.

2
00:00:04,200 --> 00:00:06,100
Price: 1,250 dollars.

次のコマンドで変換します: ffmpeg -i sample.srt sample.vtt 今回のFFmpeg出力は次のとおりです。

WEBVTT

00:01.250 --> 00:03.500
Hello, world. Keep this comma.

00:04.200 --> 00:06.100
Price: 1,250 dollars.

FFmpegは区間番号と0時間の接頭辞を省略しました。どちらもWebVTTでは許容されます。バイト単位の一致ではなく、時刻の値とテキストを比較してください。

簡単なブラウザ検証では、sample.vttとsample.mp4という動画を同じHTTPオリジンから配信します。動画は7秒以上を使用し、次のHTMLを追加します。

<video controls>
<source src="sample.mp4" type="video/mp4">
<track default kind="subtitles" src="sample.vtt" srclang="en" label="English">
</video>

2026年10月16日、macOSのCodex内蔵ブラウザで7秒の合成動画を使って確認しました。2秒では最初の字幕、5秒では1,250のカンマを保持した2番目の字幕が表示されました。6.5秒ではアクティブな字幕区間はありませんでした。単一のデスクトップ環境で指定時刻へ移動して確認したもので、複数ブラウザやモバイルの互換性認証ではありません。

字幕が出ない場合は、トラックが有効か、VTTのURLを開けるか、現在の時刻が字幕区間内かを確認します。ローカルサーバーはVTTをtext/vttで配信しました。異なるオリジン間の配信は別途設定が必要で、今回は検証していません。

形式変換で解決できないこと

テキストを別途翻訳しない限り、SRTをVTTに変えても字幕言語は変わりません。既存の遅延や徐々に広がるずれも修正されません。原本から同期していない場合は、変換前に字幕タイミングのガイドを確認してください。

翻訳動画では、視聴者が聞く音声と字幕を照合します。各字幕ファイルを正しい動画バージョンと組み合わせて管理してください。後からカットすると、正しかった字幕が合わなくなることがあります。

2026年10月13日に確認したPerso Dubbingプロジェクトエディターでは、DownloadメニューにOriginal SubtitlesとTranslated SubtitlesがSRT形式で表示されました。これはその吹き替えエディターの観測で、すべての出力画面やアカウントを検証したものではありません。VTTが必要ならダウンロードしたSRTを別途変換して同じ確認を行ってください。ファイル変換は音声の翻訳や再生成を行いません。

字幕と翻訳音声の両方が必要ならPerso Dubbingを利用してください。最終音声と字幕の文言を確認し、配信先が要求する形式を準備します。

よくある質問

Q. SRTの名前をVTTに変えるだけで使えますか?
A. 名前変更はファイル名だけを変えます。WebVTTとして書き出すか変換し、ヘッダーと時刻を確認してください。原本とテキスト・時刻を比較してから配信先プレイヤーで試してください。

Q. SRTをVTTにすると字幕の時刻は変わりますか?
A. 形式変換では時刻が保持されるべきです。合成サンプル5ファイルのテストでは全10区間で開始・終了時刻が保持されました。この限定的な結果がすべての変換ツールや入力を保証するものではありません。出力を比較し、最終動画でも確認してください。

Q. VTT字幕は常に表示されますか?
A. 別のVTTトラックはプレイヤーと字幕設定に依存します。再生環境にかかわらず表示する必要があるなら、字幕を焼き込んだ動画を書き出してください。後の言語・文言変更に備えて編集可能な字幕ファイルも保管しましょう。

SRTとVTT:字幕ファイルの選び方と正しい変換方法
製品ガイド

SRTとVTT:字幕ファイルの選び方と正しい変換方法

Heesun Kim

プロダクトマネージャー & QAエンジニア

字幕のズレを直す方法、Perso Dubbing
製品ガイド

字幕のズレを直す方法:一定の遅延、ドリフト、編集後の調整

Heesun Kim

プロダクトマネージャー & QAエンジニア

AI吹き替え用語集:ブランド名と専門用語の訳語を統一する方法
製品ガイド

AI吹き替え用語集:ブランド名と専門用語の訳語を統一する方法

Heesun Kim

プロダクトマネージャー & QAエンジニア