For the best experience, please enable JavaScript in your browser.

Skip to main content

SRT to VTT converter

Paste or drop an SRT or VTT file and get the other format back. If the timing is off, shift every cue by a number of milliseconds, then copy the result or download it.

Drop an .srt or .vtt file here, or choose oneThe file is read in your browser. Nothing you upload is sent to a server.

A positive number shows cues later, a negative number shows them earlier. A cue never moves before zero.

Paste a file or drop one to see the converted text here.
Subtitle file ready

How it works

  1. 01

    Add your file

    Drop an .srt or .vtt file, or paste its text. The format is detected for you.

  2. 02

    Shift the timing if you need to

    Enter a number of milliseconds to show every cue later, or a negative number to show them earlier. A cue never moves before zero.

  3. 03

    Copy or download

    Copy the converted text, or download it as a .vtt or .srt file.

What you get

  • Reads SRT and VTT, converts to the other one, and counts any block it could not read instead of dropping it silently.
  • Shifts every cue later or earlier by a number of milliseconds.
  • Copies the result, or downloads it as a .vtt or .srt file.
  • Free, no signup, and the file is read in your browser, so nothing you upload is sent to a server.

Frequently asked questions

Why do web players need VTT?

Web browsers read captions for the HTML video element in the WebVTT format, so a web player built on it needs a .vtt file. SRT is the format many video editors and desktop players use, which is why one often has to be converted to the other.

What is lost when I convert VTT to SRT?

SRT has no place for the extras VTT allows, so the header, NOTE, STYLE and REGION blocks, cue identifiers and cue settings such as position and alignment are dropped. The text, including inline tags, and the timing stay. Whether a player shows a tag is up to the player.

What happens to a part of the file that cannot be read?

A block with no readable timing line cannot become a cue, so it is left out and the result tells you how many blocks that was. If the number is not zero, open your original file and compare.

How do I fix subtitles that show too early or too late?

Enter a number of milliseconds in the shift field. A positive number such as 500 shows every cue half a second later, and a negative number such as -500 shows every cue half a second earlier. A cue never moves before zero.

Skip the file. Burn the captions in.

SocialFaktory's auto captions transcribe the speech, time every word and burn the captions into the video, so there is no subtitle file to convert.

Rated 4.9/5 by 180+ content teams · First video in about 7 minutes · Nothing goes live until you schedule it

We use cookies to keep you signed in, and our own cookieless measurement to see which pages actually help. Accept and we also place advertising cookies from Google, Meta, TikTok, Reddit, Pinterest, LinkedIn, Microsoft and OpenAI, which measure the campaigns that bring people here. None of them load before you accept. Read our privacy notice