Subtitle Shift & Cleaner

Synchronize SRT/VTT subtitles and clean filler words or HTML tags

Settings

Use negative values to shift backwards.

Strips <b>, <i>, <font> etc.

Removes 'uh, um, yani, şey'

0
Subtitle Blocks
0
Total Words
00:00:00
Est. Duration

subtitles.srt

Examples

Re-syncing an off-by-half-second track

Input
An .srt file with captions 500 ms late relative to the audio · shift = -500
Output
Every timestamp reduced by 500 ms; no text changes.

When the audio leads the captions by a fixed amount, a negative shift brings them back into alignment.

Cleaning an AI-generated transcript

Input
A WebVTT file with <font color="#ccc"> tags and "uh", "um" filler words
Output
Stripped HTML, filler words removed, double spaces collapsed, block and word counts updated.

Turning on both cleaning switches sanitises a raw speech-to-text export into a publication-ready file.

About this tool

Subtitle Shift & Cleaner fixes the two most common problems with .srt and .vtt subtitle files: out-of-sync timing and noisy text. The shift control moves every timestamp forward or backward by a chosen number of milliseconds, which is what you do when a video and its captions drifted because of an intro splice, a frame-rate mismatch or a re-encode. The cleaner strips HTML styling tags and a curated set of filler words ("uh", "um", "yani", "şey", "ııı", "eee") so transcripts generated by speech-to-text read naturally.

Subtitle parsing follows the standard SRT timestamp format (HH:MM:SS,mmm) and the WebVTT format (HH:MM:SS.mmm), so both formats round-trip cleanly. The editor accepts paste input or file upload (.srt, .vtt, .txt), and the output is a clean plain-text file you can copy or download. Live statistics show the number of subtitle blocks, total words, and the estimated duration from the first to last cue.

How to use

  1. Upload or paste subtitles

    Click Upload .srt / .vtt to load a file, or paste the raw subtitle text into the editor. The file name is preserved so the downloaded file keeps its identity.

  2. Enter a time shift

    Type the shift in milliseconds (positive to push captions later, negative to pull them earlier). For a half-second audio lag use -500.

  3. Pick cleaning options

    Turn on Remove HTML Tags to strip <b>, <i>, <font> and friends, and Remove Filler Words to delete the curated list of common hesitations.

  4. Process and review

    Click Process Subtitles to apply. The stats row updates with the block count, word count, and estimated duration.

  5. Copy or download

    Copy to clipboard for a quick paste, or click Download to save the cleaned file as processed_<original-name>.

Use cases

Re-syncing after a video edit

If you splice an intro or trim the head, the captions drift. A single millisecond shift re-aligns them.

Sanitising AI transcripts

Speech-to-text outputs are full of "uh", "um" and styling tags — the cleaner removes both in one pass.

Localising without losing timing

Translate the text in place and only run the cleaner, so the timing is preserved for re-import.

Quick QA before publishing

Use the stats row to confirm block count and duration match the video before you upload.

Common mistakes

Mistake:Confusing leading and lagging captions.

Fix:If captions appear too early, the shift is positive (delay them). If too late, the shift is negative (pull them back).

Mistake:Removing filler words when the speaker uses them intentionally.

Fix:Keep the cleaner off for stylised dialogue, interviews, or accessibility cues where hesitation is meaningful.

Mistake:Stripping HTML you actually want.

Fix:Turn the switch off if your player relies on <i>, <b> or <font> for speaker labels.

Mistake:Trusting the estimated duration as a video length check.

Fix:The duration is first-cue to last-cue, which equals the longest subtitle. Add lead and tail time to compare to the actual video length.

Frequently asked questions

References & standards