Manatee

How to convert SUB subtitles to SRT on a Mac

Converting a text-based SUB subtitle to SRT on a Mac is fast and lossless: the cues and their timing are rewritten into SRT’s timecode format, and not one word of the dialogue changes. The catch is that “SUB” names two very different files, and only one of them is text you can convert directly. This post shows how to tell which SUB you have, how to get a clean SRT from the text kind, and what to do when your SUB turns out to be pictures instead.

The two files that both call themselves SUB

The .sub extension is shared by two formats that have almost nothing in common.

The first is MicroDVD SUB, a plain-text format. Open it in any text editor and you see lines like {1234}{1298}Hello there. Each line is one subtitle, and the two numbers are the start and end frame. Because the words are already text, converting it to SRT is a mechanical rewrite: renumber the cues, turn the frame counts into timecodes, done. Nothing is lost.

The second is VobSub, which comes as a pair of files: a .sub that holds bitmap images and a .idx that holds the timing. This is how subtitles are stored on DVDs. The .sub is not text at all; it is a strip of little pictures of the words. You can open it in a text editor and see only garbage, which is the quickest way to tell the two apart. If a text editor shows readable dialogue, you have MicroDVD and the rest of this guide applies directly. If it shows nonsense, you have VobSub, and the section near the end explains why that path is different.

Why SRT is the format worth landing on

SRT is the closest thing subtitles have to a universal standard. It is plain text, so you can open, read, and fix it in TextEdit or any editor. It is accepted by nearly every video player, by editing apps, and by upload forms that ask for a caption file. A cue looks like this:

12
00:00:51,400 --> 00:00:54,080
Hello there

A number, a start and end time to the millisecond, then the line of dialogue. That timecode format is the important part: unlike MicroDVD’s frame counts, SRT states the exact clock position of every line, so the subtitles stay in sync no matter what plays them. Getting your subtitle into SRT means it will still open in ten years, on hardware that has never heard of the app you made it in.

macOS has no built-in tool that exports SRT. You can open a text-based SUB in TextEdit to read it, but there is no menu command that turns it into a proper SRT with timecodes, which is why most people reach for a converter for this one.

Convert a text-based SUB to SRT

Manatee does the rewrite on your Mac, with nothing uploaded and no account:

  1. Open Manatee and choose Convert.
  2. Pick SRT as the target.
  3. Drag the .sub file onto the app window, or onto the menu bar icon. You can drop a whole folder of them at once, and each shows in the job list with its own progress.
  4. The new .srt is written alongside the original. Your SUB file is never touched; Manatee always writes a fresh copy.

Open the result in TextEdit to confirm it reads correctly, or load it in a video player next to your movie to check that the lines land on the right moments. Because the dialogue was already text, what comes out says exactly what went in.

When your SUB is really a set of pictures

If a text editor showed you scrambled characters and you have a matching .idx file, your SUB is VobSub: images, not words. There is no lossless way to turn a picture of text into editable text. The only route is optical character recognition, the same technology that reads a scanned page, and it has to guess at each character. It works, but it makes mistakes on stylized fonts, italics, and unusual characters, so the output always needs a proofread. That is a genuinely different task from converting a text subtitle, and it is worth knowing which one you are facing before you start, so you are not surprised when a bitmap subtitle does not simply drop into SRT the way a MicroDVD file does. If the words are already text, none of that applies and the conversion above is clean.

Timing and frame rate, the detail that trips people up

MicroDVD SUB measures time in frames, not seconds. Frame 1500 is a moment in the movie only if you know how many frames pass each second. A film at 23.976 frames per second and a broadcast file at 25 frames per second put frame 1500 at different points on the clock. A good conversion reads the frame rate the subtitle was authored at and computes the timecodes to match. If the subtitle ends up early or late by a growing amount as the movie plays, the frame rate assumption was wrong: the drift gets larger toward the end because the error compounds with every cue.

SRT itself carries no frame rate, only absolute times, so once the conversion is done the sync is locked to the clock and will not drift again. If you already know your video runs at a rate different from the SUB’s original, the cleanest fix is to convert with the correct rate rather than nudging every line by hand afterward. SRT also does not carry font styling, colors, or position the way some richer subtitle formats do, but MicroDVD does not carry much of that either, so for this particular conversion there is little to lose on that front.

Questions

How do I tell MicroDVD from VobSub without guessing?

Open the .sub in TextEdit. Readable dialogue with lines like {1234}{1298}Text means MicroDVD, which converts to SRT cleanly. Scrambled characters, usually alongside a .idx file of the same name, means VobSub, which is images and needs character recognition instead.

My converted subtitles start on time but drift later. What happened?

The frame rate used to work out the timecodes did not match your video. Because the error is per frame, it accumulates, so the gap grows the longer the movie plays. Convert again using the frame rate your video actually runs at.

Will converting change the wording or spelling?

No. For a text-based SUB the words are copied exactly; only the timing and cue numbers are reformatted. Spelling can only change when character recognition is involved, which is the VobSub case, and there you should always proofread the result.

Can I edit the SRT afterward?

Yes. SRT is plain text, so you can open it in TextEdit, fix a typo or a mistimed line, and save. Keep the blank line between cues and the exact --> timecode format, and any player will still read it.