XConvert
Downloads
Pricing

Convert ASS to SMI Online

Turn ASS subtitle files into SMI format quickly—upload your .ass file, convert to .smi, and download the converted subtitles.

Input (ASS)
Output (SMI)

ASS to SMI (SAMI) Converter

ASS — Advanced SubStation Alpha — is the styled subtitle format of the fansub world: fonts, colours, outlines, on-screen positioning and karaoke timing all live inside the script. SMI is Microsoft's SAMI format, an HTML-like caption document that legacy Windows Media Player and the classic Korean player ecosystem read natively. This converter rewrites each ASS dialogue line as a SAMI <SYNC> block entirely in your browser, so the file never leaves your device. Know the trade before you convert: the words and the timings carry across exactly, but ASS typesetting does not — SAMI has no per-caption coordinates and no karaoke, so positioning, effects and per-style fonts are dropped.

ASS (Advanced SubStation Alpha) at a Glance

Property Value
Full name Advanced SubStation Alpha — the v4.00+ revision of SubStation Alpha
Origin SubStation Alpha, written by Kotus in 1996 for anime fansubbing; the Advanced revision followed in the early 2000s
Document structure Plain text in INI-style sections: [Script Info], [V4+ Styles], [Events]
Cue line Dialogue: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Timing H:MM:SS.cc — centisecond resolution, so 0:00:01.50 is one and a half seconds
Styling One style row per named style: font name and size, primary, secondary, outline and shadow colours, bold, italic, scale, spacing, rotation angle, border style, alignment, margins and font encoding
Inline overrides Brace-wrapped tags — \pos and \move positioning, \an alignment, \k \kf \ko karaoke, \fad and \t animation, \clip, \frz rotation, \p vector drawing (tag reference)
Native editor Aegisub
Best for Fansubs, karaoke, sign typesetting — anything where position and font matter

SMI (SAMI) at a Glance

Property Value
Full name Synchronized Accessible Media Interchange, spec version MSFT:1.0
Origin Microsoft, late 1990s; released as an open specification with no licensing fees (Understanding SAMI 1.0)
Document structure HTML-like: a <SAMI> document wrapping a <HEAD> (title, optional <SAMIParam>, a CSS <STYLE> block) and a <BODY> of sync points
Cue line <SYNC Start=1500><P Class=ENCC>Caption text
Timing Elapsed milliseconds from the start of the media; DirectShow and Windows Media Player accept milliseconds only
Cue end times None. A caption stays on screen until the next <SYNC>; a blank is written as a paragraph containing &nbsp;
Styling A restricted CSS2 subset in the header — one P rule, .Class rules (one per language), #ID rules — plus inline HTML such as <B>, <I>, <U>, <FONT> and <BR>
Positioning Margins and text alignment only; there are no per-caption x and y coordinates
Extensions .smi or .sami — Windows Media Player auto-detects a .smi beside the video, but not .sami
Best for Legacy Windows Media Player, classic Korean players and older .smi subtitle archives

How to Convert ASS to SMI

  1. Add Your ASS File: Click "Upload .ass" in the Input panel, or paste the contents of the script straight into it — the cues parse as soon as the text lands.
  2. Set the To Format to SMI: The "From format" dropdown is already on ASS, so pick SMI in the "To format" dropdown to write the output as a SAMI document.
  3. Convert: Click Convert. The <SAMI> markup appears in the Output panel, each dialogue line rendered as a sync point in milliseconds.
  4. Copy or Download: Use Copy for the clipboard or "Download .smi" to save the file, then place it beside your video with a matching base filename.

What Carries Over and What Is Dropped

In the ASS script In the generated SMI Why
Dialogue: text A <P> inside a <SYNC> block The dialogue is the payload both formats share
A start of 0:00:01.50 <SYNC Start=1500> Hours, minutes and centiseconds collapse into one elapsed-millisecond value
An end of 0:00:04.00 A <SYNC Start=4000> holding &nbsp; SAMI has no end attribute, so a blank sync point clears the caption
\N hard line break <BR> SAMI supports HTML's forced line break inside a caption block
[V4+ Styles] rows A single default P rule SAMI's CSS subset has no outline, shadow or secondary-colour equivalent
\pos, \move, \an, \clip, \frz Removed SAMI places captions with margins and text alignment, not coordinates
\k, \kf, \ko karaoke Removed There is no syllable-level highlight in SAMI
\fad, \t, \p drawings Removed SAMI renders static caption blocks, not animation or vector shapes

Override tags are stripped rather than passed through, because a player that cannot interpret them would otherwise print them: a typeset line would reach the screen as {\pos(192,120)\fad(300,300)}Sign: Closed. Since braces always delimit an override block in ASS, any literal braces sitting in the dialogue are removed along with them. One structural limit is worth planning around before you convert: SAMI displays one caption block per sync point, so two ASS lines that overlap in time — a sign layered over dialogue — cannot both appear, and the later sync point wins. When the typesetting matters more than the player does, keep the ASS file as your master; it is the only format in this set that carries the full style block.

