YouTube Transcript to SRT Converter
Convert copied YouTube video transcripts, TimedText XML, or JSON captions into standard SubRip (SRT), WebVTT, and clean plain text in seconds.
Or drop a .txt, .xml (TimedText), or .json transcript file
Instant local parsing with zero server uploadsHow to Convert YouTube Transcripts to SRT Subtitles
YouTube auto-generates remarkably accurate speech-to-text transcripts for most public videos. However, YouTube does not offer a direct one-click button to download those captions as a standard SubRip (.srt) file for use in video editing software such as Premiere Pro, DaVinci Resolve, or Final Cut Pro.
Step-by-Step Transcript Extraction
- Open the Transcript Panel in YouTube: Below the video player, click the description's ...More link, scroll down to the Transcript section, and click Show transcript.
- Highlight and Copy the Text: Click inside the transcript panel, press Ctrl+A (or drag to select the desired timestamps and sentences), and copy using Ctrl+C.
- Paste into SubPreflight: Paste the text into the box above and click Convert Transcript to SRT.
- Download Your Formatted Subtitles: Download the converted
.srtfile or switch tabs to grab clean.vttor continuous plain text.
Automatic Duration Calculation
Raw copied transcripts from YouTube only list starting timestamps (such as 0:15). SubPreflight automatically computes the end time for each cue based on when the subsequent line begins, leaving a standard 50ms gap to prevent subtitle overlap errors in NLEs.
Sponsored Resource
Frequently Asked Questions
How do I copy a transcript directly from YouTube?
On any YouTube video desktop page, click the "...More" button below the title, select "Show transcript", toggle the timestamp display if needed, highlight the lines, and press Ctrl+C (or Cmd+C) to copy.
Does this tool support both line-by-line and inline timestamp formats?
Yes. Whether your copied text has timestamps on separate lines (0:05 followed by dialogue) or on the same line (0:05 Dialogue), the engine automatically detects and parses them into standardized cues.
How are subtitle cue durations calculated when only start times exist?
The parser sets each cue end timestamp right before the next cue starts (with a 50ms broadcast buffer). If there is a long conversational pause, it bounds the duration using natural reading speed (15 characters per second).
Can I upload YouTube TimedText XML or JSON files?
Yes. You can drag and drop raw TimedText XML (from YouTube studio or network inspectors) or yt-dlp JSON files directly onto the workspace.
Are my transcripts or video links sent to any remote server?
No. SubPreflight parses all text and files 100% locally inside your browser memory using client-side execution. Zero data leaves your device.