Turn a TXT subtitle file into SMI format in seconds—right in your browser for quick playback and sharing.
<SYNC> tags and outputs a valid SAMI document with <SAMI>, <HEAD>, <STYLE>, and <BODY> sections per Microsoft's spec.00:00:12,500 --> 00:00:15,000 SRT-style lines, or raw seconds), those are parsed and preserved. Otherwise the output is a structurally valid SMI skeleton you can retime in Subtitle Edit, Aegisub, or any text editor..smi file individually or grab the whole batch as a ZIP.SAMI was released by Microsoft on June 25, 1998 as an accessibility-focused captioning format for Windows Media Player. It uses HTML-like tags with <SYNC Start="..."> markers expressed in milliseconds, plus CSS-style classes for fonts, colors, and multiple languages within a single file. Although SRT and WebVTT have overtaken it for general web use, SMI remains the default subtitle format in two niches: legacy Windows Media Player workflows, and Korean media — KMPlayer, GOM Player, PotPlayer, and most domestic streaming archives in Korea still ship SMI captions natively. Common reasons to convert a plain text transcript into SMI:
.smi. Converting an English transcript into SMI lets it drop into the same player presets as the original.<Lang> classes inside a single document, so one .smi can hold English, Korean, and Japanese captions and the player switches between them. SRT requires a separate file per language.<P Class="..."> rules. Useful for theater scripts and dialogue-heavy transcripts.| Property | TXT | SMI / SAMI |
|---|---|---|
| File extension | .txt |
.smi, .sami |
| Standardized | No — generic plain text | Microsoft proprietary, public spec from 1998 |
| Timing data | None (plain lines) | <SYNC Start="ms"> per cue, milliseconds from start |
| Styling | None | CSS classes (font, color, size, alignment, position) |
| Multi-language in one file | No | Yes — via <Lang> classes |
| Native player support | Any text reader | Windows Media Player, KMPlayer, GOM, PotPlayer, VLC, MPC-HC |
| Typical encoding | UTF-8 or ANSI | UTF-8, EUC-KR (Korean), Windows-1252 (Western default) |
| Best for | Source transcripts, scripts, captions without timing | Korean-market video, Windows Media workflows, multilingual caption files |
| Format | Standard | Styling | Best for |
|---|---|---|---|
| SMI / SAMI | Microsoft 1998 | CSS (rich) | Korean players, Windows Media, multilingual |
| SRT | de facto (SubRip) | None native | Universal — YouTube, VLC, Plex, Netflix workflow |
| WebVTT | W3C 2010+ | CSS subset | HTML5 <track>, browser players, streaming |
| ASS / SSA | Aegisub 2003+ | Full (positioning, karaoke) | Anime fansubs, complex typesetting |
| DFXP / TTML | W3C TTML 2006+ | XML-based | Broadcast, Netflix delivery, captions exchange |
If your TXT already contains SRT-style timestamps, you may get cleaner output by going TXT to SRT first, then SRT to SMI. For modern web playback prefer TXT to VTT. Reverse direction: SMI to TXT extracts a plain transcript from a SAMI file.
Not automatically. SAMI requires <SYNC Start="ms"> markers, but plain text has no timing. The converter generates a structurally valid SMI file with placeholder timings so the file opens cleanly in Subtitle Edit, Aegisub, or KMPlayer's editor, but you'll need to retime each cue against the video. If your TXT already contains SRT-style HH:MM:SS,mmm lines, those are parsed and preserved.
Yes if the source TXT is saved as UTF-8 or UTF-8 with BOM. Korean SMI traditionally used EUC-KR encoding, which causes mojibake in modern players (VLC, Jellyfin) unless the player is configured to that codepage. UTF-8 is the safe default in 2026 — every modern subtitle player (VLC 3+, MPV, PotPlayer, KMPlayer, Plex, Jellyfin) auto-detects it. If your TXT is ANSI/Windows-949, re-save it as UTF-8 in Notepad++ before converting.
SAMI took off in Korea in the late 1990s and 2000s alongside Korean-built media players (KMPlayer, GOM, PotPlayer) that made it the default subtitle import format. Decades of fan translations and archived domestic content are distributed as .smi, so the ecosystem has stayed. Outside Korea, SRT and WebVTT dominated the same period because YouTube, Netflix, and HTML5 <track> standardized on them. Both formats are still actively supported by every major player.
Yes — that's one of SAMI's distinguishing features. You define <P Class="ENCC"> for English, <P Class="KRCC"> for Korean, and so on inside a single document, all sharing the same <SYNC Start="..."> cues. Players that support SAMI multilang (KMPlayer, GOM, PotPlayer) show a language selector. SRT and WebVTT need a separate file per track.
Yes. SMI is WMP's native synchronized caption format and Microsoft's learn.microsoft.com documentation for the format is still online (archived but indexed). Open the video in WMP, place the .smi file in the same directory with the same filename (e.g., movie.mp4 + movie.smi), and enable "Play > Captions and Subtitles > On if Available." Note WMP itself was retired in favor of the new Media Player app on Windows 11 — the new app does NOT read SAMI directly, so VLC or PotPlayer are better picks for SMI playback today.
If your target audience is on Windows Media Player or Korean players, SMI. If your audience is everyone else (YouTube uploads, web embeds, Plex, mobile, Netflix workflow), use TXT to SRT — SRT is universal and every player including SAMI-supporting Korean ones reads it. SMI's advantages (styling, multilang in one file) only matter if you'll actually use them.
<SYNC> tags around every line?Yes. Each non-empty TXT line becomes a <SYNC Start="..."> block followed by <P Class="...">your text</P>, wrapped in the required <SAMI>, <HEAD> (with a default <STYLE> block), and <BODY> envelope. Empty lines act as cue separators. The output validates against Microsoft's reference SAMI structure described in the Windows Media Player SDK documentation.
Yes. Upload as many .txt transcripts as you want — they convert in parallel inside your browser and download individually or as a ZIP. There's no quantity limit and no per-file size cap aside from your device's available memory. The conversion is client-only, so nothing uploads to a server.
The format itself is stable but Microsoft has marked the underlying Windows Media Player SDK as a legacy feature (their docs explicitly recommend the newer MediaPlayer API for new code). SAMI files themselves still validate, still play in VLC / MPV / KMPlayer / PotPlayer / GOM / MPC-HC, and remain the de-facto standard for Korean subtitle distribution. For new captioning work targeting global audiences, WebVTT (W3C standard) and SRT are the safer modern picks.