BulkTranscripts logo BulkTranscripts

Export formats

Export YouTube transcripts in any format

Markdown, plain text, SRT, VTT, CSV or JSON. Paste a video, playlist or channel URL, choose the format, and download one file per video or a single combined file.

Come back anytime Press ⌘ D to bookmark this tool.
30 transcript extractions free · no card

Which format should I pick?

FormatTimestampsMetadataBest for
Markdown .mdOptional, per paragraphTitle, channel, date, link in a headerNotes apps, wikis, feeding an AI
TXT .txtOptional, per lineOne title lineAnything that reads plain text
SRT .srtYes, start and end per cueNoVideo editors, re-uploading captions
VTT .vttYes, start and end per cueNoHTML5 players, browser captions
CSV .csvYes, start and duration per rowvideo_id and title on every rowSpreadsheets, pandas, analysis
JSON .jsonYes, start and duration per segmentFull object: id, title, channel, date, language, sourceCode, pipelines, RAG

YouTube transcript to Markdown

Clean headings, metadata, and readable paragraphs — ready for Obsidian, Notion, or any notes app. Mostly for note-takers and writers.

# How to Build a Second Brain

**Channel:** Tiago Forte  
**Uploaded:** 2024-03-12  
**Duration:** 18:42  
**Link:** https://www.youtube.com/watch?v=dQw4w9WgXcQ

---

The idea is simple: your brain is for having ideas, not holding them.

Capture is the first habit. Anything that resonates gets saved.

An H1 title, a bold metadata block, a horizontal rule, then paragraphs. With timestamps on, each paragraph is prefixed **[m:ss]**. Drops straight into Obsidian, Notion or a Git repo.

Export transcripts as Markdown

YouTube transcript to TXT

Nothing but the words. The most portable format there is. Mostly for anyone who just wants the text.

How to Build a Second Brain
Tiago Forte
https://www.youtube.com/watch?v=dQw4w9WgXcQ

The idea is simple: your brain is for having ideas, not holding them. Most of us
treat memory as storage and then wonder why nothing sticks.

Capture is the first habit. Anything that resonates gets saved, in whatever tool
you already use, without deciding yet whether it matters.

A three-line header (title, channel, URL), a blank line, then the transcript as paragraphs. Timestamps are off by default; turn them on and every line becomes [m:ss] text. Caption clutter such as [Music] and duplicated lines is removed.

Export transcripts as TXT

YouTube transcript to SRT

Standard subtitle file with numbered cues and timecodes, ready for any editor. Mostly for video editors and subtitlers.

1
00:00:00,000 --> 00:00:03,200
The idea is simple: your brain is for having ideas,

2
00:00:03,200 --> 00:00:05,900
not holding them.

3
00:00:05,900 --> 00:00:09,400
Most of us treat memory as storage.

Standard SubRip: a sequence number, HH:MM:SS,mmm --> HH:MM:SS,mmm, the caption text, a blank line. Comma decimal separators, as SRT requires. End times come from the caption's own duration, so cues never overlap.

Export transcripts as SRT

YouTube transcript to VTT

The web-native subtitle format, for HTML5 players and browser captions. Mostly for web developers.

WEBVTT

00:00:00.000 --> 00:00:03.200
The idea is simple: your brain is for having ideas,

00:00:03.200 --> 00:00:05.900
not holding them.

A WEBVTT header, then timed cues with dot decimal separators. No cue identifiers, no styling blocks, so every HTML5 video player and every subtitle editor accepts the file unchanged.

Export transcripts as VTT

YouTube transcript to CSV

One row per caption segment with start time and duration — open it in a spreadsheet. Mostly for researchers and analysts.

video_id,title,start_seconds,start,duration,text
dQw4w9WgXcQ,How to Build a Second Brain,0.0,0:00,3.2,"The idea is simple: your brain is for having ideas,"
dQw4w9WgXcQ,How to Build a Second Brain,3.2,0:03,2.7,not holding them.
dQw4w9WgXcQ,How to Build a Second Brain,5.9,0:05,3.5,Most of us treat memory as storage.

One row per caption segment with six columns: video_id, title, start_seconds, start, duration, text. Cells that begin with =, +, - or @ are prefixed with an apostrophe so a caption line can never run as a spreadsheet formula. A channel export is one CSV per video plus a combined file.

Export transcripts as CSV

YouTube transcript to JSON

Structured segments with timestamps and full video metadata, for pipelines and code. Mostly for developers.

{
  "video_id": "dQw4w9WgXcQ",
  "title": "How to Build a Second Brain",
  "channel": "Tiago Forte",
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "duration": 1122,
  "upload_date": "20240312",
  "language": "en",
  "source": "manual_caption",
  "text": "The idea is simple: your brain is for having ideas, not holding them. ...",
  "segments": [
    {"start": 0.0, "duration": 3.2, "text": "The idea is simple: your brain is for having ideas,"},
    {"start": 3.2, "duration": 2.7, "text": "not holding them."}
  ]
}

One object per video: metadata, the full cleaned text, and a segments array of {start, duration, text}. source is manual_caption or auto_caption so you can filter on caption quality. Same shape as the REST API's transcript endpoint.

Export transcripts as JSON

Exporting for an AI assistant instead?

The combined AI-ready file merges a whole channel or playlist into one document with a citable header per video. There is a page for each destination:

Developers can skip the download entirely: the REST API returns the JSON shape above, and the YouTube transcript MCP server gives Claude, ChatGPT and Cursor the same data in the conversation.

Questions

Can I export a whole playlist or channel in one format at once?

Yes. Paste a playlist or channel URL, pick the format, and every video is exported either as a ZIP of individual files or as one combined document.

Do I have to re-extract to switch formats?

No. Transcripts are cached in your library, so exporting the same videos again as JSON, SRT, CSV or anything else is free and instant.

Which format keeps the timestamps?

SRT and VTT keep a start and end time per cue. CSV and JSON keep a start time and duration per segment. Markdown and TXT can include timestamps per paragraph or line, or drop them for readable prose.

Is there an API for this?

Yes. The REST API returns the same JSON object shown above, and the MCP server hands it to Claude, ChatGPT or Cursor directly. See the docs.

What is included for free?

Your first 30 transcript additions are free. Re-running and re-exporting transcripts already in your library stay free.

Extract transcripts free

Updated