Skip to main content

Create video subtitle files (.srt or .vtt)

How to generate subtitles files for your course videos

This article covers how to create a subtitle file to manually upload to your course videos. For instructions on uploading the file once you have it, see Video Subtitles.

Overview

Teachable accepts subtitle files in .srt or .vtt format. If your video's audio is recorded in one of the 7 languages we support for auto-generation (Arabic, Dutch, English, French, Italian, Portuguese, or Spanish), you could use Teachable's built-in auto-generate feature, since no external tool is then needed.

However, if your audio isn't in one of those languages, or if you want more control over wording and timing than auto-generation offers, you'll need to create the file yourself using one of the methods below.

Option 1: Auto-caption tools

These tools transcribe your video automatically and let you edit and export the result as .srt or .vtt:

  • YouTube: Upload your video as private or unlisted, use YouTube's auto-caption feature, edit for accuracy, then download the captions from Settings > Subtitles.

  • Descript or Otter.ai: Upload your audio or video, get an auto-generated transcript, edit it in a timeline-style editor, and export as .srt.

Option 2: Your video editor

If you already edit your videos in Premiere Pro, Final Cut, CapCut, or DaVinci Resolve, each of these has a built-in captions tool that can auto-generate or let you manually type captions, then export as .srt.

Option 3: Dedicated subtitle editors (for full, manual control)

  • Subtitle Edit (Windows, free) or Aegisub (cross-platform, free): Play your video alongside a caption timeline, type your captions at each timestamp, and export a properly formatted .srt or .vtt file.

Option 4: Write the file by hand

For short videos, you can write a subtitle file directly in a plain text editor.

.srt format:

1 00:00:01,000 --> 00:00:04,000 Welcome to the course!  2 00:00:04,500 --> 00:00:08,000 Today we'll cover the basics.

.vtt format is nearly identical, but starts with WEBVTT on the first line and uses a period instead of a comma for milliseconds:

WEBVTT  1 00:00:01.000 --> 00:00:04.000 Welcome to the course!  2 00:00:04.500 --> 00:00:08.000 Today we'll cover the basics.

Save the file with a .srt or .vtt extension and it's ready to upload.

Once your file is ready

Head to Video Subtitles for steps on uploading it to your lesson video.

Frequently asked questions

Why am I getting an error when I upload my subtitle file?

Errors are usually caused by formatting issues. For example, a bad timestamp or the file not being encoded as UTF-8. Double-check the timestamp format matches the examples above, and confirm the file is saved as .srt or .vtt.

Can I convert between .srt and .vtt?

Yes. If you have a file in one format and need the other, free converters like HappyScribe's VTT-to-SRT tool can handle the conversion.

Did this answer your question?