← Back to Complete Guide

Subtitles Explained: SRT vs VTT vs ASS (+ How to Burn Them In)

Three text formats, one image-format trap, and the burn-vs-softcode decision that determines whether anyone ever sees your captions. Formats compared, exact commands, and the fixes for sync, gibberish, and invisible subs.

By Hadi Karaki, maker of FormatifSeptember 4, 202610 min read

SRT vs VTT vs ASS: the one table you need

SRTVTTASS/SSA
StylingNone (plain text)Position, color, chaptersFull: fonts, karaoke, effects
Plays onEverythingWeb + most playersVLC, MPV, anime players; patchy on TVs
Best forUniversal subs, Plex, uploadsHTML5 video, web playersFansubs, styled captions
Plex direct-playYesMostlyOften forces transcode

Default rule: author in SRT unless you need web chapters (VTT) or heavy styling (ASS) — SRT converts cleanly into both, while the reverse loses formatting. And remember the fourth category: image subs (PGS/VOBSUB) are pictures, not text — the Plex-buffering culprits from our Plex guide.

Burn in or keep soft? Decide by destination

Burn in (hardcode) when…

  • TikTok, Reels, Shorts — no player sub support to rely on
  • Client previews and screen recordings — zero failure modes
  • Styling must survive (ASS effects become pixels)

Keep soft when…

  • Plex/Jellyfin libraries — viewers toggle languages
  • YouTube uploads — platform renders and translates
  • Archival — restyle or re-time later without re-encoding

Burn-in commands (FFmpeg)

Burn SRT in, keep audio untouched

ffmpeg -i in.mp4 -vf subtitles=subs.srt -c:v libx264 -crf 20 -c:a copy out.mp4

Burn with styling

ffmpeg -i in.mp4 -vf "subtitles=subs.ass:force_style='FontName=Arial,FontSize=20,PrimaryColour=&HFFFFFF&,Outline=1'" -c:v libx264 -crf 20 -c:a copy out.mp4

Shift out-of-sync subs by +2.5s

ffmpeg -itsoffset 2.5 -i subs.srt -i in.mp4 -c copy -map 0:s -map 1:v -map 1:a out.mkv

Extract first sub track from MKV

ffmpeg -i movie.mkv -map 0:s:0 subs.srt

Two gotchas: burning re-encodes video (set CRF explicitly — filter-only commands silently pick defaults), and gibberish glyphs mean a legacy codepage file — re-save as UTF-8 before anything else. Growing drift (not constant offset) means a framerate-mismatched sub file: fix with Subtitle Edit's point-sync, not offset guessing.

Whole season, one run

Burn subtitles across entire folders.

Twelve episodes, twelve matching .srt files, one consistent style. Formatif Pro ($8.95 one-time) batch-burns subtitle tracks across folders offline — file or embedded subs, adjustable font size, same recipe every file, per-file status — and extracts embedded tracks to SRT/VTT/ASS when you need the text instead. No terminal loops to babysit.

Match video + subtitle pairs in bulk
Burn-in or extract, same recipe per batch
No file size limits, fully offline
One-time purchase of $8.95 — no subscription

Subtitle questions, answered

SRT vs VTT vs ASS?

SRT: universal plain text. VTT: web-native with styling/chapters. ASS: full karaoke-grade styling, patchier support. Default SRT.

Burn in or keep soft?

Burn for TikTok/Reels/previews (zero failure modes). Soft for Plex, YouTube, archives (toggleable, restyleable).

FFmpeg burn-in command?

-vf subtitles=subs.srt with explicit -c:v libx264 -crf 20 -c:a copy. Style via force_style; burns require re-encode.

Subs not showing on Plex/TV?

Usually PGS/VOBSUB image subs or font-less ASS. Convert/OCR to SRT — direct-plays almost everywhere.

Fix out-of-sync subs?

Constant offset: -itsoffset shift. Growing drift: framerate-mismatched file — point-sync in Subtitle Edit.

Gibberish characters in subs?

Legacy codepage read as UTF-8. Re-save the .srt as UTF-8. Author everything UTF-8 from the start.

Extract subs from MKV?

ffmpeg -i movie.mkv -map 0:s:0 subs.srt. List tracks first to pick the language; PGS extracts need OCR.

Keep learning

Every episode captioned, one run.

Formatif Pro ($8.95 one-time) and Formatif AI ($12.95 one-time) handle video, image, and audio conversion offline — with batch workflows, no file size limits, and a 3-day free trial.

The FFmpeg commands above are complete and free forever — pick whichever method fits your episode count.

HK

Written by

Hadi KarakiLinkedIn

Founder of Formatif, a local-first offline media processing suite for Windows and Linux. Hadi writes about video, image, and audio formats, compression, and privacy-first desktop workflows.