Skip to content

SRT to VTT Converter

SRT to VTT conversion prepares an existing SubRip subtitle file for a WebVTT caption workflow. Choose your .srt file, inspect the converted text, and download a UTF-8 .vtt containing the WEBVTT header and period-separated millisecond timestamps. The cue text and supported timing remain available for review. This is a file conversion, not a caption-authoring or video-upload service: it does not transcribe speech, translate dialogue, add captions to a hosted video or infer positioning from the spoken words.

SRT to VTT

Convert SubRip subtitles to WebVTT.

Maximum file size: 25 MB per file. You can also drag files here.

Privacy: files are processed in your browser and are never uploaded.

How to use the SRT to VTT converter

Choose one .srt file or drag it into the file area. Selection begins local processing automatically. The Text encoding selector defaults to auto and includes available UTF-8, Windows-1252, ISO-8859 and UTF-16 options. If punctuation or names look wrong, select the encoding used by the original file and press Process files again.

Review the output preview and its cue count before downloading subtitles.vtt. The preview is bounded for performance; the download contains the generated file, subject to the SRT to VTT converter’s input and cue limits. Keep the original SRT until you have tested the VTT in the actual video player or receiving workflow. This original converter uses file selection rather than a separate text-paste field.

What changes from SubRip to WebVTT

An SRT cue typically contains a number, a start/end timestamp line and subtitle text. WebVTT starts with the WEBVTT file signature and uses a period before milliseconds. In this output, SRT sequence-number lines are not emitted as cue identifiers. The SRT to VTT converter writes the supported start/end ranges and text without inventing WebVTT regions, speaker annotations or positioning settings.

The difference is more than a filename. Renaming captions.srt to captions.vtt leaves the missing signature and SRT-style timestamp separators untouched. A plain-text preview helps you inspect the actual transformation. Text markup already present in the source also deserves review because a player’s WebVTT interpretation need not match its SRT interpretation.

Worked example: one caption becomes a WebVTT cue

For an SRT cue starting at 1 second and ending at 3.5 seconds, 00:00:01,000 becomes 00:00:01.000 and 00:00:03,500 becomes 00:00:03.500. The dialogue is unchanged in this ordinary example. The beginning of the downloaded file looks like the following text, with a blank line after WEBVTT.

WEBVTT

00:00:01.000 --> 00:00:03.500
Hello, 世界!
SRT to VTT example result preview
Illustrative result from this SRT to VTT converter using a fictional test file.

Using the output in a web-video workflow

WebVTT is the timed-text format used by the HTML track element. After downloading the file, publish or attach it through the workflow your player supports and set its language and caption/subtitle kind appropriately. This SRT to VTT converter does not configure that player, upload the file or make it accessible from a website by itself.

If the captions do not appear, check the final track URL, response type, track configuration and player selection as well as the file text. A local successful conversion only establishes that the supported SRT could be parsed and rewritten. Cross-origin access rules or an incorrect hosted file URL are separate delivery issues. The WebVTT specification describes the receiving format beyond this SRT to VTT converter’s simple cue output.

Timing and encoding checks before publication

This operation does not shift subtitle timing. Captions that were early, late or drifting remain so after format conversion. Check a cue near the beginning and one near the end against the video. For a measured offset or supported synchronization adjustment, use the SRT time shifter before converting to VTT.

The downloaded file is UTF-8, but the input must first be decoded correctly. Wrong encoding can turn an accented name into incorrect characters without making the timestamps invalid. Compare punctuation, non-Latin text and names with a known-good source before accepting the preview. Use this converter’s actual encoding controls and retain the original file. Do not assume a text file’s extension describes its character encoding.

Know the supported limits and choose the reverse direction deliberately

Missing cue text, malformed timing ranges and reversed start/end values can prevent parsing. The interface reports an error rather than transcribing missing words or estimating missing timestamps. Large inputs are bounded by the displayed file-size limit and parser cue-count limits. The preview is not a guarantee of every destination’s rendering or accessibility quality.

The subtitle repair tool can normalize its supported SRT structural issues before retrying. Use VTT to SRT for the reverse direction, noting that richer WebVTT metadata is lost in that conversion. Keep captions prominent and readable in the final player, and preserve a source copy when a simplified file replaces a richer caption workflow.

Common SRT to VTT converter errors and how to fix them

When the SRT to VTT converter cannot use a file, it stops with one clear message instead of producing a half-finished download. These are the problems people run into most often, with the fix for each:

  • A subtitle ends before it starts. A cue has an end time earlier than (or equal to) its start time, often from a typo such as 00:01:05 written as 00:00:65 or swapped times. Correct that cue in a text editor and process the file again.
  • The file does not match the expected format or has invalid structure. A block has no valid time line (00:00:01,000 –> 00:00:03,000), or the text is not subtitles at all.
  • The file is empty or has no usable records for this tool. No cues were found.
  • Accents or symbols look wrong That is an encoding mismatch, not a structural error. Choose the real source encoding in Input encoding and process again instead of editing the output by hand.

Privacy: the SRT to VTT converter runs in your browser

SRT to VTT converter processing happens with JavaScript in a background worker on this page. Your file is not uploaded to a FileFix server, and the results you download are created in your browser’s memory. Unreleased video scripts and captions stay on your computer. When you finish on a shared computer, clear the selection or close the tab.

For the underlying format rules, see the Library of Congress description of SubRip (SRT). The SRT to VTT converter follows the subset described on this page rather than every optional feature in those documents.

Sources

Questions about this tool

Is renaming .srt to .vtt enough?

No. The file needs the WebVTT signature and suitable cue syntax. This converter writes those changes rather than only renaming the extension.

Does this tool add the captions to my video?

No. It creates a downloadable caption file. Attaching or publishing it in a video player is a separate step.

Can it infer caption placement or WebVTT regions?

No. It converts supported cue text and timing without inventing positioning, regions or speaker metadata.

Will conversion fix subtitles that are two seconds late?

No. Format conversion keeps the supported times. Use a measured timing adjustment in the separate SRT time-shift tool first.

What encoding does the downloaded VTT use?

UTF-8. Select the correct source encoding before conversion if auto detection does not decode the original text properly.

Review the supported formats and limitations before using an output file. File processing happens in your browser.