Convert SAMI SMI to SRT
Convert SAMI .smi subtitles to SRT in your browser. Sync points become real start and end times; the file never leaves your device.
SAMI is Microsoft's caption format and remains the default for a large body of Korean media, where .smi files still circulate alongside video. It is HTML-shaped rather than XML, it is frequently malformed in ways browsers forgive, and — the part that matters — it has no end times. A caption is simply displayed at a sync point and stays there until another sync point replaces it, usually one holding a single non-breaking space. This converter turns that structure into the explicit start and end times SRT requires.
Worth knowing
- A SYNC block whose only content is is not a subtitle: it is the instruction to clear the screen, and it becomes the end time of the caption before it.
- SAMI attributes are usually written without quotes (Start=1000, Class=KRCC), which is invalid in XML and defeats strict parsers. This reader accepts quoted and unquoted values alike.
- Times in SAMI are plain milliseconds from the start of the video, so nothing has to be reconciled against a framerate on the way out.
- The last caption has nothing after it to end it, so it is held for four seconds — the same convention every SAMI player uses.
- A bilingual .smi interleaves languages by Class (KRCC and ENUSCC, say) at the same sync points. Every sync point is kept, so both languages come through; strip one class first if you want a single-language SRT.
FAQ
Why does my converted file show both Korean and English on the same cue?
Because the .smi contained both. Multi-language SAMI files put each language in its own P element with a different Class attribute at the same sync point, and a player picks one from a menu. SRT has no language channels, so everything present becomes text.
My .smi opens as a wall of HTML in a text editor. Is it broken?
No — that is what SAMI looks like. It is a HTML-like document with a stylesheet block and one SYNC element per timing point. Unclosed tags are normal and expected; the parser here is deliberately tolerant of them.