GrowMyTube
🚀 Creator tool

Subtitle converter

Paste or upload a subtitle file and convert it between SRT, VTT and plain text, shift all the timing, and tidy the lines.

Convert subtitles between SRT, VTT and TXT, move every timestamp earlier or later by a number of seconds, and remove sound descriptions like [Music]. Runs in your browser.

How to use

  1. Add your subtitles. Paste the text or upload an SRT, VTT or TXT file.
  2. Choose the output. Pick SRT, VTT or plain text.
  3. Adjust. Shift the timing by a number of seconds, remove sound descriptions, or join each caption onto one line.
  4. Copy or download. Copy the result or download it, then upload it in YouTube Studio.

Features

SRT, VTT and TXT

Convert in any direction between the three common formats.

Shift timing

Fix a file that is a constant amount early or late by moving every timestamp.

Remove sound descriptions

Strip [Music], (laughs) and *cough* style lines that speech models invent.

Reports problems

Cues with a start after the end, or overlapping the next cue, are listed so you can fix them.

Private

Your text never leaves your device.

What people use it for

SRT versus VTT

SRT is the simplest format: a number, a time range with commas, and the text. VTT is the web standard, starts with the word WEBVTT and uses a full stop in the timestamps. YouTube accepts both, so convert only if another tool or platform needs a specific one.

Fixing out-of-sync subtitles

If every line is early or late by the same amount, shifting the timing fixes it. Use a positive number to move captions later and a negative number to move them earlier. If the drift grows over the length of the video, the frame rate of the file differs from the video, which a simple shift cannot fix.

What is inside an SRT and a VTT

Both formats are plain text. An SRT has a number, a time range written with commas such as 00:00:01,000 --> 00:00:03,000, and one or two lines of text, then a blank line. A VTT starts with the word WEBVTT, uses full stops in the timestamps and has no required numbers. Because both are simple, you can fix most problems in a text editor, and this tool does the repetitive parts for you.

Fixing timing

If every caption is late by the same amount, enter that number of seconds as a negative shift to move everything earlier. If they are early, enter a positive number. This only fixes a constant offset. If the captions drift further out of sync as the video plays, the subtitle file was made for a video with a different frame rate, and a single shift cannot fix that.

Cleaning up

Speech models often add descriptions such as [Music] or (applause). The clean-up option removes those and any caption that becomes empty. The tool also lists captions that start before the previous one ends or that end before they start, since those can display badly in some players.

Troubleshooting

It says no timing was found

Plain text has no timestamps. Use the auto captions tool to create timed subtitles from the audio.

Special characters look wrong

Save the file as UTF-8. Most tools and YouTube expect it.

The converted file will not upload

Check the first lines. A VTT must begin with WEBVTT. An SRT needs a time range with arrows on each caption.

Timing is still off after shifting

The offset is probably not constant. Fix it in a subtitle editor that can stretch timing.

Limits and good to know

FAQ

Does YouTube accept VTT?

Yes, YouTube accepts several subtitle formats including SRT and VTT.

How do I move subtitles later?

Enter a positive number of seconds in the shift box. Use a negative number to move them earlier.

Is my text uploaded?

No. Everything happens in your browser.

Can it translate?

No. It converts and cleans, it does not translate.

Is conversion lossless?

SRT and VTT hold the same text and timing, so converting between them loses nothing. Styling and positioning in VTT is simplified.

Can I convert to other formats?

This tool handles SRT, VTT and plain text, which covers what YouTube and most players use.

Does it work offline?

Once the page has loaded, the conversion needs no connection.