Frequently Asked Questions

Will my ASS fonts, colours and positioning survive the conversion?

No, and no converter can make them. Only the [Events] section is read — the [V4+ Styles] rows and every brace-wrapped override tag are discarded, and the output is written with one plain default paragraph rule. In our testing, a typeset sign written as {\pos(192,120)\fad(300,300)}Sign: Closed comes out of the converter as the caption Sign: Closed, correctly timed and completely unstyled. That is the honest ceiling of the format pair, not a limitation of the tool: SAMI's CSS subset has no outline, no shadow, no secondary colour and no x/y placement to map those properties onto.

What happens to karaoke timing tags?

They are removed. ASS marks karaoke with \k, \kf and \ko tags carrying per-syllable durations, which is how the highlight sweeps across a line word by word. SAMI has no syllable-level construct at all, so the syllables are simply rejoined into one caption that appears at the line's start time and clears at its end time. If the karaoke effect is the point of the file, SMI is the wrong target format — keep the ASS.

Do the timings stay exact?

Yes. ASS stores times as H:MM:SS.cc at centisecond resolution, and each one is expanded into the elapsed-millisecond value that SAMI's Start attribute expects, so every sync point lands on an exact multiple of 10 milliseconds. Nothing is rounded or re-timed. The one structural difference is that ASS states an explicit end for every line while SAMI does not, so each cue's end time is written as its own sync point holding a &nbsp; blank — the mechanism Microsoft's specification prescribes for clearing a caption.

Why would a player want SMI instead of ASS?

Because it predates ASS and comes from a different lineage. Windows Media Player has no ASS or libass renderer, but it reads a .smi sidecar natively with captions enabled, and SAMI became the de-facto subtitle format of the Korean media ecosystem, so classic players and older subtitle archives from that world are full of .smi files. If a player's documentation or an existing collection names .smi, matching it beats fighting it. If nothing specifically demands SAMI, ASS to SRT is the safer everyday target — SRT is read by practically every modern player and editor.

How do I make the .smi file load with my video?

Save it in the same folder as the video with the same base filename — movie.smi next to movie.avi — and turn captions on in the player. Windows Media Player detects the .smi automatically under that naming rule but does not auto-detect the .sami extension, so stick with .smi. The generated markup also uses uppercase tags throughout, which sidesteps a documented Windows Media Player quirk: Microsoft's own SAMI guidance warns that the player may require all SAMI tags to be presented in caps.

Does the conversion handle Korean, Japanese and other non-Latin scripts?

Yes — the text is treated as UTF-8 from parse to output, so Hangul, kana, kanji, Cyrillic and accented Latin all pass through unchanged. Two encoding traps are worth knowing. First, the per-style Encoding field in an ASS file selects a font charset for rendering, not the file's text encoding, and it has no bearing on the characters that come out. Second, a very old player that expects a legacy code page such as EUC-KR may show UTF-8 Hangul as garbage; re-saving the .smi in the encoding that player's documentation names resolves it.

Can I convert the SMI back to ASS later?

SMI to ASS makes the return trip, but it is not a true round trip. The text and timing come back intact; the styling does not, because it was never written into the SMI to begin with. A file that goes ASS to SMI and back arrives as plain dialogue in a generic ASS style — so keep the original .ass if the typesetting is worth anything to you, and treat the SMI as a delivery copy rather than a master.

Is my subtitle file uploaded to a server?

No. This converter is genuinely client-side: the ASS script is parsed and the SAMI document is built by JavaScript running on your own machine, and the file is never sent anywhere. That is also why it returns instantly even for a feature-length script with thousands of dialogue lines — there is no upload, no queue and no processing wait.

Related Convert tools
ASS ConverterConvert Ass To SrtConvert Ass To VttConvert Ass To SsaConvert Ass To SbvConvert Srt To SmiConvert Vtt To SmiConvert Ssa To Smi

Image Tools

Image CompressorCompress JPEGCompress PNGCompress GIFCompress WebPImage ConverterJPG ConverterImage Resizer

Video Tools

Video CompressorCompress MP4MP4 to GIFVideo to GIFVideo ConverterMP4 ConverterVideo Cutter

Audio Tools

Audio CompressorCompress MP3Compress WAVAudio ConverterMP3 ConverterFLAC to MP3Audio Cutter

Document Tools

Compress PDFMerge Images to PDFSplit PDFPDF to JPGUnzip FilesRAR Extractor

Converters

Time Zone ConverterMeeting PlannerIST to ESTTime Zone AbbreviationsUnit ConverterLength ConverterFlow Rate Converter
© 2026 XConvert.com. All Rights Reserved.
About UsPrivacy PolicyTerms of ServiceContactHelp Us Grow