FileDial › Guides › Video and subtitles

How to convert VTT to SRT on a Mac

By Himanshu Ranjan · Updated 8 November 2026

Select the .vtt files in Finder, open FileDial, and run Convert › Convert to SRT. A new .srt appears beside each original and nothing is uploaded. Expect bold, italic and underline tags to survive while other styling tags are dropped, and keep the VTT if you need the extras.

When you need SRT

SRT is the lowest common denominator of subtitle files. Video editors, desktop players, TV apps and many upload forms accept it, even when they ignore WebVTT. If you downloaded captions from a web player, or generated a VTT, converting to SRT makes them usable elsewhere.

SubRip numbers each cue, writes timestamps with a comma before the milliseconds, and ends each block with a blank line. WebVTT drops the numbering requirement, uses a full stop and adds a header, comments and cue settings that SRT has no place for.

Convert with FileDial

  1. Select the .vtt files in Finder.
  2. Hold the right Option key to open the dial.
  3. Choose Convert › Convert to SRT and release.
  4. Open the new .srt and check the first few cues.

What gets lost

FileDial's note for this conversion says styling tags other than bold, italic and underline are dropped. WebVTT features that have no SRT equivalent, such as NOTE comments, chapter information, metadata and cue positioning, do not carry over either, since SRT cannot store them. If you need them again later, keep the VTT as your master and treat the SRT as an export.

Tidying afterwards

If the cues are out of order or the numbers have gaps, Edit › Fix numbering sorts cues by time and numbers them 1, 2, 3. If everything arrives a second late, Edit › Shift timing… moves the whole file, with a negative amount moving subtitles earlier. If you only want the words for an article or a transcript, Convert › Convert to plain text gives the text without timings.

Encoding

The WebVTT standard requires UTF-8, while SRT has no official encoding and older software may expect other character sets. Modern players cope with UTF-8, and the Wikipedia article on SubRip notes YouTube supports only UTF-8 and FFmpeg's default is UTF-8. If a very old device shows broken accented characters, the device rather than the file is usually the issue.

A worked example of the reverse

A WebVTT cue starts after a WEBVTT header and may have an optional identifier, followed by 00:01:02.500 --> 00:01:04.000 and the text. In SRT the timestamp becomes 00:01:02,500 --> 00:01:04,000 with a comma, the cues are numbered from 1, and no header is written. Because WebVTT allows timestamps without hours, such as 01:02.500, a good converter writes the hours back in for SRT.

If you open the result in a text editor, check the first cue and one near the end. If both look like that pattern, the file is structurally sound.

Cases where you should keep the VTT

Keep the WebVTT file if it has chapter information, metadata, comments or positioning, since the SRT cannot store them. Keep it too if the destination is a browser, where WebVTT is native. Convert to SRT only for the destinations that need it, such as an editing timeline or a platform upload form.

Mistakes to avoid include converting from VTT to SRT and back repeatedly, which loses features each way, and assuming a platform that accepts SRT also accepts every kind of SRT, as some are strict about numbering. If a platform complains about the file, run Edit › Fix numbering on it.

Alternatives on a Mac

There is no Finder tool for this. A text editor can do it by hand for a short file: delete the header, change full stops to commas in the timestamp lines, and add numbers. That is error prone beyond a few cues, because replacing every full stop would also change punctuation in the dialogue. For anything longer, a converter is safer, and FileDial does it offline in one step.

Checking the converted file quickly

Open the SRT in a text editor and scan three places: the first cue, a cue in the middle with two lines of text, and the last cue. Confirm the counters run in order, the timestamps use commas, and the text looks intact. Then play the video with the SRT in a desktop player and watch a minute near the start and one near the end. If you downloaded the VTT from a web player, also check for duplicated cues, which some caption streams contain because they repeat lines as they roll up, and edit those by hand before using the file elsewhere.

Local conversion

Captions from client videos or unreleased shows should stay on your machine. FileDial runs every tool on your Mac and never uploads a file, and all tools work with Wi-Fi off.

Questions

Will I lose anything converting VTT to SRT?

Some formatting. FileDial keeps bold, italic and underline and drops other styling tags. Features SRT cannot hold, such as NOTE comments and cue positioning, are also lost, so keep the original VTT. SRT has no place for comments or cue settings, so keep the VTT whenever those features matter.

Why is SRT more widely accepted?

It is simple: a number, a timing line and text. Almost every editor, player and upload form reads it, whereas WebVTT is mainly designed for browsers and HTML5 video. Because the format is so simple, it is the safest choice when you are not sure what the receiving software supports.

Can I batch convert VTT to SRT?

Yes. Select all the files in Finder and run Convert › Convert to SRT once. Each file gets an SRT copy and the VTT files stay untouched. A batch run saves a new SRT for each VTT, so you can convert a whole season of captions and keep the web versions.

My converted subtitles are out of sync. What now?

Use Edit › Shift timing… to move all cues earlier or later by a fixed amount. If the delay grows over time, the subtitle frame rate may differ from the video, which a fixed shift will not fix. Check the cue numbers after a conversion too, because players and tools differ in how forgiving they are of gaps.

Sources

  1. SubRip (Wikipedia)
  2. WebVTT (Wikipedia)
  3. WebVTT: The Web Video Text Tracks Format (W3C)

Related

Try FileDial free for 1 daySee the dialNo card, no account. Then $20 once, for 2 Macs. Runs offline on macOS 14+ (Apple silicon).