I downloaded a bunch of videos that came with .srt files, but I have no idea what they do or how to open or edit them. I’m trying to add subtitles to my videos and keep seeing people mention SRT files for captions and translations. Can someone explain in simple terms what an SRT file is, how it works with video players, and what I need to use or modify these files for my own videos
What is an SRT file
An SRT file is a plain text file that stores subtitles.
No video, no audio, only text plus timing.
Inside you get:
1
00:00:01,000 → 00:00:04,000
Hello.
2
00:00:05,000 → 00:00:07,500
This is a subtitle example.
Each block has:
- an index number
- a start and end time in hours:minutes:seconds,milliseconds
- the subtitle line or lines
Your video player reads this file and shows the text during the matching time range.
What SRT files are used for
I see them used for:
- Movies and shows in another language
- Accessibility for deaf or hard of hearing viewers
- Watching stuff on mute without missing dialog
- Searchable transcripts, because it is plain text
- Fixing bad built-in subtitles by loading a better external SRT
You often download an MKV or MP4, then grab an SRT separately from a subtitle site and sync it.
Advantages of SRT
From actually dealing with them:
-
Easy to open in any text editor
I edit them in TextEdit on Mac and Notepad on Windows. You edit timestamps and text directly. -
Works in many players
VLC, MPV, Elmedia Player, BS Player, and many others support it. No conversion needed in most cases. -
Light file size
It is only text, so even a long movie subtitle file stays small. -
Simple to translate
You duplicate an SRT and replace the dialog line by line in another language. -
Good for backup
You keep your video file clean and store subtitles separately. Easier to fix or swap.
Disadvantages of SRT
Where it starts to suck a bit:
-
No styling beyond basic italics
You do not get proper fonts, colors, or advanced positioning like richer formats have. -
Sync issues
If your SRT was made for a different release of the video, timing drifts and lines show too early or late. Fixable but tedious. -
Encoding problems
I had a lot of trouble with subtitles in languages with accents or non-Latin scripts when the SRT used the wrong encoding. You get garbled letters. -
Limited support for effects
Karaoke-like effects, fancy animation, or complex text layout are not what SRT is for.
How to use SRT with Elmedia Player on Mac
What I like about Elmedia is it handles external subtitle files without much effort.
Basic way to play SRT with Elmedia on macOS:
- Install Elmedia Player.
- Open your video in Elmedia.
- Drag the video onto the app icon or do File → Open.
- Put the SRT file in the same folder as the video.
- Name them like this:
movie.mp4
movie.srt
In many cases Elmedia auto-detects it if the names match.
- Name them like this:
- If it does not auto-load:
- Go to the menu bar → Subtitles → Load from file.
- Pick the SRT file.
Subtitle options that helped me:
- Font, size, color adjustments so text is readable on different monitors
- Sync adjustment to shift all subtitles forward or back if they are slightly off
- Option to pick the encoding if non-English text shows up broken
Short notes about Elmedia Player and its strengths
From my use:
- It reads lots of formats without installing extras, including MKV, MP4, AVI, and external subtitles like SRT.
- The subtitle menu is simple. You do not dig through 10 panels to turn them on.
- Good for people who watch stuff with multiple audio and subtitle tracks. Easy track switching.
- The interface feels stable and consistent on newer macOS versions. I did not see weird glitches with SRT loading.
Weak points I noticed:
- Some advanced subtitle formats with heavy styling do not look great. SRT works fine though.
- Some features sit behind the Pro version, but loading SRT files worked for me on the free tier.
How to use SRT with BS Player on Windows
I used BS Player a while back on a Windows machine that I kept for media.
To play SRT with BS Player:
- Install BS Player from the installer you downloaded.
- Open BS Player.
- Load your video.
- Use drag + drop or right-click → Open file.
- Place the SRT in the same folder with the same base name as your video:
- example.mkv
- example.srt
BS Player usually loads it automatically if the naming matches.
If you need to load manually:
- Right-click on the video screen.
- Go to Subtitles.
- Click Load subtitles.
- Select the SRT file.
BS Player has its own subtitle search system, but I prefer local SRT files I trust. Still, it is an option to test.
Subtitle settings I ended up touching:
- Subtitle font, size, and position on screen
- Delay settings to push subtitles forward or back when sync is off
- Encoding changes for languages that did not show properly by default
Short notes about BS Player and its strengths
From using it on Windows:
- Good performance on older or weaker machines. It handled high resolution files better than some heavy players.
- Built-in auto search for subtitles from online databases saved time when I did not have an SRT yet.
- Subtitle management is detailed. You get many options for position, offset, scaling, and encoding.
What bugged me:
- The installer sometimes tries to include extra stuff like toolbars if you click through quickly. You need to read each step.
- The interface looks dated, especially compared to more modern players. Functionally fine, visually old.
- Ad-supported behavior in the free version can be annoying.
If you keep SRT and video in the same folder with the same base filename, both players handle most cases without effort. When timing is off, look for the subtitle delay option in the player, nudge it until dialog lines match the audio, and then keep that SRT as your “good” one for that file.
An SRT file is a subtitle script in plain text. No video. No audio. Only timestamped lines.
Quick example of the inside:
1
00:00:01,000 → 00:00:03,000
Hi there.
2
00:00:03,500 → 00:00:06,000
This is a subtitle line.
That is the whole concept.
What you use SRT files for
- As external subtitles for a video.
- As caption source files for YouTube, TikTok, etc.
- As a base to translate dialog to other languages.
- As a transcript you can search or edit.
@mikeappsreviewer already covered players like Elmedia Player and BS Player. I agree with most of that, but I would not overthink “advanced formats” at your stage. For basic subtitles, SRT is enough.
How to open and edit them
-
Open them in any text editor.
On Windows, use Notepad.
On macOS, TextEdit with “Plain text” mode on.
On Linux, any editor.
If you see weird characters for accents, try changing encoding to UTF 8. -
Edit the text under each timestamp.
Do not change the timestamp format:
HH:MM:SS,mmm → HH:MM:SS,mmm
Example: 00:01:05,200 -
Keep the index numbers in order.
1, 2, 3, etc.
If you delete a block, renumber the rest to avoid weird behavior in some tools.
How to use SRT for watching
You already have videos and SRT files. Use them like this.
General trick for most players
- Put video and SRT in the same folder.
- Give them the same name before the extension.
example.mp4
example.srt - Open the video in your player.
Many players auto load the SRT.
If it does not auto load, look for a “Subtitles” menu, then “Load subtitles” or similar, and pick the SRT.
On macOS, Elmedia Player handles this well. Drop your video, then either let it auto find example.srt or pick it in the Subtitles menu. It has a simple option to shift subtitles forward or backward if sync is off.
On Windows, VLC is another option. I know @mikeappsreviewer likes BS Player, but VLC avoids ad stuff and random bundled extras. With VLC you drag video in, then Subtitle menu, then “Add Subtitle File”.
How to fix subtitles that are out of sync
Two cases.
-
Everything is late or early by the same amount.
Use your player’s subtitle delay feature.
In VLC, press G or H to nudge.
In Elmedia Player, use the sync slider in the subtitle settings.
Do not edit the SRT in this case. -
Subtitles start ok then drift over time.
That means the SRT was timed for a version of the video with different length.
Quick workaround. Use a tool like “Subtitle Edit” (Windows) or “Jubler” (cross platform).
These tools stretch or shrink all timestamps to fit the video length.
You do not want to fix hundreds of lines by hand.
Using SRT for adding subtitles to your own videos
If you are editing your own content and want “burned in” subtitles or soft subs for upload, there are two paths.
-
Use the SRT directly on platforms
YouTube, Facebook, TikTok and others accept SRT uploads.
Workflow:- Create an SRT with all your lines and timestamps.
- Upload video.
- Upload SRT as captions.
The site will sync using the timestamps.
-
Hardcode subtitles into the video
This bakes text into the image.
Once you export, subtitles are part of the video and you cannot turn them off.Easier method using ffmpeg if you want a quick technical solution:
a. Make sure your SRT is named subs.srt and your video input.mp4.
b. Use a command like:
ffmpeg -i input.mp4 -vf subtitles=subs.srt -c:a copy output.mp4
c. You get output.mp4 with permanent subtitles.There are GUI editors too, like Aegisub, or your main video editor if it supports SRT import. In tools like Premiere or DaVinci Resolve, you import the SRT, then export with subtitles burned in or as a separate track.
How to create an SRT from scratch
Simple manual method, good enough for short clips:
-
Open a blank text file.
-
Use this pattern:
1
00:00:00,000 → 00:00:02,000
First line of text2
00:00:02,500 → 00:00:04,000
Next line of text -
Keep times consistent with your video.
Save as yourfile.srt.
Use UTF 8 encoding if you have multiple languages.
For longer videos, this manual method is painful. Use a subtitle editor that shows waveform and lets you set in and out points with a shortcut. “Subtitle Edit” (Windows) or “Aegisub” work well. Some AI based tools autogenerate a rough SRT that you clean up.
Things you do not get with SRT
This is where I slightly disagree with focusing on “disadvantages” too much. For 90 percent of real world cases, SRT is enough. You only hit limits when you want:
- Fancy fonts and positioned lyrics.
- Karaoke effects.
- Complex styling and animations.
For that, formats like ASS or SSA are better. For simple captions and translations, stick to SRT. Less to learn, less to break.
Practical checklist for your situation
-
Pick a main video player.
- On Mac, Elmedia Player is a solid choice for SRT and general formats.
- On Windows, VLC or BS Player.
-
Put each video and its matching SRT in one folder with the same base name.
-
Open video in your player.
If subtitles do not appear, load the SRT manually from the subtitles menu. -
If timing seems off by a constant amount, use subtitle delay.
If timing drifts more over time, use a subtitle editor to retime. -
If you want to add subtitles to your own uploads, finish your SRT, then upload it next to the video on the platform or burn it in via your video editor or ffmpeg.
Once you do this once or twice, SRTs stop feeling mysterious and become another simple text file you tweak when needed.
SRT is literally the “.txt of subtitles,” you just happened to see it first with a weird extension so it feels scarier than it is.
Couple of key points that @mikeappsreviewer and @kakeru didn’t lean on as much:
1. What an SRT actually is (in practice)
Think of it as a script+timeline for your video:
- Script: what’s being said
- Timeline: when each line should appear & disappear
That’s it. No magic. Your player just lines up the timestamps in the SRT with the timestamps in the video and overlays the text.
2. How to really open/edit them without overcomplicating it
You do not need special “subtitle software” to start:
- On Windows: right‑click the .srt → Open with → Notepad
- On Mac: right‑click → Open With → TextEdit, then set it to plain text
Inside you’ll see chunks like:
1
00:00:03,000 → 00:00:05,000
My first subtitle line
2
00:00:05,100 → 00:00:07,500
Second line here
To edit:
- Change the text lines, leave the timestamps alone unless you know why you’re changing them.
- Keep the numbering in order. Some players tolerate gaps, some act weird. I personally just keep it clean and sequential.
One tiny disagreement with the “just change encoding if letters look weird” advice: half the time people flip encodings blindly and it never fixes anything. If you run into gibberish characters, save the file explicitly as UTF‑8 from your editor and be done with it. Don’t spend 20 minutes clicking through ISO‑whatever.
3. Easiest way to use SRT with your videos
Since you already “downloaded a bunch of videos that came with .srt files,” you’re actually in the easiest scenario:
- Put
video.mp4andvideo.srtin the same folder - Make sure the names before the dot match exactly, e.g.:
myvideo.mp4myvideo.srt
Then:
- On Mac, Elmedia Player is honestly the smoothest route here. Just open the video in Elmedia Player and it will usually auto‑load the SRT if the names match. If not, Subtitles → Load from file → pick the SRT.
- On Windows, VLC, BS Player, etc. do basically the same thing via a “Subtitle” or “Subtitles” menu.
I slightly disagree with the idea that you should jump into tools like Subtitle Edit immediately for sync issues. For a beginner, the first thing to try is in the player:
- Look for “Subtitle delay” or “Subtitle sync”
- Nudge it forward/back in small steps while a character is talking
- Only if the subs drift over time should you bother with full‑blown subtitle apps
4. Using SRT to add subtitles to your own videos
This is where SRT is actually really nice:
-
YouTube, Facebook, etc. accept SRT directly:
- Make or edit your SRT so the timings match your video
- Upload the video
- Upload the SRT as “captions/subtitles”
The platform handles the rest.
-
If you want subtitles burned in to the video (always visible, can’t be turned off), most editors let you import an SRT and then export with subtitles baked into the image. Or yeah, ffmpeg if you’re into that kind of self‑punishment.
5. Minimal “how do I make one from scratch” version
For short clips:
-
Open a new text file
-
Use this pattern:
1
00:00:00,000 → 00:00:02,000
First line of text2
00:00:02,500 → 00:00:04,000
Second line of text -
Save as
something.srtusing UTF‑8
That’s literally an SRT file.
6. For your exact situation
- Keep each video with its matching SRT in the same folder, same base name
- Use a player that actually treats subtitles as a first‑class feature
- On Mac, Elmedia Player is a solid choice. Handles external SRTs nicely, lets you tweak font/size/sync without digging through 20 menus.
- If subtitles don’t appear, manually load the SRT from the player’s subtitle menu.
- If timing is a bit off but consistent, adjust subtitle delay inside the player instead of hacking the SRT directly.
Once you’ve done that one time, SRTs stop being “mystery files” and turn into “oh, just the caption text sitting next to my video.”
You already got the “what is an SRT” basics from others, so I’ll skip that and focus on practical stuff they barely touched: workflow choices and tool tradeoffs.
1. When you should not edit the SRT at all
Everyone jumps to “open it, tweak timestamps, install subtitle editors.” Honestly, most of the time you should leave the SRT alone.
Use the SRT exactly as it is if:
- It’s roughly in sync and only off by a tiny, constant amount
- You just want subtitles for watching, not for publishing
In that case, fix timing per video in the player:
- Use the player’s “subtitle delay” control and forget about editing timestamps manually
- This keeps your SRT clean and reusable on other devices
Only move to editing SRT timing if:
- The subtitles drift more and more as the movie plays
- Or you want to upload this as official captions where a hacked delay in the player is not an option
The others are right that tools like Subtitle Edit and such exist, but pulling those out for a minor sync issue is overkill.
2. Pick a strategy: “watcher” vs “creator”
If you are mainly watching downloaded videos
Your life is simple:
- Keep SRT next to the video with the same name
- Use a player with good subtitle support
- Adjust sync in the player if needed
- Ignore advanced formats, translation workflows, ffmpeg, all of that
If you are creating subtitles for your own videos
You have to think a bit further ahead:
- Will you let platforms like YouTube/TikTok handle styling and placement?
- Then SRT is enough, you upload video + SRT.
- Do you want the subs burned into the file for Instagram Reels, clients, etc.?
- Then either your editor should import SRT or you will need a command line / separate render step.
In that second case, spending time to keep the SRT clean, consistent and UTF 8 actually saves you headaches later.
3. Elmedia Player in this picture: pros & cons
Since you mentioned downloaded files and you probably just want them to “work,” this is where Elmedia Player fits well, especially on macOS.
Pros of Elmedia Player for SRT use
-
Very forgiving with external subtitles
- Drop video in
- Matching
.srtusually picked up instantly - Manual loading is straightforward when auto fails
-
Subtitle controls are front and center
- Easy access to font, size, color, outline
- Quick global delay slider for that “everything is 0.5 seconds early” situation
-
Handles mixed libraries well
- Multiple subtitle tracks, external + internal
- Good if you juggle different languages
-
Stable with long SRT files
- Large movie subtitles do not choke or lag
Cons of Elmedia Player
- Styling is still SRT level
- If you expect fancy karaoke or on-screen positioning tricks like ASS format, it will not shine
- Some features sit behind the paid tier
- Not critical for just loading SRT, but you will hit “Pro” popups for more advanced playback stuff
- macOS only
- If you jump between Mac and Windows, you will be using different players and slightly different subtitles menus
So as a “SRT companion” Elmedia Player is solid, but it is not a magic solution for every subtitle format or use case.
For comparison:
- The approach described by @mikeappsreviewer leans on BS Player and VLC style setups, more fitting if you are on Windows or like deep tweaking and online subtitle search.
- @kakeru and @chasseurdetoiles gave you the conceptual breakdown and basic timestamp explanation, which is good groundwork but a bit too editor-oriented for someone who primarily wants to watch first and only maybe create captions later.
4. Minimal workflow that keeps things sane
For where you are right now, something like this tends to work best:
- Decide if you are on Mac or Windows most of the time
- On Mac, install Elmedia Player and treat it as your default video app
- Put each video and its SRT with the same base name in one folder
- Open the video in Elmedia Player
- If subtitles appear and line up “good enough,” stop right there
- If they are all early/late by the same margin, fix with subtitle delay in Elmedia
- Only if they drift over time or are truly broken, then consider a separate subtitle editor
That way you avoid the “I tried to fix ten things at once and broke the file” trap. SRT is simple text with timing, so your tools and workflow should stay simple until you actually need more.