Free tool

Subtitle Formatting Cleaner

Last updated: 2026-06-11

To clean a subtitle file, upload your .srt or .vtt and this tool strips every HTML tag (<i>, <b>, <font>) and ASS/SSA override tag ({\an8}) while keeping every timecode intact. It runs entirely in your browser, so the file is never uploaded, and you download a clean copy in the same format.

subtitle-cleaner

Drop a subtitle file here, or click to browse

Supports .srt and .vtt

No file handy?
Removes <i> <b> font tagsStrips {\…} ASS overridesTimecodes preservedRuns in your browser

How the cleaner works

  1. 01

    Upload the subtitle file

    Drop your .srt or .vtt file onto the cleaner, or click to browse. The file is parsed into timed cues entirely in your browser — nothing is uploaded to a server.

  2. 02

    Tags are stripped automatically

    The cleaner removes HTML tags such as <i>, <b>, and <font> plus ASS/SSA override blocks like {\an8}, leaving only the spoken text inside each cue. Every timecode is left untouched.

  3. 03

    Review the before-and-after

    Compare the original cue text against the cleaned version side by side, with the start and end timecode shown for each cue, so you can confirm only formatting was removed.

  4. 04

    Download the clean file

    Download the result in the same format you uploaded, named name.clean.srt or name.clean.vtt, with identical cue count and timecodes — ready to drop straight onto your video.

What gets removed and what stays

The cleaner edits only the text inside each cue. This table shows exactly what it strips and what it leaves untouched.

ElementExampleAction
Italic / bold tags<i>…</i>Removed
Font / color tags<font color="#fff">Removed
ASS/SSA override{\an8}Removed
Cue textHello thereKept
Timecode line00:00:01,000 --> 00:00:04,000Kept
Cue count & order1, 2, 3 …Kept

Why subtitles collect formatting tags

Subtitle tags are styling instructions. <i> marks a line as italic for off-screen dialogue, <font> sets a color, and ASS-style {\an8} positions a line at the top of the frame. They are useful in players that render them, but many players, editors, and AI workflows show the raw tags as clutter or choke on them. Stripping the markup gives you a clean transcript-grade file. If your file came from an ASS/SSA source, those {\…} blocks are exactly what this tool clears out.

After cleaning: convert, extract, or translate

Once the tags are gone you can take the file further. To pull a tag-free transcript with no timecodes, run it through the subtitle to plain text tool. If characters look garbled after editing — accents showing as é — that is an encoding problem covered in the subtitle encoding guide. And to translate the cleaned text into another language while keeping timing, use the SubLingo translator (see also how to translate an SRT).

Key facts

  • Strips HTML tags (<i>, <b>, <font>) and ASS/SSA {\…} overrides.
  • Every timecode, cue count, and cue order is preserved.
  • Works on .srt and .vtt; output keeps the same format.
  • Downloads as name.clean.srt or name.clean.vtt.
  • Fully client-side — your file never leaves the browser.
  • Free, no signup, nothing to install.

Definitions

HTML tag
Inline markup like <i>, <b>, or <font color> used in SRT and VTT to style text. The cleaner deletes the tags and keeps the text.
ASS/SSA override
A code in curly braces such as {\an8} or {\i1} that styles or positions a line, often carried over when a file was converted from .ass.
Cue
One subtitle entry: a timecode line plus one or more lines of text. The cleaner edits only the text portion.
Timecode
The HH:MM:SS,mmm --> HH:MM:SS,mmm (SRT) or dot-millisecond (VTT) line that sets when a cue appears. Preserved byte-for-byte.
Plain text cue
A cue whose text contains only words and line breaks, with all markup removed — what the cleaner produces.
Client-side
Processing that happens in your own browser with JavaScript, so the file is never uploaded to a server.

Related tools and guides

FAQ

How do I remove formatting tags from a subtitle file?+

Upload your .srt or .vtt to the SubLingo subtitle cleaner. It strips HTML tags like <i>, <b>, and <font> and ASS/SSA override tags like {\an8} from every cue, keeps all timecodes, and lets you download a clean file in the same format. It runs in your browser, so the file never leaves your device.

What tags does the cleaner remove?+

Anything wrapped in angle brackets (HTML/VTT inline tags such as <i>, <b>, <u>, and <font color>) and anything wrapped in curly braces (ASS/SSA override codes such as {\i1}, {\an8}, and {\pos(…)}). Spoken text and line breaks inside cues are kept.

Does cleaning change the timecodes?+

No. Only the text inside each cue is touched. The start and end times, the number of cues, and their order stay exactly the same, so the cleaned file remains in sync with the video.

Will the cleaned file still be a valid SRT or VTT?+

Yes. The cleaner re-serializes the cues with the same format you uploaded — SRT keeps comma-millisecond timecodes and renumbered indexes, VTT keeps its WEBVTT header and dot-millisecond timecodes — so the output opens in any player.

Is the subtitle cleaner free and private?+

Yes. It is free with no signup, and it is fully client-side: parsing and tag stripping happen in your browser using JavaScript, so your subtitle file is never sent to a server.

Can it clean ASS or SSA subtitle files?+

The cleaner reads .srt and .vtt files. It does strip ASS/SSA-style {\…} override tags when they appear inside those files, which is common in subtitles converted from .ass. To learn how full ASS/SSA files are structured, see the ASS & SSA format guide.

Why do my subtitles have <i> or {\an8} tags in the first place?+

Those are styling instructions: <i> italicizes text, <font> sets a color, and {\an8} positions a line at the top of the screen. Some players ignore them and show the raw tags as on-screen clutter, which is exactly what this tool removes.