Subtitle Converters

Seven converters between the four subtitle formats that matter — including the legacy Korean SMI files everyone else mangles.

Match the format to the player: SRT for desktop players and uploads, VTT for anything in a browser (HTML5 <track> accepts nothing else), ASS only when styling matters, and legacy SMI should be converted out — with its EUC-KR encoding handled, or the Korean text turns to ����.

The encoding problem nobody else handles

Subtitle conversion has a hidden failure mode: encoding. Files from the 2000s-era Korean subtitle scene are almost always EUC-KR, not UTF-8 — feed one to a typical converter (or an HTML5 player, which requires UTF-8) and every Hangul character breaks. The converters here sniff the real encoding first (UTF-8, UTF-16, EUC-KR) and always emit clean UTF-8, which is why the SMI → SRT and SMI → VTT pages exist as first-class tools rather than afterthoughts.

Player compatibility at a glance

FormatVLC / mpv / PotPlayerHTML5 / web playersYouTube uploadStyling
SRTYesNoYesi / b / u only
VTTMostlyOnly format acceptedYesCues + CSS
ASSYes (full styling)NoNoFull typesetting
SMIFadingNoNoLegacy HTML-ish

Timing survives every conversion here to the millisecond (centiseconds for ASS); styling converts where a real equivalent exists and is stripped honestly where it doesn't — each page documents exactly which.