Turn a TXT subtitle file into an ASS subtitle file in a few clicks—fast, simple, and processed locally in your browser.
[00:00.000 --> 00:02.500] segments or HH:MM:SS,mmm markers) into timed dialogue events; lines without timestamps become sequential events you can re-time in Aegisub.[Script Info] block, a default [V4+ Styles] definition (Arial, size 20, white fill, black outline), and an [Events] section. You can edit these in any text editor before downloading if you want a different default style..ass file. Drop it next to your video in VLC, MPC-HC, mpv, or load it in Aegisub for further styling and karaoke timing.A .txt transcript is just words — no timing, no styling, no positioning. ASS (Advanced SubStation Alpha) is the format originally developed by the anime fansubbing community to support custom fonts, colors, outlines, shadows, screen positioning, and per-syllable karaoke effects that SRT cannot express. Converting your plain-text transcript to ASS gives every line a time anchor and a style slot, which is the starting point for any serious typesetting work.
\pos, \fad, \move, and \t for animated effects, plus vector drawing for sign translations. Plain .txt has none of this; converting first lets you build out styled dialogue and signs in Aegisub.\k, \K, and \kf tags that highlight lyrics word-by-word or fill smoothly with the beat. A .txt lyric sheet has to be re-timed anyway, but starting from ASS gives you the [Events] scaffolding Aegisub's Kanji Timer and Karaoke Templater expect.[V4+ Styles] (e.g., "EN-Dialogue", "JP-Signs", "Narrator") and assign each event a style. Importing a flat TXT into a player that only handles SRT collapses all dialogue into one anonymous track.ffmpeg -vf "ass=subs.ass", libass renders the full ASS feature set (fonts, outlines, positioning). A .txt file cannot be passed to the ass filter at all; converting first unlocks the entire libass pipeline.*door slams*) typically use a different font, color, and position from dialogue. ASS handles this with named styles; plain TXT can't represent any of it.| Property | TXT | ASS (Advanced SubStation Alpha) |
|---|---|---|
| Timing | None (plain text) or informal timestamps | Per-event Start and End in H:MM:SS.cs |
| Styling | Plain text only | Fonts, colors, outlines, shadows, bold/italic, scaling, rotation |
| Positioning | Not supported | Margins plus \pos, \move, alignment 1-9 |
| Animation | Not supported | \fad, \t, \move, vector drawing |
| Karaoke | Not supported | \k, \K, \kf, \ko syllable tags |
| Multiple styles | Single text stream | Unlimited named styles in [V4+ Styles] |
| File structure | Free-form lines | INI-style sections: [Script Info], [V4+ Styles], [Events] |
| Encoding | UTF-8 / ANSI / any | UTF-8 BOM recommended for non-Latin scripts |
| Primary editor | Any text editor | Aegisub (free, cross-platform) |
| Player support | All players (as transcript only) | VLC, MPC-HC, mpv, PotPlayer; web players need pre-burn |
| Section | Purpose | Example fields |
|---|---|---|
[Script Info] |
File metadata and playback resolution | Title, ScriptType: v4.00+, PlayResX, PlayResY, WrapStyle |
[V4+ Styles] |
Named style definitions | Style: Default,Arial,20,&H00FFFFFF,...,1 |
[Events] |
Timed dialogue and effects | Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,Hello |
[Fonts] (optional) |
UU-encoded embedded fonts | Used when distributing self-contained subs |
[Graphics] (optional) |
UU-encoded embedded images | Rarely used in modern workflows |
The converter creates a valid ASS structure with sequential Dialogue: events, but every event will have placeholder timing (typically a fixed cadence). Open the result in Aegisub and use the audio waveform or "Shift Times" tool to time each line against your video. If your TXT has Whisper-style [start --> end] markers or HH:MM:SS,mmm lines, those are parsed into accurate event timings automatically.
VLC supports ASS subtitles natively, but its built-in renderer doesn't honor every advanced style tag — fades, complex transforms, and some positioning can look different from how Aegisub previews them. For pixel-accurate playback, use mpv or MPC-HC with the xy-VSFilter or xy-SubFilter renderer. For maximum compatibility (especially on web or mobile), burn the ASS into the video with ffmpeg -vf "ass=subs.ass" or convert it to ASS to SRT and lose the styling.
Once you have an ASS file, open it in Aegisub and use Timing > Kanji Timer (for romaji-to-kanji syllable mapping) or the Karaoke Templater automation script. The \k20 tag highlights a syllable for 200 ms, \K20 (capital K) fills it smoothly. Aegisub's audio mode lets you set syllable boundaries with the keyboard while the spectrum view scrolls. Plain TXT can't carry any of this metadata, which is why the conversion is the prerequisite step.
Yes — the output is UTF-8 encoded and the default style uses Arial, which renders most scripts adequately. For best results with CJK, Thai, Hindi, or RTL languages, edit the [V4+ Styles] block after conversion to pick a script-appropriate font (e.g., Noto Sans JP, Noto Sans Arabic) and ensure your player has access to that font. Some Windows players read fonts from the system fonts folder; Aegisub bundles its own font cache.
SSA (SubStation Alpha) is the original 1990s format; ASS (Advanced SubStation Alpha, "v4.00+") added named styles with more fields, alpha channels, more override tags, and better animation. Modern players treat them similarly, but ASS is the standard for new work. If a tool you're using requires the older format, convert this output via ASS to SSA — the reverse is also available as SSA to ASS.
Yes — strip the ASS scaffolding by running ASS to TXT, which keeps only the dialogue text and discards timing, style references, and override tags. Useful for generating a clean transcript for blog posts, show notes, or accessibility documentation after you've finished timing and styling.
No — YouTube, Vimeo, and most major streaming platforms accept SRT, VTT, TTML/DFXP, or platform-specific formats but not ASS. If your destination is one of these platforms, convert this output further with ASS to SRT or ASS to VTT. You'll lose all styling, but timing and text will be preserved. ASS is best for self-hosted videos, anime distribution, and hardsubbed exports.
No. This converter runs entirely in your browser via JavaScript — your TXT file is read locally, parsed, and the ASS output is generated in memory before being offered as a download. There's no upload, no account, no watermark, and no file-size cap imposed by network bandwidth. Privacy-sensitive transcripts (interviews, unreleased dialogue, legal material) never touch a server.
Yes — drag multiple .txt files onto the upload area or shift-click in the file picker. Each file is converted independently and produced as a separate .ass download, which is the common pattern when batch-converting an entire season of episode transcripts or a folder of Whisper outputs. For the reverse direction across a batch, see TXT to SRT if you don't need ASS styling.