How to turn a .txt file into a subtitle file your video player will read
A .txt file (plain text) is not the same format as a subtitle file, even though both contain words. Video players look for specific subtitle formats like .srt, .vtt, or .ass, which include timing information that tells the player when each line should appear and disappear. Converting a .txt file means adding those timestamps and saving it in the right format — a process you can do with a text editor, a dedicated subtitle tool, or an online converter.
The simplest route depends on whether your text already has timing information. If it does not, you will need to either add timestamps manually (slow but precise) or use software that syncs text to video automatically (faster if the software works well with your video). If your text is already broken into lines that match your video's dialogue, the conversion itself takes minutes.
Key Takeaways
- Subtitle files need timestamps showing when each line appears and disappears, which plain .txt files do not have.
- The .srt format is the most widely supported: it requires only line numbers, timecodes in HH:MM:SS,mmm format, the text, and blank lines between entries.
- You can create an .srt file in any text editor by typing the format manually, or use free subtitle editors like Subtitle Edit or Aegisub to add timing from your video.
- Online converters can reformat .txt to .srt if your text is already split into dialogue chunks, but they cannot add timing information your file does not contain.
- Test your subtitle file in your video player before sharing it to make sure the timing matches and the player recognizes the format.
Understanding subtitle file formats and why .txt does not work
Video players do not read .txt files as subtitles because they contain no timing data. A subtitle file must tell the player: "Show this text starting at 00:00:05,000 and hide it at 00:00:08,500." A .txt file has only the words, with no way to signal when they should appear.
The most common subtitle format is .srt (SubRip), which is supported by nearly every video player, streaming service, and editing software. An .srt file looks like this:
1 00:00:05,000 --> 00:00:08,500 This is the first line of dialogue 2 00:00:09,000 --> 00:00:12,300 This is the second line
Other formats exist — .vtt (WebVTT) for web video, .ass for advanced styling — but .srt is the safest choice if you do not know what your player supports. Converting means taking your .txt content and wrapping it in this structure, then adding the timing information.
Converting .txt to .srt manually in a text editor
If your .txt file has dialogue already separated into chunks (one line per subtitle, blank lines between chunks), you can format it as .srt by hand. Open your .txt file in any text editor — Notepad on Windows, TextEdit on Mac, or the document editor you chose earlier. You will add three things before each line: a number, a timecode line, and a blank line after.
Start with the first chunk of dialogue. Type 1 on the first line. On the next line, type the timecode in the format 00:00:05,000 --> 00:00:08,500, where the first time is when the subtitle appears and the second is when it disappears. The times are hours:minutes:seconds,milliseconds. On the next line, paste or type your dialogue. Then add a blank line and repeat with number 2, the next timecode, and the next dialogue.
When you are finished, save the file with a .srt extension instead of .txt. In Notepad, use File > Save As, change the filename to something like subtitles.srt, and set the file type to "All Files" so it does not add .txt automatically. Test it by opening your video in a player that supports subtitles — VLC, Windows Media Player, or your streaming app — and loading the file to see if the timing matches.
This method works well if you have 10 to 20 subtitle chunks and you know roughly when each one should appear. For longer videos or if you need precise timing, a subtitle editor is faster.
Using subtitle editing software to add timing automatically
Subtitle Edit (free, Windows and Linux) and Aegisub (free, all platforms) are tools built for this job. They let you load your video, paste your dialogue, and sync it by playing the video and marking when each line should appear. You save the result as .srt.
In Subtitle Edit, open the program and go to File > New. Paste your dialogue into the subtitle list on the left. Then open your video file (File > Open Video). Play the video and click the button to mark when each subtitle should start; click again to mark when it should end. The software fills in the timecodes. When you are done, go to File > Save and choose .srt format.
Aegisub works similarly: import your video, add your text lines to the grid, then use the video player built into the program to set start and end times for each line. Both tools let you preview the subtitles over the video before saving, so you can catch timing mistakes.
These tools take longer than a converter if your text has no timing, but they give you full control and work with any video length. They also handle edge cases — overlapping dialogue, very fast speech, multiple speakers — better than automated tools.
Using online converters for .txt files that are already formatted
If your .txt file is already split into separate lines or chunks (one subtitle per line, with blank lines between), an online converter can reformat it to .srt quickly. These converters cannot add timing — they only change the file structure. So this method works only if you already have timing information in your .txt file, or if you are willing to add it afterward.
Search for "txt to srt converter" and you will find several free tools. Upload your .txt file or paste the text, and the converter will output an .srt file with placeholder timecodes (usually 00:00:00,000 for every line). read the result and open it in a text editor to add the real timecodes, or open it in Subtitle Edit to sync it to your video.
This approach is useful if your .txt file is very long and already well-organized, because the converter handles the repetitive formatting work. But you still have to add or fix the timing yourself.
Adding timing information if your .txt file has none
If your .txt file is just dialogue with no timing at all, you have three paths: manual entry, automatic syncing, or a hybrid approach.
Manual entry means watching your video and typing the start and end time for each line as you go. This is slow but accurate. Play the video, pause at the moment a character starts speaking, note the timestamp, type it into your subtitle file, then note when they finish. It works for short videos or when precision matters more than speed.
Automatic syncing uses software like Subtitle Edit or Aegisub to do this for you. Load your video and your dialogue, then click or press a key at the start and end of each subtitle while watching. The software records the timecodes. This is faster than typing and less error-prone than guessing.
Hybrid approach means using an online speech-to-text tool or AI subtitle generator to create a rough subtitle file from your video's audio, then editing it to match your .txt file's wording. This works if your video has clear audio and you do not mind spending time correcting the text. Tools like Kapwing or Descript can generate subtitles from video; you then replace their text with your own while keeping their timecodes.
Testing and troubleshooting your subtitle file
Before you share or use your subtitle file, test it in at least one video player. Open your video in VLC (free, all platforms), go to Subtitle > Load Subtitle File, and select your .srt. Watch the first 30 seconds to check that the text appears at the right moment and disappears when it should. If the timing is off, the subtitles will appear too early or too late, or linger after the speaker has stopped.
If the timing is wrong, open the .srt file in your text editor and adjust the timecodes. Subtract a few hundred milliseconds from all timecodes if subtitles appear too late; add milliseconds if they appear too early. Save and test again.
If your player does not recognize the file at all, check that the file extension is actually .srt (not .srt.txt, which sometimes happens if your editor adds an extension automatically). Also verify that your timecode format is exactly HH:MM:SS,mmm --> HH:MM:SS,mmm with the arrow, commas, and no spaces in the wrong places. A single typo in one timecode line can break the whole file.
If you are uploading subtitles to a streaming platform or sharing them with others, check that platform's documentation for any special requirements. Most accept .srt, but some prefer .vtt or have character limits.
Choosing between manual, software, and converter methods
Use a text editor and manual entry if your video is under 5 minutes, you know the dialogue well, and you want to avoid installing software. It is slow but requires nothing but what you already have.
Use Subtitle Edit or Aegisub if your video is longer, you need accurate timing, or you want to see the subtitles over the video as you work. These tools are free and handle the timing work for you. Aegisub is better if you use Mac or Linux; Subtitle Edit is simpler if you use Windows.
Use an online converter only if your .txt file is already well-formatted (one subtitle per line, separated by blank lines) and you are willing to add timing afterward. Converters save time on formatting but do not solve the timing problem.
Use speech-to-text or AI subtitle generation if your video has clear audio and you want subtitles fast, even if you have to edit the text afterward. This is the quickest path if you do not have a .txt file to begin with.
Frequently Asked Questions
Can I use a .txt file as a subtitle file if I just rename it to .srt?
No. Renaming the file does not change its contents. Your video player will try to read it as an .srt file, fail to find timecodes, and either show nothing or crash. You must actually add the subtitle format and timing information.
What if my .txt file has timecodes already, just in a different format?
If your timecodes are in a format like [00:05:00] or 00:05:00 (without the arrow and end time), you can convert them to .srt format using a find-and-replace in your text editor. Search for the old format and replace it with the .srt format. If the conversion is complex, paste your file into an online converter designed for your specific format.
Do I need to use .srt, or can I use .vtt or another format?
.srt is the safest choice because nearly every player supports it. .vtt works on most modern players and web video platforms. .ass supports styling and fonts but is less widely supported. Start with .srt unless your player or platform specifically asks for something else.
How do I sync subtitles if they are off by a few seconds for the whole video?
If every subtitle is early or late by the same amount, you can shift them all at once. In Subtitle Edit, go to Synchronization > Adjust All Times and enter the number of milliseconds to add or subtract. In a text editor, you can use find-and-replace to change all timecodes at once, though this is riskier.
Can I convert a .txt file to subtitles without a video file?
You can convert the format (from .txt to .srt structure) without a video, but you cannot add accurate timing without watching the video or having timing information already in your .txt file. If you have neither, you will need to sync the subtitles to the video afterward using Subtitle Edit or manual entry.