← All guides

How to Add Subtitles to a Video

videosubtitlescaptionsaccessibility

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:

  1. Generate auto-captions with one of the tools above
  2. Review and fix errors: 5-15 minutes for a typical short video
  3. Export as SRT or burn into video
  4. 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