Three formats, one extension
Before converting, open the .sub in a plain text editor such as Notepad or TextEdit. What you see tells you which format it is:
- MicroDVD
- Readable lines that start with two frame numbers in curly braces, such as {2400}{2475}Good evening. Timing is counted in video frames, not seconds
- SubViewer 2.0
- Readable text with an [INFORMATION] header and time lines like 00:01:40.10,00:01:43.25, in hundredths of a second
- VobSub
- Unreadable symbols, and usually a matching .idx file next to it. The .sub holds pictures of the subtitles taken from a DVD; the .idx holds the timing and colour palette
The first two are text and convert here. VobSub needs optical character recognition (OCR) to turn pictures back into letters, which this tool doesn't do; more on that below.
How to convert SUB to SRT
- Find the frame rate of the video the subtitles are for. Your player's media information panel or the file's properties usually show it, for example 23.976, 25 or 29.97 frames per second.
- Drop the .sub file into the box above. If it is a VobSub picture file, a message says so and nothing is converted.
- Pick the same rate under "Video frame rate (.sub)". The choices are 23.976, 24, 25, 29.97, 30, 50, 59.94 and 60, and the file is read again as soon as you change it, so the preview updates.
- Read the notes under the file name. They say if the file declared its own frame rate, and how many lines weren't in {start}{end} form and were skipped.
- Once the preview times look right for that frame rate, pick SRT (or WebVTT for web players) under "Save as" and press "Convert and download".
Why the frame rate decides everything
A MicroDVD line doesn't say when a subtitle appears; it says on which frame. The converter divides the frame number by the frame rate to get a time, so the same file gives different SRTs at different rates. Take this line:
{1500}{1575}Where were you?|I waited an hour.
1500 ÷ 25 = 60 seconds, so 00:01:00,000 --> 00:01:03,000
The same frames land at 00:01:02,563 --> 00:01:05,691, about 2.6 seconds later
That 4.3% difference grows with every minute. A line at frame 75000 appears at 50:00 when read at 25 fps but at 52:08 when read at 23.976 fps, more than two minutes apart. This is the classic symptom of a wrong rate: the first lines look close, and the subtitles slide further away as the film goes on. A constant delay that stays the same from start to end is a different problem, and the frame rate won't fix it.
For NTSC-style rates the converter uses the exact values, 24000/1001 for 23.976 and 30000/1001 for 29.97, so rounding doesn't add drift of its own over a long film. Video frame rates explained covers where these odd numbers come from.
Files that state their own frame rate
MicroDVD has no official field for the frame rate, so a convention grew up: a first line such as {1}{1}23.976, whose text is just the rate. When the converter finds a first line starting at frame 0 or 1 with only a number in it, it uses that number instead of the picker and says so in the notes. If that declared rate is wrong for your copy of the video, which happens when a subtitle made for one release is paired with another, delete the line in a text editor and pick the rate yourself.
What happens to MicroDVD markup
- The vertical bar inside a line becomes a real line break, so the example above ends up as two lines in the SRT.
- Control codes in braces after the frame numbers, such as {y:i} for italics or {c:$0000FF} for a colour, are removed. The SRT is plain text.
- A slash at the start of a line, used by some files to mark italics, is removed.
- A line with an empty end frame, such as {500}{}Text, is given three seconds on screen.
- Header lines and anything else not in {start}{end} form are skipped and counted in the notes.
SubViewer 2.0 files
SubViewer files are already time-based, so the frame-rate picker has no effect on them. The converter recognises them by the [INFORMATION] header or their time lines, turns [br] into a line break, and converts hundredths of a second into SRT milliseconds, so 00:01:40.10 becomes 00:01:40,100. The notes confirm that the file was read as SubViewer 2.0.
VobSub .sub and .idx: what to do instead
VobSub always comes as a pair, and neither file works alone: the .sub is a stream of small images, and the .idx is a text index with times, palette and language. There are no letters in either file to copy into an SRT. The tool recognises the binary .sub from its first bytes and stops with an explanation rather than reading noise as text.
To get text from VobSub, use a desktop program with OCR. Subtitle Edit, a free Windows program, can open the .idx/.sub pair and recognise the characters; expect to correct some letters by hand, especially italics. If the subtitles are still inside an MKV, the extract subtitles tool can list the tracks and save any text-based ones as SRT, but it shows VobSub and Blu-ray PGS tracks as image-based and can't convert them either.
When the goal is simply subtitles that match the speech, another route is to make new ones from the audio. The AI subtitle generator transcribes the dialogue into SRT and VTT in 100 languages at 1 credit (0.1¢) per minute, so a 100-minute film costs 100 credits (10¢). That gives you fresh subtitles timed to the speech, not a copy of the DVD's text.
After converting
- Everything a few seconds early or late by the same amount: move it all with shift subtitle timing.
- Still drifting after picking the rate you believe is right: the subtitle was probably made for a different release. The subtitle frame rate converter rescales an SRT from one rate to another, for example 23.976 to 25.
- Accented letters showing as boxes or odd symbols: older .sub files were often saved in a regional encoding. Re-save the .sub as UTF-8 with the subtitle encoding converter, then convert it here.
- Lines to fix or retime against the picture: open the video and the SRT in the free subtitle editor, which also exports an MP4 with the subtitles burned in.
Limits
- Text .sub files only, one at a time, up to 20 MB.
- Output is SRT or WebVTT. Styling codes are not carried over.
- The converter changes the format, not the language. It never translates the text.
More free tools
- ASS to SRT Converter
- SRT to ASS Converter
- SBV to SRT Converter
- TTML to SRT Converter
- SRT to TTML Converter
- LRC to SRT Converter
- SRT to LRC Converter
- VTT to TXT: Turn WebVTT Captions into Plain Text
- TXT to SRT: Turn a Script into Timed Subtitles
- SRT to Word Converter
- SRT to Excel Converter
- Merge SRT Files (or Split One)
- Dual Subtitles Maker: Two Languages in One File
- Subtitle Frame Rate Converter: 23.976, 25, 29.97 and More
- Convert SRT to UTF-8: Fix Garbled Subtitle Characters
- Remove Hearing-Impaired Text from SRT Subtitles
Turn the file into text
Prefer one workspace for all mydubly tools? Open this tool in the dashboard · Browse every tool
Frequently asked questions
How can I tell whether my .sub file is MicroDVD or VobSub?
Open it in a text editor. MicroDVD shows readable lines starting with numbers in curly braces; VobSub shows unreadable symbols and normally has an .idx file with the same name beside it.
Which frame rate should I choose for a MicroDVD file?
The frame rate of the video you will watch it with, shown in your player's media information. If you don't know it, try 23.976 first, then 25, and compare a line late in the film.
Why do my converted subtitles drift further out of sync over time?
The frames were turned into times with the wrong rate. Convert again with the video's real frame rate; a steady drift almost always means a rate mismatch, not a fixed offset.
Can I convert the .idx file instead of the .sub?
No. The .idx only holds timing, palette and language information, not the words. The text exists only as images in the .sub and needs OCR software to read.
What happens to codes like {y:i} in a MicroDVD file?
They are removed, so the SRT has plain text. The vertical bar used for line breaks is kept as a real line break.
Does the frame-rate picker matter for SubViewer .sub files?
No. SubViewer stores times in hours, minutes, seconds and hundredths, so it converts the same way at any setting.