TXT to SRT: turn script lines into subtitles
TXT to SRT takes three steps here: paste your lines (or open a .txt file), choose whether to time them by speaking rate or to fit a total length, and download the .srt. The converter strips speaker prefixes like "Lin Wan:" and stage directions in brackets, makes one subtitle per line, and saves a UTF-8 SRT that CapCut, Premiere Pro and YouTube read without garbled text. It all runs in your browser, and the text is never uploaded.
- One cue per line
- Rate or total length
- UTF-8, no garbling
- Nothing uploaded
Updated Nov 5, 2026Fact-checked Nov 5, 2026
episode-01.en.srt
UTF-81
00:00:00,400 --> 00:00:06,900
The champagne tower is barely up when Nora opens her eyes — she's back on the day they framed her.
2
00:00:07,100 --> 00:00:11,800
Sign the share transfer, little sister. Everyone's waiting on you.
3
00:00:12,000 --> 00:00:15,700
Sign it? Maybe look at the big screen first, Vivian.
4
00:00:15,900 --> 00:00:22,000
The lights dim. On screen, security footage — Vivian tipping powder into Nora's glass.
5
00:00:22,200 --> 00:00:25,000
Turn it off! Who told you to play that?
TXT to SRT: paste lines, get subtitles
Paste lines or open a .txt on the left; the timing preview and the full SRT appear on the right as you type. Hit "Use a sample" to see a short-drama scene converted first.
Speaking rate
Subtitle cues
0
One per line, after cleaning
Subtitles end at
0:00
End time of the last cue
Everything runs in your browser: the text is not uploaded and no AI is used. The file is saved as UTF-8 with a BOM and CRLF line ends, which CapCut, Premiere Pro, DaVinci Resolve and YouTube all read.
How the timing is estimated: each cue lasts its length divided by the speaking rate, never less than the shortest-cue setting, with the chosen pause between cues. In total-length mode every cue first gets the shortest-cue time and the rest is shared out by length. Presets match our duration calculator: 200 / 250 / 300 Chinese characters or 130 / 150 / 170 English words a minute. This is an estimate from text; an SRT exported after dubbing uses the real audio and lines up exactly.
How to convert TXT to SRT in four steps
No video and no install needed. On your first go, press "Use a sample" and watch how each setting changes the timing.
- 01
Paste the lines, one per row
Paste an episode's dialogue into the box or open a local file with "Open .txt". Every non-empty line becomes one subtitle. Speaker prefixes in "Name: line" form are removed by default, and so are bracketed directions such as "(cold laugh)".
Tip · A line that sits entirely inside brackets, like a scene heading, is treated as a direction and dropped.
- 02
Choose how to time it
With no audio yet, pick "By speaking rate": English counts words (Standard is 2.5 words a second, about 150 a minute) and Chinese counts characters. If you already know the final length, pick "Fit a total length", type something like 1:30, and the time is shared out by line length.
- 03
Set pauses, minimum length and shift
"Pause between lines" is the gap between cues. "Shortest cue" keeps one-word lines on screen long enough to read. If the first few seconds have no dialogue, "Shift everything by" pushes every cue later. Long lines can be split above a set length, at commas and full stops first.
- 04
Check the preview and download
The right side lists the first cues with their timestamps, and the full SRT sits underneath. When it looks right, press "Download .srt" or copy the text into another editor. For importing into CapCut, see the CapCut sync guide.
What an SRT file actually contains
SRT (SubRip) is the most widely supported sidecar subtitle format, and it is just plain text laid out by fixed rules. Once you can read it, you can fix a broken TXT to SRT conversion yourself.
Every cue is four lines
| Line | Example | What it means |
|---|---|---|
| Index | 1 | Starts at 1 and counts up; no repeats, no gaps |
| Timestamp | 00:00:01,000 --> 00:00:03,500 | Start and end time, separated by space, two hyphens, a greater-than sign, space |
| Text | Keep that glass. You'll want it for yourself. | One or two lines; for vertical shorts, one is better |
| Blank line | (empty) | Ends the cue; the next one starts with the next index |
In 00:00:01,000 the parts are hours, minutes, seconds and milliseconds. The milliseconds must follow a comma; a period (00:00:01.000) is WebVTT style, and some editors then fail to read the time at all. Each start must come before its end, and a cue should not start before the previous one ends, or two subtitles will stack on screen.
Why subtitles show up garbled
Older versions of Windows Notepad save Chinese text as GBK ("ANSI"), while most editors and video platforms read subtitles as UTF-8, so the characters turn into question marks or junk. This converter detects UTF-8, UTF-16 and GBK when it opens a .txt, and always saves UTF-8 with a byte-order mark and Windows CRLF line ends. CapCut, Premiere Pro, DaVinci Resolve and YouTube all read that correctly.
How accurate is text-based timing?
A TXT to SRT tool can only guess how long a line takes from its length. Real dubbing drifts with emotion, pauses and pace: a cold laugh can stretch, while short lines in a shouting match go by fast. An estimated SRT is good for three things: giving the editor a working draft, captioning an animatic or rough cut with no sound yet, and checking early whether any cue crams too much text onto the screen. When subtitles must match the voice line by line, use the real durations from the audio.

