How to add subtitles to online course videos
Dozens of lessons, the same vocabulary in all of them. Set it up so the second one is faster than the first.
Course video is the case where captions stop being optional. Learners watch in noisy places and on mute, a meaningful share need captions to follow at all, and if your course is sold to institutions there is very likely an accessibility requirement attached to the purchase. The volume is also real: thirty lessons is thirty files.
Open the subtitle editor → No per-minute cost and no quota, which is what makes captioning a whole course practical.- 100% freeNo account, no minute quota, no paid tier.
- Nothing is uploadedYour video is read on your device and never reaches a server.
- No catch on the outputNo watermark, no length cap, no locked export formats.
- Updated in the openEvery fix is written down on the changelog page.
Why cost per minute is the deciding factor
A course is not one video. Thirty lessons of twelve minutes is six hours of material, and six hours at a typical per-minute transcription price is an amount of money that makes people caption the first three lessons and stop. That is the actual reason most courses have partial captions.
Running the model locally removes the arithmetic. The thirtieth lesson costs what the first did, which is nothing, so the decision becomes about your time rather than your budget — and the time is mostly the correction pass, not the transcription.
Handle the vocabulary once
Technical courses are full of terms a general speech model has never had a reason to learn: library names, function names, chemical names, legal terms, acronyms specific to your field. The model will mishear the same ten words in the same way in every lesson.
Build a list of those ten mistakes the first time you correct a lesson, and from then on each new lesson is a handful of find-and-replace operations rather than a read-through. This is the difference between fifteen minutes per lesson and three.
Set the language explicitly rather than auto-detect. It is a small accuracy gain per file that adds up across thirty of them.
Reading speed matters more in teaching
A learner reading subtitles is doing two things at once: following the text and following what is on screen, which in a course is usually slides or a code editor. Subtitles that race are worse here than in entertainment video, because the viewer is trying to think as well as read.
Watch the reading-speed flags and split the fast lines. Keep to two lines maximum and keep them short. If your lessons are screen recordings, also check where the subtitles land on the picture — text over the bottom of a code editor or a slide footer is a common and avoidable annoyance, and it is a reason to prefer a real subtitle track over burned-in text, since the learner can move or disable it.
Export both, always
Export SRT for the video platform, and export plain text for every lesson as well. The transcript is worth as much as the captions: it makes the course searchable, it becomes lesson notes with very little editing, and it is what lets a learner find the two minutes where you explained the thing they have forgotten.
Most course platforms — Teachable, Thinkific, Kajabi, Udemy, Moodle, Canvas — accept an SRT upload per lesson. Name the file to match the lesson file and the upload step becomes mechanical.
Frequently asked questions
Is there a limit on how many videos I can caption?
No. There is no quota and no per-minute charge, because the work happens on your computer rather than on a server.
How do I stop the same term being misheard every lesson?
Note the recurring errors from the first lesson and fix them with find and replace on every subsequent one. Ten replacements takes under a minute.
Are captions legally required for course video?
It depends on where you are and who you sell to, and institutional buyers frequently require them contractually regardless of law. This is not legal advice — check what applies to your situation.
Should I burn the captions in?
Usually not for courses. A separate subtitle file lets learners turn captions off or move them when they cover a slide or a code window.