How the converter works
A caption file is a list of short pieces of text, each with a start and end time. The converter builds that list from your transcript in one of two ways:
- If every line starts with a time (for example
1:05 Next, sand the edges.), each caption starts at that time and runs until the next line begins. The last caption runs for the "seconds per line" value. - If the lines have no times, each line gets the same length (3 seconds by default) one after another. This gives you a file you can upload, but the timing won't match your speech. Expect to adjust it in YouTube Studio's caption editor.
The output follows the basic SubRip (.srt) layout: a number, a time range such as 00:01:05,000 --> 00:01:08,000, then the text. The WebVTT (.vtt) version uses the same timings with a WEBVTT header. Files are saved as plain UTF-8 text.
Uploading the file to YouTube
YouTube Help lists SubRip (.srt) as one of its recommended basic caption formats. It supports only basic SRT files, with no styling markup, saved as plain UTF-8, which is exactly what this tool produces. WebVTT (.vtt) is also on YouTube's list of supported formats. To add your file, open the video in YouTube Studio, go to Subtitles, choose the language and pick the option to upload a file. The exact menu wording can change, so follow the current prompts in Studio.
Where can I get a transcript?
Use your own script, your editing software's transcript export, or notes you made while editing. If you're captioning someone else's video, you need their permission to publish captions of their words. This tool doesn't fetch captions or transcripts from YouTube videos.
Tips for readable captions
- Keep each line short enough to read comfortably. One or two short sentences is plenty.
- Split long sentences at natural pauses rather than mid-phrase.
- Include important sounds in brackets, for example
[drill running], to help viewers who can't hear the audio. - Always play the video with your captions on before publishing, to catch timing drift.
Your transcript is processed in your browser and isn't uploaded to our server.