メインコンテンツへスキップ
SubtitleMatrix

SRT 字幕フォーマット

形式変換SubRip(SRT)

この形式が表現できること

テキストのスタイル
プレーンテキストのみ
画面内の位置指定
非対応
カラオケのタイミング
非対応
字幕ブロック内の改行
対応
タイムライン
各字幕の開始と終了の時刻
タイミングの精度
1 ms
フレーム番号で保存されるタイミング
非対応
右から左に書く言語
対応

例

典型的な SRT ファイルと、そこから読み取れる内容

ファイル

1
00:00:01,000 --> 00:00:03,500
Hello there.

2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.

3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.

ファイルの中身

3 cues, 4 lines of text

  00:00:01,000 → 00:00:03,500
    Hello there.
  00:00:03,500 → 00:00:06,000
    Whispering now.   [italic ×1]
    And a second line.
  00:00:06,000 → 00:00:09,250
    Bold statement.   [bold ×1]

Outside the cues:
  nothing — SRT stores cues and nothing else

右側は変換後のファイルではなく、このサイトが左側から読み取った内容です。どの変換も、この読み取り結果から出発します。

崩れた SRT ファイルと、それでも読み取れる内容

ファイル

# exported by some tool

5
00:00:10,000 --> 00:00:12,000
Second in the file, first in time.

2
00:00:02,000 --> 00:00:05,000
First in time, second in the file.

00:00:06,000 --> 00:00:09,500
No index line at all.

# keep this comment
3
00:00:12,000 --> 00:00:14,500 X1:100 X2:200 Y1:300 Y2:400
Positioned cue.

4
00:00:20,000 --> 00:00:19,000
Ends before it starts.

6
00:00:28,000 --> 00:00:33,000
Long one.

7
00:00:31,000 --> 00:00:32,000
Inside the long one.

ファイルの中身

7 cues, 7 lines of text

  00:00:02,000 → 00:00:05,000
    First in time, second in the file.
  00:00:06,000 → 00:00:09,500
    No index line at all.
  00:00:10,000 → 00:00:12,000
    Second in the file, first in time.
  00:00:12,000 → 00:00:14,500
    Positioned cue.
  00:00:20,000 → 00:00:20,001
    Ends before it starts.
  00:00:28,000 → 00:00:33,000
    Long one.
  00:00:31,000 → 00:00:32,000
    Inside the long one.

Outside the cues:
  nothing — SRT stores cues and nothing else
  except 1 cue that had a comment line above it — that line stays attached to its cue

Reported while reading — repaired or skipped, never silently:
  1 × blocks with no readable timecode (they were skipped)
  1 × cues using SRT's non-standard X1/Y1 screen coordinate extensions
  1 × cues whose end time was not after their start time (they were given a 1ms duration)

実際のファイルには BOM、Windows の改行、タイムコードの前の余分な行、まったく読めないタイムコードが付いてきます。どれも例外にはせず、理解できない部分は黙って捨てずに報告します。

SubRip (SRT) を他の形式に変換

いずれもブラウザ内で完結します。ラベルには、その方向で何が失われるかが開く前に示されています。

SRT を 1 行 1 字幕の CSV にします。失われる情報はなく、番号・開始・終了・本文が列に並びます。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

SRT の各ブロックを JSON の cue に移します。この方向では何も失われず、そのまま読み戻せます。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

SRT を SBV の 2 行組みにします。本文と時刻はそのまま移り、失われる情報はありません。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

SRT を SMI の同期ブロックにします。この方向で失われる情報はなく、本文と時間軸が残ります。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

SRT を TTML の span にします。本文も時刻もそのまま移り、失われる情報はありません。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

SRT を VTT のキューにします。失われる情報はなく、時刻の小数点はカンマからピリオドに変わります。

この方向では何も失われません。元の形式のすべての機能に、変換先での行き先があります。

この形式への変換

SubRip(SRT)は、このサイトが扱う字幕形式のひとつです。このページはその形式のリファレンスで、何を保存できて何を保存できないか、そして変換先ごとのページをまとめています。

上の対応表がすべてで、隠れた機能一覧はありません。×の行は、その形式から SRT に変換したときに失われるものそのものです。下に並ぶ各変換ページでは、ファイルを開く前に同じ内容を明示しています。

どの変換もブラウザ内で実行されます。アップロードもアカウント登録も不要なので、NDA の下にある素材、カルテ、放送前の映像でもそのまま扱えます。

よくある質問

SRT ファイルとはどんな形式ですか?

VLC、mpv、多くのテレビ機器、YouTube の字幕アップロード、付属の編集ソフトが読む、もっとも普及した字幕形式です。1 つの字幕は番号、タイムコード行、1〜2 行のテキストでできています。

SRT はスタイルを保存できますか?

いいえ。SRT が持つのは字幕ブロックで、それはテキストと 2 つの時刻です。実在する SRT には <b> や <i> が書かれ、多くのプレーヤーが解釈しますが、ファイル自身はフォントも色も位置も宣言しません。

SRT の各字幕ブロックは開始と終了の両方を持ちますか?

はい。SRT の時刻は 00:00:04,126 のように書かれ、ミリ秒まで表現できます。値は正確なので、短い字幕も長い字幕も、次の字幕と重なる字幕もそのまま扱えます。

SRT から無損失で変換できる形式はどれですか?

VTT、SBV、SMI、TTML、JSON、CSV です。SRT が表現できるものをすべて表現でき、上の表で両側が「はい」の行がそのまま残ります。それ以外の方向では何かが失われます。

SRT ファイルはテキストエディタで開けますか?

開けます。番号、タイムコード行、テキストの繰り返しで、手で書くときに間違えやすいのはタイムコードの区切りです。00:00:01,250 のように、秒とミリ秒の間はカンマです。