Your files never leave this device — 100% in-browser

SMI to VTT Converter

Bring legacy SAMI subtitles — including EUC-KR Korean files — into the HTML5 era as clean WebVTT that web players actually accept.

Take a 2000s-era SAMI file straight to the web: EUC-KR is detected automatically, timing gains explicit end-times, and the output is the UTF-8 WebVTT that HTML5 players require. The direct path from legacy Korean subtitles to a modern streaming page.

Last verified 2026-08-15 — this tool passed 85 automated end-to-end checks

→ SRT
Drop .smi files here, or click to browse
converts to VTT · batch supported · encoding auto-detected
01 — WEB-NATIVE OUTPUT
WebVTT is the only format the HTML5 <track> element accepts — the output here drops straight into a web player.
02 — EUC-KR AWARE
Korean SMI files from the 2000s are almost always EUC-KR. Detection is automatic; output is the UTF-8 that browsers require.
03 — PRIVATE
Files are parsed locally in your browser. Nothing is uploaded, logged or retained.

How to use

  1. Drop your file(s) into the box above — or click it to browse.
  2. Conversion starts immediately; the tabs switch to a different output format.
  3. Click Download on each finished file — or Download all (.zip) for a batch. Nothing was uploaded at any point.

From 1998 to the modern web in one step

SAMI is Microsoft's 1998 subtitle format, and WebVTT is what today's web video stack demands — the HTML5 <track> element, Video.js, Plyr, HLS players and most embedded players accept only VTT. If you're putting an old movie or drama with .smi subtitles onto a self-hosted page, a media server's web UI, or an internal streaming portal, this is the direct path: SAMI's <SYNC> blocks become properly timed VTT cues in one conversion.

Everything the SMI to SRT converter handles applies here too: EUC-KR encoding detection (browsers require VTT to be UTF-8 — doubly important), implicit end times from &nbsp; clear blocks, multi-language files (the dominant class is picked and reported), and HTML entity cleanup.

SAMI vs WebVTT at a glance
SMI (SAMI)WebVTT
Era1998, Windows Media PlayerW3C standard for HTML5 video
SyntaxHTML-like SYNC/P blocksHeader + timed cues, dot milliseconds
Encoding in the wildEUC-KR (Korean legacy)Must be UTF-8
End timesImplicit (next sync / &nbsp;)Explicit per cue
Plays in browsersNoNatively via <track>

When NOT to convert SMI to VTT

  • Desktop players — VLC, mpv, IINA and PotPlayer prefer SRT; VTT is specifically for the browser stack. Use SMI → SRT instead.
  • Uploading to YouTube — YouTube takes SRT directly; no VTT needed.
  • Bilingual files where you need both tracks — one VTT holds one language; convert twice and add two <track> elements.

Frequently asked questions

Why does my web player show nothing with the original .smi?

HTML5 players only parse WebVTT. A .smi file is silently ignored — converting it to VTT (UTF-8, explicit end times) is exactly what makes captions appear.

한국어 자막이 깨지지 않나요?

EUC-KR을 자동 감지해 UTF-8 VTT로 저장하므로 브라우저에서 정상 표시됩니다. 브라우저는 UTF-8이 아닌 자막을 아예 표시하지 못하는 경우가 많아 이 변환이 필수입니다.

How are end times generated?

A cue ends when the next SYNC block starts — including blank &nbsp; blocks, which SAMI uses to clear the screen. Only a file-final cue gets a 4-second default.