SubRip SRT Subtitles Generator

This generator creates SubRip SRT subtitles that can be added to AVI, MP4 or MKV containers etc., or can be "burned into" video files themselves. SubRip files (.srt) can also be used separately with video players such as VLC and can be uploaded to video platforms like YouTube and Vimeo.

There are other subtitling apps out there, such as Aegisub, however they have a much steeper learning curve than this one as they offer more features. If you want to go down this route instead have a look at this tutorial.


A SubRip file has a fairly simple structure. e.g.:

00:00:23,000 --> 00:00:24,500
You're a jerk, Thom.

00:00:25,000 --> 00:00:27,000
Look Celia, we have to follow our passions;

00:00:27,000 --> 00:00:30,500 have your robotics, and I
just want to be awesome in space.

Each subtitle entry starts with a number(1, 2, 3,....) followed on the next line by a time sequence (i.e. when the subtitle begins, then the string ' --> ' followed by when it ends). The next line(s) contain the actual text. If it is on more than one line, then more than one line will be displayed on the screen. The subtitle entry is terminated by a blank line.

As you can see, it is fairly simple and you could just create a SubRip file with a text editor. However, getting the timings right is prone to error and if you miss a subtitle out in the middle and want to add it later you have to change all of the entry numbers following that subtitle.

The generator runs the video in a simple video player. Once you are near the spot where you want to insert a subtitle can use the player controls to fine-tune the position. The pressing a button inserts the video time into the subtitle entry. You can then move the video forward to the end of the subtitle and pressing another button inserts that into the subtitle entry. Or you can let the software decide where the subtitle ends based on the number of words in the text (the software assumes a reasonable reading speed of 3 words per second: 3 wps). When you want to create the .srt file you press the "Export" button. At this point the application generates the file and displays it. It is then simply a matter of clicking in the window containing the text and copy-pasting this into a text editor then saving the file with a ".srt" suffix. You can create foreign language version of the file by pasting the whole text into "", or "" and creating a new file of the translated text. MP4 and MKV containers can handle multiple SubRip files.

You can:

Below is a screenshot of the generator.



First you need to download the SRT Generatorby clicking (right-clicking or ctrl-clicking) on the HTML5 icon ()in the table below.

Downloads - click (or right-click) on the relevant Javascript symbol
The SRT Generator, called "srt_generator.html"

The application is an HTML webpage that you run in a (modern) browser, like the latest version of Google Chrome or Microsoft Edge. Just double-click on the html file, or "open" it and it will be displayed in the browser. Since it is a simple webpage running Javascript it will not access any files on your system other than one - the VIDEO file, or it can be an AUDIO file, if you want to subtitle one of those. The formats that the app can handle depends on the browser in which you are running it. For Google Chrome and Edge it can handle:

It may be able to handle other formats too.

Application Controls

Subtitle Text Area

Above the video is the area where the subtitle text will be displayed. Obviously this is just for the application. Where the text is displayed on the video on the Youtube/Vimeo website, or within VLC etc is determined mainly by them.

"SKIP" Controls

Below the video are the "SKIP" controls those depicting ">" will skip forward in time a certain number of seconds, those showing "<" will skip backward in time:

    <  >     0.1s
   <<  >>      1s
  <<<  >>>     5s
 <<<<  >>>>   10s
<<<<<  >>>>>  30s
Using these controls will cause the video to skip the number of seconds then pause. The controls within the video player itself can be used to skip larger distances and resume playing the video.

Edit Line

Below the "SKIP" controls is the "Edit Line", where new subtitles are created or existing ones are add. The controls are:

To create subtitle text that has multiple lines insert the 2 consecutive characters "\n" where you want the text to be split. You may also enclose text in the certain "brackets":

Subtitle Entries

The entries are below the "Edit Line" and are (normally) in order of entry, i.e. the first one added is at the top of the table and has "seq_no" 0, while the latest one added is at the end of the table. The "Begin" time has nothing to do with the position in the table, except when the SORT button () is pressed, at which point the entries are sorted into "Begin" time order. Each entry has a set of controls associated with it:

If an entry is deleted it remains in the table, but none of these controls will work on it, apart from the "UNDELETE" button. The entry cannot be edited, nor can the video seek to its "Begin" time. The subtitle text will also not appear when the video reaches the entry's "Begin" time. A deleted entry will not appear in the final SubRip text.

Speed Controls

These are to the left of the video/audio player. They alter the rate of play to 0.2x, 0.5x, 1x, 2x, 5x. The slower rates help in determining precisely where speech starts.

Media Source Button

Pressing this button brings up a file open dialogue that is asking for the media file to be selected (e.g "video.mp4" or "audio.mp3").

Global Controls

These are the set of control buttons to the right of the video/audio player. They perform global functions, i.e. are functions that do not operate on single entries. The buttons are:

When you press the "WAVEFORM" button you will be presented with a file open dialog. You should select the same file as the media you are currently playing. It takes some time to create the waveform, as it has to read the whole of the audio track to create it. Once it becomes available it will display below the video and will be in sync with it, even if you change the rate (speed) of playing. This too helps to identify where speech begins and ends.

You may use the "Resize" button to double the size of the video player. Pressing this button a second time reverts to the original size. The "Import" button is useful if you are subtitling over several sessions. At the end of one session you would "Export" the subtitles and save this .srt file. When you start the next session you would first "Import" this .srt file and then you are ready to continue subtitling your video. This first version of the application does have any recovery mechanisms and if the browser, or the system crashes all of your work will be lost, so:


If you make a mistake and import a wrong .srt file it can really mess up your subtitling. Normally you would have to go to each new entry and delete it. To make it easier the "Delimport" button will delete all entries that were imported the last time you pressed the "Import" button.

The "Erase" button will take all of those entries that have been deleted and will hide them, so they do not clutter up the entries table. Once you erase an entry it is effectively lost and cannot be retrieved.

How to Use a SubRip (.srt) File

Where? How?
YouTube Open the "Upload a file" tab on the webpage:
Vimeo See the webpage:
VLC See the webpage:
HandbrakeSee the webpage:
Shotcut See the webpage:

Version 2.0 Copyright © 2020 - Elusien Entertainment (

Creative Commons Licence This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

The following is a summary of the license. For the actual wording of the license see:

Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.

ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.

No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.