Exact SRT straight from the dub
Dub the script in the AI Drama Voice workshop and every language you export comes with its own SRT. Each cue starts and ends exactly where that line sits in the MP3, so there is nothing to estimate or re-time.
Which speaking rate to choose
| Content | Chinese preset | English preset |
|---|---|---|
| Emotional scenes, narration-heavy stories | Calm, 3.3 chars/s | Calm, 2.2 words/s |
| Ordinary short-drama dialogue | Standard, 4.2 chars/s | Standard, 2.5 words/s |
| Fast-paced dramas, recaps | Brisk, 5 chars/s | Brisk, 2.8 words/s |
Thai is written without spaces between words and Japanese packs many syllables into a second, so counting characters or words misleads in both. For those subtitles, get the total audio length first and let "Fit a total length" share it out.
Subtitles out of sync? Six fixes
If the converted subtitles drift from the voice, first work out whether everything is off by the same amount or the gap grows as the episode goes on.
Everything is a few seconds early or late
The starting point is wrong. Before you download, use "Shift everything by". For an .srt you already saved, run it through the SRT time shift tool, or drag the whole subtitle track in your editor until the first cue meets the first line.
The drift grows over time
The speaking rate is too fast or too slow. Switch to "Fit a total length" and enter the real audio length so the error is spread across every line.
Short lines flash by
Raise "Shortest cue" to 1.2–1.5 seconds. Viewers need time to read; a cue that is correctly timed but too short is effectively invisible.
Too much text on one screen
Set a split length; for vertical shorts in English, try around 7–8 words. The converter breaks at punctuation first and times each piece by its own length.
Speaker names still show
Check that lines use the "Name: line" form. A prefix longer than 24 characters or containing a full stop is not treated as a speaker. Switch to "Keep" if you want names on screen.
Scene notes became subtitles
Put lines like "Scene: banquet hall" inside brackets, or delete them. The converter only drops bracketed directions; it doesn't guess which lines aren't dialogue.
When you need TXT to SRT
A subtitle draft for the editor
Once the script is locked but before the voice exists, an estimated SRT lets the editor lay out and style subtitles early, then swap in the exact file when the audio arrives.
Checking line length for vertical shorts
Convert each episode, drop the SRT into CapCut and see which lines wrap to two or three rows on a phone. Cutting them in the script now beats re-editing a finished episode.
A first look at translated subtitles
Paste translated English or Indonesian lines one per row, switch to counting words, and you can see how many cues there are and how long they run; use the post-dub SRT for the final cut.
Frequently asked questions
Put the dialogue one line per row, paste it into the TXT to SRT converter on this page (or open the .txt directly), choose a speaking rate or total length and press "Download .srt". It numbers the cues, writes the timestamps, removes speaker prefixes and saves a standard UTF-8 SRT.
SRT is plain text: each cue has an index, a "start --> end" timestamp, the text and a blank line. Writing it by hand invites mistakes, so generate it from your lines with this SRT subtitle generator; when you have the dubbed audio, the SRT exported with the dub has the most accurate timing.
If everything is early or late, use "Shift everything by" before you download. If the gap grows, switch to "Fit a total length" and enter the real audio length. To retime an SRT you already have, use the SRT time shift tool: it moves every cue, only the cues after a chosen line, or stretches the whole timeline. For line-by-line accuracy, use the SRT generated from the real audio; see the CapCut sync guide.
Almost always an encoding mismatch: the file is GBK ("ANSI") and the editor reads it as UTF-8. Open the original in this converter and download it again; the SRT it saves is always UTF-8 with a BOM, which normally fixes it.
Yes. TXT to SRT needs only the script text, and the timing is estimated from the speaking rate. It's useful for a draft or for checking how much text each cue holds; once the audio or video exists, adjust to the real length or switch to the exact SRT exported after dubbing.
Yes. For English and other space-separated languages, switch the count to words. Thai has no spaces between words, so character-based estimates drift; get the total audio length first and use "Fit a total length".
Done estimating? Dub the lines instead Exact timings, line by line.
Paste an episode: the AI casts each role and voices every line, and the exported SRT matches the audio cue by cue. Cast analysis is free.
Billed by characters generated · Failed runs refunded automatically · Alipay, WeChat Pay and cards







