Annodex logo AnnodexNotes for people who make media
Captions and Subtitles

How to Make an SRT File for Your Video Captions

Your video is finished, the platform wants a caption upload, and the auto captions it generated spell your guest's name three different ways.

A video editing monitor showing a paused interview frame with a plain text caption file open beside the timeline

Your video is finished, the platform wants a caption upload, and the auto captions it generated spell your guest's name three different ways. The fix is to make your own SRT file, which takes less time than most people expect and gives you a caption track you control on every platform.

An SRT file is plain text. You can write one in Notepad or TextEdit with nothing else installed. I have built caption tracks for archive footage, lectures and podcasts this way for years, and the format has barely changed, which is exactly why it is still the safest file to hand over.

What an SRT file actually contains

Every SRT file is a list of numbered caption blocks separated by a blank line. Each block has three parts, always in the same order:

  1. A sequence number. 1, 2, 3 and so on, with no gaps. Some players stop reading at the first missing number.
  2. A timing line. The start time, then an arrow made of two hyphens and a closing angle bracket, then the end time. Times use hours, minutes, seconds and milliseconds, written as 00:01:12,480. Note the comma before the milliseconds. A full stop there is the most common reason an upload fails.
  3. The caption text. One or two lines. Then a blank line before the next number.

That is the whole specification as far as daily work is concerned, and it fits on an index card. Bold and italic tags are sometimes supported, positioning tags rarely are, and colour almost never survives a re-upload. If you need styling, SRT is the wrong format, and our guide to choosing a caption file format that survives re-uploads covers when to move to WebVTT or a broadcast format instead.

How to make an SRT file by hand, step by step

For a 3 minute clip, this takes 20 to 40 minutes the first time. Budget roughly 6 to 10 minutes of work per minute of speech once you have a rhythm.

  1. Get a clean transcript first. Type it out or correct an automatic transcript. Do not time anything yet. Fixing words and timing at the same time doubles your mistakes.
  2. Break the transcript into caption chunks. Aim for no more than 42 characters per line and two lines per caption. Break at natural pauses: after a comma, before "and" or "but," at the end of a clause.
  3. Open the video in a player that shows milliseconds. VLC, your editing software or a free caption editor all work. Play to the moment the first word begins and note the time.
  4. Write the first block. Number 1, the timing line, the text, a blank line.
  5. Repeat for each chunk. End times should land when the speaker stops, or just before the next caption starts. Leave at least 2 frames, around 80 milliseconds, between captions so players do not merge them.
  6. Save as UTF-8 with an .srt extension. In Notepad choose "Save as type: All files" and type the name as captions.srt, otherwise you end up with captions.srt.txt.

Durations that feel right on screen

A caption needs to stay up long enough to be read. A practical floor is 1 second for even a single word and a ceiling of about 7 seconds for a two line caption. Between those, roughly 15 to 17 characters per second suits most adult viewers. Our piece on caption reading speed and line length has the fuller numbers and when to bend them.

Using software to make an SRT file faster

Typing timecodes by hand is fine for short clips and miserable for a 60 minute episode. A dedicated caption editor lets you tap a key at the start and end of each line while the video plays, then writes the timing for you. Most editing suites also export SRT directly from a caption track.

The fastest workflow I have found for long content:

  • Generate an automatic transcript with timing.
  • Export it as SRT.
  • Open it in a caption editor and correct names, jargon and punctuation.
  • Fix line breaks so each caption reads as a complete thought.
  • Play the whole thing back at normal speed once, watching only the captions.

On a clear two person interview, that gets a 30 minute episode done in about 90 minutes instead of 4 hours.

Why you should not trust the platform's caption editor

The common advice is to upload your video, let the platform generate captions and fix them inside its own editor. It is convenient, and I still do not recommend it as your main workflow.

The reason is ownership. Corrections made inside one platform's editor live on that platform. When you post the same video somewhere else, you start again. When you re-edit and upload a new cut, you start again. Some platforms will not let you export the corrected track at all, or export it with timing shifted.

A corrected SRT file on your own drive is a master copy. You can upload it to five platforms in five minutes, keep it in the project archive and adjust it when the edit changes. Do the correction once, in a file you keep.

Checking your SRT file before upload

Most rejected uploads come down to a handful of errors. Run through these before you hit submit:

ProblemWhat you seeFix
Full stop instead of comma in timesUpload rejected or captions missingUse 00:00:04,200, not 00:00:04.200
Missing blank line between blocksTwo captions merged into oneAdd one empty line after each block
Wrong encodingAccented letters show as symbolsResave as UTF-8
Overlapping timesCaptions flicker or vanish earlyMake each end time earlier than the next start
Hidden .txt extensionFile not acceptedShow file extensions and rename

If the captions upload fine but drift further out of time as the video goes on, the problem is usually a frame rate mismatch rather than the file itself. That has its own fix, covered in how to fix subtitles that are out of sync.

Frequently asked questions

Can I make an SRT file in Word?

You can type the text in Word, but do not save it from there. Word adds formatting and smart quotes that break the file. Copy the text into a plain text editor and save it as UTF-8 with the .srt extension.

What is the difference between an SRT file and a VTT file?

They look almost identical. WebVTT starts with a header line, uses a full stop before the milliseconds and supports positioning and styling. SRT is simpler and more widely accepted, which makes it the safer default for uploads.

How do I add an SRT file to a video permanently?

You burn the captions in by rendering them into the picture with your editor or a converter. That makes them impossible to turn off or correct later, so keep the SRT file as a separate upload unless a platform gives you no other option.

PB
Philippa Brennagh

Philippa worked as a freelance subtitler for broadcasters and game studios. She writes about captions, transcripts and archives, and she believes good metadata is a form of kindness to your future self.

More posts by Philippa

More in Captions and Subtitles

01doorganico 084goad 3hot8 4465456 after5internprogram ahandfulofblessings ahmadpc ahomcybersecurity allodialresources antiquesandperiodcollectibles aotc asianworldkashmir beedlectrics bloggertemplatefree bluefeatheragency bodyweightsolution campaign08blog carfixadvisor catstreetcollective cbstvsports cnfanspurchasing committeeof500yearsofdignityandresistance covertopsdjs cs-kaiyuangame cuestacomunicaciontotal cxoutlet dancebetgame deskgearhub destinyvillastay detectmagazine di33 diamondsteelbuildings donmo dyanadropship emarsysfinance emimattl escapechan eskitarih evautoplay everythingweddings-orlando farmzone feedviewerapp foxstudiosscratch gamevui123 gleasongrade greetingsday hacklabasu haskell iw-kaiyun jagoanproperti jilidskripsi joltbusinessfinance juegodepokergratis juegospucca kaeru-festival latestmehndidesigns lestanzediottaviano litemagazines localcommunityhero lustrsazan mariashebets menswheels newwebstechs1 nikkit ootheday oxigenvpn plurfitness prefetial probudgetcarpetcleaning psychicmrsmartin pyaten qvantor rejoignezlogis rexzbot riselayouts ruchin rwxqsgd5 sakaltime shibiaowang shop-bot skrtips strcoding tetapatrium topselller uneplanteartificielle vipertechcr webtech1223411 wo-kygaming yamaha-mekar yeknava yoybuysheets zenunwa yamaha-mekar jilidskripsi ankertoto ankertoto ankertoto ankertoto