SubToolbox

How to Change a TXT File to SRT (It's Not Rename)

The most common subtitle question there is: "I renamed my text file to .srt and the player says invalid." The extension was never the point — SRT describes the content's shape. The fix is a real conversion, and it takes two minutes.

Quick answer: Renaming changes only the filename; players validate the content — numbered cues with comma-millisecond timestamps. To convert properly: structure the text (ideally with timestamps per line), run it through a TXT-to-SRT converter, and download a genuinely valid .srt.

Why renaming fails

A player opening an "SRT" reads the first lines expecting: a number, then a timestamp pair with commas before milliseconds. A prose file — or even a list of lines with no timing — fails that check immediately. The extension is a label; the content is the contract.

What a valid SRT must look like

If your text file already looks like this — some transcript tools emit exactly this shape — renaming is fine, because the content was SRT all along. If it doesn't, no rename will help.

  • 1
  • 00:00:01,000 --> 00:00:04,000
  • Your first subtitle line
  • (blank line, then the next numbered block)

The proper conversion

Take the text into a converter that reads it and writes real cues. If your lines carry timestamps ([00:01:23] or 00:01:23–00:01:27), they are honoured exactly. If not, the text is split into sentences and timed at a reading speed — a draft, and a perfectly serviceable one for captions that get checked against playback.

Frequently Asked Questions

Can't I just add timestamps myself in Notepad?
You can — SRT is plain text, and hand-writing the blocks is legitimate. The converter exists because pacing maths (duration per line, gaps, two-line wrapping) is tedious by hand and easy to get subtly wrong.
My renamed file plays in VLC but not on YouTube. Why?
VLC's parser is forgiving; YouTube's is strict. A file that "seems to work" locally can still fail platform checks — which is the argument for converting properly once instead of testing luck everywhere.
Does the same apply to .vtt?
Yes — VTT additionally requires the WEBVTT header line. Renaming to .vtt without the header fails in browsers even when the timestamps are right.

More tools used in this guide

More guides