How to Add Subtitles to a Video
Subtitles make videos accessible to deaf and hard-of-hearing viewers, watchable on silent mode (huge for social media), and translatable for international audiences. There are two main approaches: auto-generation (fast) and manual entry (precise).
Method 1: Auto-generated captions
YouTube (free, built-in): upload a video → Studio → Subtitles → YouTube auto-generates. Quality is decent but needs review.
Apple Clips, Premiere Pro, Final Cut, DaVinci Resolve: all have AI caption generation features.
Otter.ai (free tier): generates transcripts from audio; export to SRT subtitle format.
Descript (free tier): video editor with automatic transcription.
Adobe Premiere Pro: Speech to Text feature generates captions.
CapCut (free): built-in auto-captions for mobile and desktop.
Auto-captioning quality has improved dramatically. For clear speech in good audio quality, accuracy is 90%+.
Method 2: Manual subtitle entry
For precise subtitles or non-speech captions:
SubtitleEdit (free, desktop): professional subtitle editor. Imports video, lets you mark timestamps and enter text.
Aegisub (free, desktop): another professional tool.
YouTube Studio: manual subtitle entry in YouTube’s interface.
iMovie: limited but functional caption tools.
For high-quality production subtitles: manual entry with a professional tool.
Subtitle formats
Most common formats:
SRT (.srt): simple format, widely supported.
VTT (.vtt): web-friendly, supports styling.
ASS (.ass): advanced styled subtitles, fan-translation favorite.
Burned-in subtitles: captions are part of the video pixels (can’t be turned off).
For most uses: SRT files alongside video work everywhere.
Burned-in vs soft subtitles
Soft subtitles (SRT, VTT files alongside video):
- Can be turned on/off
- Can include multiple language tracks
- File is small (just text)
- Requires player support
Hard subtitles (burned into video):
- Always visible
- Always there, every player
- Can’t disable for those who don’t need
- File size affected (video has the captions baked in)
For social media (Twitter, Instagram, TikTok): burned-in subtitles work better — most viewers won’t manually enable captions.
For YouTube/Vimeo/etc: soft subtitles (uploaded SRT) work great.
Workflow with auto-captions + review
The right balance for most uses:
- Generate auto-captions with one of the tools above
- Review and fix errors: 5-15 minutes for a typical short video
- Export as SRT or burn into video
- Use the subtitle file
This combines speed (auto-gen does most of the work) with quality (manual review catches errors).
What to check in auto-captions
Common auto-caption errors:
- Misheard words: “their” vs “there” vs “they’re”
- Proper nouns: names misspelled
- Technical terms: jargon often missed
- Numbers: “fifteen” vs “15” inconsistent
- Punctuation: usually needs adjustment
- Speaker identification: who’s speaking when there are multiple speakers
Quick review catches most issues.
Adding subtitles to a video
For online video (YouTube, Vimeo): upload the SRT file alongside the video — the platform handles display.
For social media uploads: typically need burned-in subtitles (Instagram, Twitter/X, TikTok). Use a video editor with caption-burning support (CapCut, Clipchamp, iMovie).
For local video files: SRT file with the same name as the video (video.mp4 + video.srt) — most video players (VLC, plex, others) auto-load matching SRT files.
Burning in subtitles
To embed subtitles in the video pixels:
CapCut: built-in burn-in for mobile-first content.
Clipchamp (Windows): caption features.
iMovie: title cards as captions.
DaVinci Resolve (free, advanced): professional subtitle features.
FFmpeg (command-line): burns SRT into video at scale.
Burned-in captions:
- Work for every viewer
- Can’t be turned off
- Take more file size and slightly degrade quality
- Are necessary for most social media
Multiple languages
For videos serving international audiences:
Soft subtitles: include multiple SRT files (video.en.srt, video.es.srt).
YouTube: supports multiple subtitle tracks.
Vimeo: similar.
Auto-translation: some tools auto-translate one subtitle file into others. Quality varies; review for important content.
Accessibility considerations
Beyond translation:
Caption non-speech audio: [music playing], [door slams], [laughter] for fully-accessible captions.
Include speaker labels when multiple people are talking.
Use proper punctuation for natural reading.
Match timing to actual speech: captions should appear when said, not before or after.
For accessibility compliance (ADA, WCAG): captions should be accurate, properly timed, and include non-speech information.
Common scenarios
YouTube tutorials: upload video + SRT for accessibility.
Social media short videos: burned-in captions for silent autoplay.
Educational content: soft subtitles with optional multi-language.
Foreign-language films: soft subtitles in viewer’s language.
Documentaries: caption all speech for accessibility.
Music videos: lyric overlays as soft or burned-in captions.
Editing subtitle timing
If captions are misaligned with audio:
SubtitleEdit: shift timestamps in bulk.
Aegisub: precise timing controls.
Manual in SRT file: SRT format is plain text, easy to edit:
1
00:00:01,000 --> 00:00:04,000
Hello, this is a subtitle.
Shift each timestamp as needed.
TL;DR
- Auto-captions: YouTube Studio, CapCut, Otter.ai, Premiere Speech-to-Text
- Manual subtitle editor: SubtitleEdit (free, professional)
- Soft subtitles (SRT/VTT): viewer can toggle, multiple languages supported
- Burned-in subtitles: always visible, required for most social media
- Auto-gen + review is the typical workflow — 90%+ accuracy from auto, refine the rest
- Include non-speech captions for accessibility
- Format: SRT is most universal; supported everywhere