Free tool

Clean up a subtitle file in one click

Strip bracketed sound effects, repair broken accents and umlauts, shift every timestamp by an exact number of milliseconds and re-wrap the text to a maximum line length. Drop in an SRT or VTT file and download the result.

Free, no account, no limits. Your file never leaves your browser — every step runs on your own machine, so there is nothing to upload and nothing for us to store.

Drop your subtitle file here

SRT or WebVTT, up to 20 MB. The file is processed by your browser and never leaves your computer.

What it fixes

Four jobs that usually take four tools

Strip sound effects and HTML tags

Removes [DOOR SLAMS], (sighs), music symbols, HTML markup such as <i> and <font>, and — if you want them gone — speaker labels. Annotations that span two lines are removed whole, punctuation left dangling is tidied up, and a cue that was nothing but a sound effect is dropped and the file renumbered.

Repair broken accents and umlauts

Detects the file encoding from the byte order mark, falls back to Windows-1252 when the bytes are not valid UTF-8, and undoes double-encoded mojibake. The result is written as clean UTF-8 with LF line endings.

Shift timestamps by milliseconds

Type an exact offset, or nudge it in steps, and watch both panes update. Positive moves subtitles later, negative earlier. Cues pushed before the start of the media are dropped rather than given impossible timings.

Enforce a maximum line length

Reflows each cue to your character limit, balancing two lines instead of leaving a full line above a stub. Two speakers on a dialogue dash are never merged onto one line, and markup is not counted against the limit — only the characters a viewer actually sees.

How it works

How to clean a subtitle file

  1. 1

    Drop in your SRT or VTT file

    Drag it onto the box, or pick it from your computer. It is read in the browser, so there is no upload and no waiting.

  2. 2

    Choose the rules you want

    Every switch re-runs instantly on the whole file. Turn off anything you would rather keep — nothing is applied that you did not ask for.

  3. 3

    Check the before and after, then download

    The two panes scroll together, cue for cue, with changes highlighted and removed cues greyed out. When it looks right, download the cleaned file as SRT or WebVTT.

Line length

How many characters per subtitle line?

There is no single answer, which is why the limit is a setting rather than a rule. Streaming platforms and broadcasters each publish their own style guide, and the number that matters is the one in your delivery spec. These are the values people reach for most often as a starting point:

LimitTypically used for
42The most common limit for Latin-script streaming subtitles, over a maximum of two lines.
37–40Broadcast house styles, where subtitles are rendered larger and safe-area margins are tighter.
32Vertical video and burned-in social captions, where the frame is narrow.

Re-wrapping never deletes words. If a cue still needs more lines than you allow, the text is kept and the cue is counted in the summary so you can split it yourself.

FAQ

Questions about cleaning subtitles

Is this subtitle cleaner really free?

Yes. There is no signup, no watermark, no daily limit and no file-size charge. It is a free tool built by the team behind Subtitle AI, the subtitle editor we sell — this page is how people meet us.

Is my subtitle file uploaded anywhere?

No. Your browser reads the file with the File API and does all the work in memory: parsing, cleaning and generating the file you download. Nothing is sent to a server, so there is no upload to wait for and nothing to delete afterwards. You can confirm it in your browser devtools — the network tab stays quiet — and the page keeps working with your connection turned off.

Which subtitle formats are supported?

SubRip (.srt) and WebVTT (.vtt), in both directions: drop an SRT and download a VTT, or the other way round. Timestamps are converted between the comma form SRT uses and the dot form WebVTT expects, WebVTT cue settings and NOTE blocks are preserved, and cues are renumbered so no gaps are left behind.

What counts as a bracketed sound effect?

Anything inside square brackets or parentheses: [DOOR SLAMS], [LAUGHTER], (sighs), (speaking Spanish). These belong to SDH captions, written for viewers who cannot hear the audio, and they get in the way when you are repurposing that file as a plain subtitle track or a translation source. Music symbols around song lyrics and NARRATOR:-style speaker labels are separate switches, because plenty of workflows want to keep them.

Why are the accents in my subtitle file broken?

Almost always one of two faults. Either the file is not UTF-8 at all — a legacy Windows-1252 or Latin-1 export that your player reads as UTF-8 — or the file is UTF-8 that some earlier tool already misread, which is why an e-acute arrives as two mangled characters. This tool detects both: it sniffs the byte order mark, falls back to Windows-1252 when the bytes are not valid UTF-8, and undoes the double-encoding before writing clean UTF-8 back out. Text that was never broken is left alone.

How many characters per line should a subtitle have?

Forty-two characters over two lines is the most widely used limit for Latin-script subtitles, and several broadcast specifications sit lower, around 37 to 40. There is no universal rule, so use the number your client asks for — the presets here are a starting point, not a standard.

Can it fix subtitles that drift further out of sync as the file plays?

No, and it is worth knowing the difference. This tool applies one constant offset to every timestamp, which fixes subtitles that are uniformly early or late. Drift that grows over the runtime is a frame-rate mismatch — a 25 fps subtitle file played against 23.976 fps video, say — and it needs the timestamps stretched by a ratio, not shifted. Subtitle AI handles that case.

What happens to italics and other HTML tags?

They are removed by default, along with the HTML entities that travel with them: <i>, <b>, <font color="#ffffff"> and &-style escapes all go, and the entities are decoded back to the characters they stand for. Turn the switch off to keep your styling, in which case any tag pair emptied or orphaned by removing a sound effect is cleaned up so no player prints angle brackets on screen.

Will it split a cue that is still too long?

No. Re-wrapping reflows the text of a cue, but splitting one cue into two means inventing a timing split, and a guess there is worse than the problem. Cues that still need more lines than your limit are counted and reported so you can fix them deliberately.

From the team behind Subtitle AI

When cleaning up is not the hard part

This tool tidies a file you already have. Subtitle AI makes the file: transcription and translation in 120 languages, frame-rate conversion, shot-change aware timing, custom vocabularies and house styles, and an editor built for people who do this all day.