TXT to SRT Converter
To convert TXT to SRT, paste your text or drop a .txt file on the page and SubtitleFixer turns each line into a subtitle, timed by reading speed or by the timestamps already in your text, right in your browser. The timings come from the text, not from the audio of your video.
How to convert TXT to SRT in 3 steps
You can turn text into a subtitle file in three steps, and your text stays on your device the whole time.
- Add your text. Paste it into the box, or drag a .txt file onto the page.
- Choose a mode. Pick "Plain text" if your text has no times, or "Text with timestamps" if it already has them. Check the start time and reading speed if you need to.
- Download. Save the result as an SRT file, or switch the output to VTT.
The timings are estimated from your text, not from the audio of your video. If the subtitles need to match the speech exactly, see Matching the subtitles to your video below.
Example: plain text
Every line of text becomes one subtitle. At the default reading speed of 17 characters per second, a line of 21 characters stays on screen for about 1.2 seconds.
Before (text):
Hi, and welcome back.
Today we're fixing subtitles.
First, open your file.
After (SRT file):
1
00:00:00,000 --> 00:00:01,235
Hi, and welcome back.
2
00:00:01,235 --> 00:00:02,941
Today we're fixing subtitles.
3
00:00:02,941 --> 00:00:04,235
First, open your file.
Each subtitle starts when the previous one ends. Set a gap in milliseconds if you want a short pause between them, or a start time if the speech doesn't begin at 00:00:00.
Example: text with timestamps
If your text already has times, such as a transcript copied from YouTube, SubtitleFixer keeps them.
Before (text):
0:00 Hi, and welcome back.
0:04 Today we're fixing subtitles.
0:09 First, open your file.
After (SRT file):
1
00:00:00,000 --> 00:00:04,000
Hi, and welcome back.
2
00:00:04,000 --> 00:00:09,000
Today we're fixing subtitles.
3
00:00:09,000 --> 00:00:10,294
First, open your file.
Each subtitle ends when the next one starts. The last one has no next line, so its length comes from the reading speed.
These timestamp styles are recognised:
00:01:05 text[00:01:05] text1:05 text, as in a YouTube transcript00:01:05,200 --> 00:01:07,000on its own line, with the text below it
Settings
Plain text mode has a few settings, and all of them have sensible defaults.
- Split by: lines (default) or sentences. With sentences, each sentence becomes its own subtitle, even when several are on one line. Lines are never joined, so a sentence that runs onto the next line becomes two subtitles.
- Start time: when the first subtitle appears, as
hh:mm:ss,mmm. Default:00:00:00,000. - Reading speed: characters per second. Default: 17.
- Minimum and maximum duration: how short or long one subtitle can be. Default: 1 to 7 seconds.
- Gap: a pause between subtitles, in milliseconds. Default: 0.
- Fit to total duration: enter the length of your video, and the timings are stretched or squeezed to fill it, with longer lines getting more time. The minimum and maximum duration don't apply in this case.
Lines longer than 42 characters are split into subtitles of up to two lines each.
In "Text with timestamps" mode, Start time and Gap aren't used, because the times come from your text.
What it does and doesn't do
The converter turns text into a subtitle file. It doesn't change your words.
What it does:
- Turns plain text into SRT subtitles, one line or one sentence per subtitle.
- Times each subtitle by reading speed, or keeps the timestamps already in your text.
- Splits long lines into subtitles of up to two lines.
- Saves as SRT or VTT.
- Detects the encoding of your .txt file, so Cyrillic, Arabic or Chinese text reads correctly, and saves the result as UTF-8. Tick "Add BOM (old players)" if your player or TV needs a BOM.
- Runs in your browser: your text never leaves your device, and there's no sign-up.
What it doesn't do:
- It doesn't listen to audio or video. It can't transcribe speech or line the text up with it.
- It doesn't translate the text.
- It doesn't burn subtitles into a video. It creates a separate subtitle file that you load in your player or video editor.
Matching the subtitles to your video
Timings from reading speed are a starting point, and they rarely match the speech exactly. Here's how to get closer.
- Set the start time (in "Plain text" mode) to the moment the first line is spoken, so the whole file starts in the right place.
- Use timestamps if you have them. A transcript with times, from YouTube or a transcription tool, gives far better timings than reading speed.
- Fix the rest in the file. If every subtitle is early or late by the same amount, use Shift subtitles. If the gap grows towards the end, set the correct time for two lines with Fix subtitle drift.
Related tools
FAQ
How do I convert a text file to SRT?
How are the timings calculated?
Can it sync the text to my video's audio?
How do I turn a YouTube transcript into SRT?
1:05 text keep their start times, and each subtitle ends when the next one starts.