How to Convert TXT to SRT (3 Methods)

How to Convert TXT to SRT (3 Methods)
You've got a plain text transcript and need a working SRT subtitle file. The gap between them is bigger than it looks: TXT has no timestamps, and SRT requires them in a very specific format tied to exact moments in the video.
There are 3 routes. Format the SRT blocks by hand in a text editor. Use Subtitle Edit to time each line while watching the video. Or skip the conversion entirely and get a timestamped SRT directly from the source video. Which one fits depends on whether you still have access to the original video and how much timing data you already have.
To convert a TXT file to SRT, reformat each piece of text into SRT's 4-part block structure: a sequence number, a timestamp line (HH:MM:SS,FFF --> HH:MM:SS,FFF), the subtitle text, and a blank line. Do this manually in any text editor, or use Subtitle Edit to set timing while watching the video. If you have the original video, re-transcribing it produces a properly timed SRT without manual timestamp work.
What the SRT Format Actually Requires
Before touching any file, understand what makes SRT different from TXT. A plain text transcript is just words, maybe with speaker labels or paragraph breaks. SRT adds a time layer that tells the video player exactly when each subtitle appears and disappears.
Every SRT entry follows the same 4-part block:
1
00:00:02,500 --> 00:00:05,000
Welcome to the tutorial.
2
00:00:06,000 --> 00:00:09,000
Today we're converting a TXT file to SRT.
A 60-minute video typically generates 600–900 subtitle entries. The SRT timestamp format uses hours, minutes, seconds, and milliseconds separated by a comma. YouTube and most video platforms reject files where the separator is a period instead of a comma. Each subtitle entry should stay within 42 characters per line, with a 2-line maximum per entry. Display times for individual entries typically run 1–7 seconds. Entries shorter than 1 second are often unreadable, and entries longer than 7 seconds let the text lag behind the spoken audio. UTF-8 is the standard character encoding. Save the file with any other encoding and characters outside basic ASCII (accented letters, non-Latin script) turn into garbled symbols. The .srt file extension is required. Missing blank lines between entries is the most common structural error, causing adjacent subtitles to merge in most players.
If you're deciding between SRT and VTT for your project, SRT vs VTT: Which Subtitle Format Should You Use? breaks down the differences.
Method 1: Convert TXT to SRT Manually in a Text Editor
This works when you already know (or can estimate) the approximate timing for each line. That might mean you have a roughly synced transcript from a tool, you're working from a short clip, or you can scrub through the video to find timestamps yourself.
What you'll need:
- A plain text editor (Notepad on Windows, TextEdit in Plain Text mode on Mac, VS Code on any system)
- Your TXT transcript
- Rough timestamps or the ability to estimate them from the video
Steps:
- Open your TXT file in the text editor
- Add a sequence number on the first line above each subtitle entry, starting at 1
- On the next line, add the timestamp:
00:00:02,500 --> 00:00:05,000 - Keep the subtitle text on the following line (under 42 characters; split into 2 lines if needed)
- Add a blank line after each entry
- Save the file as UTF-8 with the
.srtextension
The timestamp syntax is the part that trips people up. The format is HH:MM:SS,FFF --> HH:MM:SS,FFF where HH is hours, MM is minutes, SS is seconds, and FFF is milliseconds. Use commas, not periods. The arrow (-->) needs exactly one space on each side.
When this works well: Short videos (under 5 minutes), or situations where you have a transcript with rough timing from meeting notes or video chapters. Anything over 10 minutes with no timing data becomes tedious fast.
The real limitation: You're estimating timing. If your estimates are off by more than a second, the subtitles will visibly lead or lag the audio.
Method 2: Use Subtitle Edit to Time Your Text
Subtitle Edit is a free, open-source desktop app for Windows and Linux. It lets you import a plain text file and set timing for each line by clicking on a waveform as the video plays. No guessing required.
How it works:
- Open Subtitle Edit, then go to File → Import → Plain Text
- Subtitle Edit splits the text into entries based on line breaks or sentence endings
- Load your video file in the video panel
- Click the waveform at the moment each subtitle should start, then press the down arrow to close the timing for that entry and move to the next
- Keep going until every line has a start and end timestamp
- File → Save As → set format to SubRip (.srt)
The waveform view removes the guesswork. You hear the word spoken and click precisely where it starts. This takes longer than a text edit, but the timing accuracy is much better than estimating from memory.
macOS alternative: Subtitle Edit runs natively on Windows and Linux. On Mac, Aegisub and Jubler use the same waveform-based approach.
When Subtitle Edit makes sense: You have the original video, your transcript is reasonably clean, and you need accurate subtitle timing for content a real audience will watch. Good for interviews, webinar recordings, and anything that gets posted publicly.
Once your SRT is built, How to Edit an SRT File covers how to fix timing errors, encoding issues, and formatting problems after the fact.
Method 3: Skip the Conversion — Get SRT Directly
If you still have the original video or audio, the fastest path isn't converting TXT to SRT. It's re-transcribing the video and exporting SRT directly.
Every timestamp you add manually is an approximation. Every timestamp from a transcription tool is computed from the actual audio. The second approach produces more accurate subtitles in less time.
PixScript handles this in a few steps. Paste a YouTube, TikTok, or Instagram Reels URL into the dashboard, or upload an audio or video file directly (MP3, MP4, M4A, WAV, and other common formats up to 500 MB). PixScript transcribes the audio and produces a timestamped transcript. Click Export and choose SRT. The download is a properly formatted SRT file with millisecond-precision timestamps.
This makes sense whenever you have the original video. It produces cleaner results than either manual method, and it takes minutes rather than hours.
For a closer look at how timecoded transcripts work and what the SRT output looks like, see Transcription with Timecode.
Common Mistakes When Converting TXT to SRT
Period instead of comma in the timestamp. The format is 00:00:05,000, not 00:00:05.000. A period causes YouTube's subtitle validator and most video players to reject or skip the timestamp entirely. This is the most common error.
Missing blank lines between entries. Every SRT block must end with a blank line. Skip one and adjacent entries merge into a single subtitle in most players. If two lines of text appear at once when they shouldn't, check for missing blank lines.
Lines over 42 characters. Long subtitle lines get cut off by some players and look cramped on smaller screens. Split long lines at natural phrase breaks, not mid-sentence.
Wrong encoding on save. Save with ANSI or Windows-1252 encoding and any accented letters or non-Latin characters become garbled symbols. Always save as UTF-8. In Notepad, that's the Encoding dropdown in File → Save As.
Out-of-order sequence numbers after editing. If you insert or delete entries without renumbering, the sequence jumps (e.g., 1, 2, 5, 6). Most players handle this fine, but YouTube flags it as a warning. Subtitle Edit's Tools → Renumber subtitles fixes it in one click.
Overlapping timestamps. Entry 5 ends at 00:00:10,000 and entry 6 starts at 00:00:09,500. Players render only the last subtitle in the overlap, hiding a line of dialogue entirely. Keep at least 100ms between consecutive entries.
Frequently Asked Questions
Can I convert TXT to SRT without any timestamps?
Not fully. SRT requires timestamps for every entry. You can paste your TXT content into the SRT block structure and add approximate timestamps by hand, or use Subtitle Edit to time the text while watching the video. If you have the original video, re-transcribing it with a tool like PixScript produces a timed SRT without manual timestamp work.
Is there a free tool that converts TXT to SRT automatically?
Most online TXT to SRT converters add evenly-spaced placeholder timestamps (typically 2–3 seconds per line). That works for short clips where timing doesn't matter much, but it won't sync to actual spoken audio. For accurate timing you need to either set timestamps manually or transcribe against the original video.
What's the difference between TXT and SRT exports from transcription tools?
TXT export contains the transcript text only, no timestamps. SRT export includes the same text formatted into timed subtitle blocks with millisecond-precision timestamps. PixScript's free tier exports TXT. SRT and VTT export are available on the Pro plan.
Why does my converted SRT file get rejected by YouTube?
The most common causes are a period instead of a comma in the timestamp (use 00:00:05,000, not 00:00:05.000), missing blank lines between entries, and files saved with non-UTF-8 encoding. Fix those 3 issues and most YouTube rejections resolve.
How long does it take to manually convert a 1-hour TXT transcript to SRT?
Adding timestamps from scratch by hand: expect 4–8 hours. With Subtitle Edit and the original video, an experienced user can time a 1-hour recording in 45–90 minutes. Re-transcribing the same video with PixScript takes under 5 minutes.
Start With Accurate Timestamps
For most videos, converting TXT to SRT is harder than it needs to be. PixScript transcribes the original video and exports a properly formatted SRT in minutes. Paste a URL or upload a file at pixscript.com. The free tier includes 10 transcripts per month. SRT and VTT export are available on Pro.