Subtitle Cleaner
BetaStrip HTML tags, ASS/SSA overrides, SDH brackets and speaker labels from SRT and VTT subtitles in your browser. Timing never changes.
- Free, no sign-up
- REST + MCP
- Updated
- Reviewed by Olgun Ozoktas
Runs in your browser — your file is not uploaded
Input
Accepts .srt, .vtt and .txt
Strip HTML tags
<i>, <b>, <font …>
Strip ASS overrides
{\an8}, {\i1} and other {\…} blocks
Strip SDH brackets
[music], (applause)
Strip speaker labels
JOHN: at the start of a line
Normalize whitespace
Collapse double spaces, trim lines
Output
- Cues processed
- –
- Tags removed
- –
- Empty cues dropped
- –
Preview
timing is never changed
Nothing to preview yet
Drop a file, paste subtitles or load the sample. The first cues appear here with removed markup struck through.
Cleaned file
Appears after a file is read
The cleaned file will appear here.
How to clean a subtitle file
-
Add the file
Drop an .srt, .vtt or .txt file on the input card, choose one with the file button, or paste the subtitle text. It is cleaned straight away. -
Pick what to remove
HTML tags, ASS overrides and extra whitespace are removed by default. Turn on SDH brackets to remove [music] and (applause), and speaker labels to remove JOHN: at the start of a line. -
Check the preview
The first cues are shown before and after, with the removed markup struck through. Timestamps are printed as they are in the file, because they are never changed. -
Download
Download the cleaned file, named after the original with -cleaned added (episode-04-cleaned.srt), or copy its text. Choose Force SRT to turn a VTT file into SRT at the same time.
Common uses
Uploading captions to a video platform
Importing subtitles into a video editor
Making hearing captions from an SDH track
Tidying a merged or converted file
Why clean a subtitle file?
Subtitle Cleaner removes formatting markup from the text of a SubRip (.srt) or WebVTT (.vtt) file and keeps every start and end time exactly as it was. By default it strips HTML-style tags such as <i>, <b> and <font color>, WebVTT <c> and <v> tags, ASS/SSA override blocks such as {\an8} and {\i1}, and repeated spaces. Two further options remove SDH descriptions in square or round brackets and speaker labels such as JOHN: at the start of a line.
A cue that has no text left after cleaning is dropped and counted rather than written as a blank cue, because a blank line inside an SRT or VTT file ends the cue and can corrupt the rest of the file. SRT cues are renumbered from 1 after a drop. A VTT file stays VTT, with its cue identifiers and cue settings such as line:90%, unless you choose Force SRT. To change the format without cleaning, use SRT to VTT; to flatten a full ASS script first, use ASS to SRT.
The file is read and cleaned in your browser tab and is not uploaded. The cleaner changes text only. If the subtitles are out of sync, use the Subtitle Shifter for a constant delay or the Subtitle FPS Converter for drift that grows over time; to fix cues that overlap, use the Subtitle Overlap Fixer.
How it compares
Desktop subtitle editors can remove formatting tags and hearing-impaired text too, often with more options, such as fixing line lengths or reading speed. They are a good choice if you edit subtitles often and can install software. A text editor with regular expressions also works if you know the patterns and check the result yourself.
This page covers one job: open a file, choose what to remove, check the before-and-after preview and download. It needs no install and no account, and it reads the file in the browser. It shows which cues would be emptied, drops them instead of writing blank cues, and refuses options that would empty every cue.
It does not change timing, spell-check, translate, fix line lengths, or edit styled ASS scripts. For those, a desktop editor is the better tool.
Tips
- SDH and speaker-label removal are off by default because they remove words, not just markup. Turn them on only when you want captions for a hearing audience.
- If a warning says every cue would be emptied, the file is probably all sound descriptions. Turn SDH removal back off.
- A speaker label is only removed at the start of a line and only when it starts with a capital letter and has at most four words, so "The time is 10:30" is left alone.
- An ASS \N inside a line becomes a real line break, and \h becomes a space.
- The cleaner does not fix timing. For overlapping cues use the Subtitle Overlap Fixer, and for a constant delay the Subtitle Shifter.