YouTubeの字幕はダウンロードできます。方法は少なくとも5通りあり、それぞれ得意な場面が異なります。講義1本をすぐ書き出したいのか、数百本をまとめて処理したいのかで選ぶべき方法は変わります。以下の5つの方法で、その両方に対応できます。
選ぶ前に、比較の観点を整理しておきます。速度(どれだけ早くテキストが手に入るか)、精度と句読点(自動生成の字幕か、投稿者が用意した字幕か)、まとめて処理できるか(1本ずつか、数百本か)、無料で使えるか、そして手軽さ(設定不要か、Pythonが必要か)の5点です。
方法1: YouTube標準の文字起こし機能
もっとも簡単なのは、YouTubeにもとから備わっている機能を使うことです。拡張機能もアカウントもインストールも不要で、パソコンのブラウザでYouTubeを開くだけで済みます。
手順1 — 動画を開いて説明欄を展開する
パソコンのブラウザでYouTubeの動画ページを開きます。タイトル下の説明欄をクリックして展開します。
手順2 — 「文字起こしを表示」を選ぶ
説明欄の下部にある文字起こしを表示をクリックします。画面の右側(レイアウトによっては動画の下)にパネルが開き、各行に時間が付いた状態で全文が表示されます。
手順3 — タイムスタンプを切り替えてコピーする
時間表示のないテキストが欲しい場合は、文字起こしパネル右上の三点メニューからタイムスタンプ表示を切り替えるを選びます。あとはパネル内を全選択(Ctrl+A / Cmd+A)してコピーし、文書に貼り付けます。
長所:
- インストール不要
- 常に無料
- 字幕のあるYouTube動画ならどれでも使える
短所:
- 手作業のコピーになるため、複数本では時間がかかる
- そのままではファイル(TXT・SRTなど)として書き出せない
- YouTubeのモバイルアプリでは地域によって使えない
方法2:文字起こしをコピーして整形する
方法1の応用で、できるだけ速く、使えるテキストとして文書に取り込むことに絞った進め方です。
手順1 — 文字起こしパネルを開く
方法1と同じ手順でパネルを開きます。
手順2 — 全選択してコピーする
パネル内をクリックし、Ctrl+A(Windows)またはCmd+A(Mac)で全選択して、Ctrl+C / Cmd+Cでコピーします。Googleドキュメント、Notion、任意のテキストエディタにそのまま貼り付けられます。
手順3 — タイムスタンプを取り除く
時間表示を残したままコピーした場合は、検索と置換で\d+:\d+\s*のような正規表現を使って削除します。短い動画なら手作業で消しても構いません。
なお、自動生成の字幕には句読点が入りません。行の区切りは文の切れ目ではなく、話者が息を継いだ位置です。読める形の文章が必要な場合は、AIツールに通すか、次の方法3で紹介する拡張機能を使ってください。
方法3:ブラウザ拡張機能
Chrome拡張機能を使うと、字幕の取得がワンクリックで済み、さらにMarkdownでの書き出し、AI要約、単語カードの生成まで行えます。
Glasp(無料)
Glaspはハイライトの共有と知識の蓄積を目的としたツールで、YouTubeの文字起こし機能を備えています。Glaspを入れた状態でYouTube動画を開き、GlaspのアイコンからCopy TranscriptまたはExportを選びます。取得した文字起こしはGlasp内のライブラリに保存したり、ハイライトを他のユーザーと共有したりできます。個人利用は無料で、無料プランには1日あたりのハイライト数の上限があります。
YouTube AI Notes(無料)
YouTube AI Notesは、YouTube動画を学習用の教材に変えることに特化したChrome拡張機能です。ワンクリックで文字起こしを表示でき、テキストそのものだけでなく、構造化された要点や単語カードまで欲しい場合は、動画からノートを自動生成することもできます。無料プランは文字起こしの表示とAIノート生成(月3回)に対応し、有料プラン(月額$5)では生成が無制限になり、単語カード・間隔反復・Markdown書き出しが使えます。
Chromeに追加 — 無料そのほかの拡張機能
- Tactiq:Google MeetやYouTubeの再生中にリアルタイムで文字起こしを取得できます。
- NoteGPT:文字起こしと並べてAI要約を生成し、複数の書き出し形式に対応しています。
- Eightify:短いAI要約が主役ですが、文字起こしの表示にも対応しています。
いずれも無料プランがありますが、利用量に上限があります。
方法4:オンラインツール
拡張機能を入れたくない場合は、YouTubeのURLを貼り付けるだけで字幕をファイルとしてダウンロードできるウェブサービスがあります。
使い方
ツールの入力欄にYouTubeのURLを貼り付け、字幕が複数ある場合は言語を選び、TXT・SRT(時間つき)・VTTなど好みの形式でダウンロードします。
代表的なサービス
- DownSub:無料で使え、多くのYouTube動画と複数の字幕形式に対応しています。
- Tactiqのウェブ版・NoteGPT.io:同じことができ、AI要約も付きます。
プライバシーについて
第三者のツールにYouTubeのURLを貼り付けると、そのURL(場合によっては動画のメタデータも)がサービス側のサーバーに送信されます。機密性のある動画や限定公開の動画では、手元で完結する方法1・2・5を使ってください。
長所:
- インストール不要
- ブラウザがあればどの端末からでも使える
- 一部のツールはまとめてのダウンロードに対応
短所:
- URLが第三者のサーバーに送信される
- 無料プランには回数制限や広告がある
- サービスが提供され続けるかに依存する
方法5:プログラムから取得する(youtube-transcript-api)
大量の動画を調査する場合や、データ処理・CIワークフローに組み込む場合は、youtube-transcript-apiというPythonライブラリがもっとも柔軟です。APIキーなしで、YouTubeの字幕エンドポイントから直接取得します。
インストール
pip install youtube-transcript-api
基本的な使い方
from youtube_transcript_api import YouTubeTranscriptApi
video_id = "dQw4w9WgXcQ" # 取得したい動画のIDに置き換える
transcript = YouTubeTranscriptApi.get_transcript(video_id)
for entry in transcript:
print(f"{entry['start']:.1f}s {entry['text']}")
返ってくるリストの各要素には、字幕の行にあたるtext、先頭からの秒数を表すstart、表示時間を表すdurationが入っています。textをすべて連結すれば、ただの文字列としての文字起こしが得られます。
この方法が向く場面
数本を超える動画を扱うとき、文字起こしを大きなデータ処理に組み込みたいとき、タイムスタンプの扱いを細かく制御したいときに向いています。ヘッドレス環境やサーバー上で確実に動く唯一の方法でもあります。
利用規約について:YouTubeのデータを自動で大量に取得する行為は、YouTubeの利用規約に抵触する可能性があります。商用または大規模な用途では、OAuthとGoogle Cloudのプロジェクトが必要になる公式のYouTube Data API v3のcaptionsエンドポイントの利用を検討してください。