Captions and Transcripts
Add multilingual subtitles to your video lessons
OptiLearn supports closed captions on every video lesson, in nine languages. Captions improve accessibility for hearing-impaired students, help non-native speakers, and let learners study in noisy environments. They also power the click-to-jump transcript panel students see next to the video.
Supported languages
Captions are stored as WebVTT (.vtt) files — one file per language, per video. Currently supported:
| Code | Language | Native label |
|---|---|---|
en | English | English |
hi | Hindi | हिन्दी |
ta | Tamil | தமிழ் |
te | Telugu | తెలుగు |
ml | Malayalam | മലയാളം |
kn | Kannada | ಕನ್ನಡ |
mr | Marathi | मराठी |
bn | Bengali | বাংলা |
gu | Gujarati | ગુજરાતી |
The student-facing picker shows the native script — a Hindi speaker sees "हिन्दी" rather than "Hindi" — so learners recognise their own language at a glance.
Adding captions to a lesson
Open a video lesson editor
Go to your course → Curriculum → click the edit icon on any video lesson. The Captions card appears below the lesson content card.
Expand the Captions card
Click the card header to expand it. The first time you do this, the list will be empty.
Click Add caption track
A dialog opens with three fields:
- Language — pick from the dropdown (shows native names so students recognise them)
- Label — a short display name (defaults to the native language name)
- VTT file — upload your
.vttfile
Mark a default if you want
Tick Set as default to make this language auto-enable when a student first opens the lesson. If no default is set, captions stay off until the student picks a language.
Save
The track appears in the list with a star next to the default language and a delete button. Add as many languages as you have files for.
You can generate caption files from your video's audio using transcription tools like Whisper, Otter.ai, or Rev.com. Many output WebVTT directly. Always proofread auto-generated captions for technical terms and proper names before uploading.
What students see
Caption picker
In the video player, students see a CC button next to the speed and fullscreen controls. Tapping it opens a menu listing every language you've uploaded. Their pick is remembered across lessons — once a student selects Tamil, every subsequent video defaults to Tamil if a Tamil track exists, and falls back to whatever you marked default otherwise.
Transcript panel
Below the video, students see a Transcript panel showing the full caption text with timestamps. As the video plays, the current cue is highlighted. Tapping any line in the transcript jumps the video to that moment — handy for searching long lectures or revisiting a specific point.
The transcript is searchable inside the panel — type in the search box at the top to filter cues.
VTT file basics
A WebVTT file looks like this:
WEBVTT
00:00:00.000 --> 00:00:04.500
Welcome to the introduction to physics.
00:00:04.500 --> 00:00:09.000
Today we'll cover Newton's first law of motion.
- The header
WEBVTTis required on the first line. - Each cue has a timestamp range and one or two lines of text.
- Times use
HH:MM:SS.mmmformat. - Save the file with the
.vttextension.
If your tool exports .srt (SubRip) instead, you can convert it to VTT with a free online converter — the difference is minor (commas become periods in timestamps, plus the WEBVTT header).
Tips
- Match your video URL type. Captions attach to videos uploaded to OptiLearn (R2-hosted MP4 / WebM / MOV). YouTube and Vimeo videos use their own caption systems — manage those on YouTube/Vimeo, not here.
- Always set a default. It removes the friction of students having to discover the CC menu.
- Proofread before uploading. Auto-generated captions often mishear technical jargon, names, and acronyms.
- Keep cues short. Two lines max per cue is the readable sweet spot. Long blocks of text are hard to scan while watching.
Related
- Creating Courses — adding video lessons in the first place
- Captions and transcripts (student view) — what learners see