Facebook takes SRT uploads on videos, and rejects most of them for one reason: the file name. Make the SRT here, rename it to name.en_US.srt, and it goes straight in.
How it works
Upload the video or its audio, correct the transcript, and download .srt.
Add a language and country code before the extension: launch-video.en_US.srt. Facebook reads the language from the name.
When creating or editing the video post, open the captions option, choose upload, and select the renamed file.
The naming rule
Facebook only accepts caption files named in this pattern: any name, a full stop, a two-letter language code, an underscore, a two-letter country code in capitals, then .srt. The codes people need most:
en_US English (US), en_GB English (UK)es_LA Spanish (Latin America), es_ES Spanish (Spain)pt_BR Portuguese (Brazil), pt_PT Portuguese (Portugal)fr_FR French, de_DE German, it_IT Italianhi_IN Hindi, id_ID Indonesian, ar_AR Arabic, tl_PH FilipinoUpload one file per language to give viewers a choice; Facebook shows each person the track matching their language setting when one exists. Translated SRT files for those extra tracks can be made from the transcript's download menu with credits on the account.
When Facebook still says no
en_US, not en-us.Most Facebook video autoplays muted in the feed, so a caption track is often the difference between a view and a scroll past.
Sample output
1 00:00:34,680 --> 00:00:46,500 fourscore and seven years ago our fathers brought forth upon this continent a new nation conceived in in liberty, and dedicated to the proposition 2 00:00:46,500 --> 00:00:50,300 that all men are created equal. 3 00:00:50,300 --> 00:00:57,500 Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived 4 00:00:57,500 --> 00:01:01,620 and so dedicated, can long endure. 5 00:01:01,620 --> 00:01:07,920 We are met on a great battlefield of that war we have come to dedicate a portion of that field 6 00:01:07,920 --> 00:01:14,240 as a final resting place for those who here gave their lives that their nation might live 7 00:01:15,360 --> 00:01:18,800 it is altogether fitting and proper that we should do this
Real output, unedited: a public-domain LibriVox reading of the Gettysburg Address (2 min 41 s) transcribed here in October 2026. The repeated word and the missing capitals are what came back; you would fix those on the transcript before downloading.
Before you rely on it
Each cue is a phrase from the transcript with its start and end time. Most run a few seconds. A passage spoken without a pause can come out as one long cue of up to about half a minute, so split those in your editor if your platform wants two short lines at a time.
Cue times are taken from the recording itself, so the file lines up with the video or audio you uploaded. If you trim the start of the video afterwards, shift the cues by the same amount in your editor.
On public test recordings, about 7 words in 100 differed from the reference for clean English read speech, between 4 and 9 in 100 for Spanish, Portuguese, Russian, French and German, and about 21 in 100 for Hindi. Noisy rooms, music and crosstalk do worse. Method and every number: the benchmark.
Open the transcript, correct a misheard name or number on its line, and the SRT and VTT you download carry the correction with the timing unchanged.
You get the subtitle file. Fonts, colours, position and captions drawn into the picture are done in your video editor or player, which reads this file.
Up to 10 hours or 5 GB per recording. The box on this page takes files up to 500 MB; larger ones continue on the upload page. 99+ languages, detected automatically.
Pricing
The preview is free. When the full transcript needs a pack, one-time packs are $4 for 500 minutes, $8 for 1,000 minutes, $12 for 2,000 minutes, $24 for 5,000 minutes. Credits never expire, which comes to about $0.29 to $0.48 per hour of audio.
| Recording | $4 or $8 pack | $12 pack | $24 pack |
|---|---|---|---|
| 90-second video | $0.02 | $0.01 | $0.01 |
| 15-minute interview | $0.12 | $0.09 | $0.07 |
| 1-hour live replay | $0.48 | $0.36 | $0.29 |
Figures are the share of a pack each recording uses. A button opens secure checkout for that pack. Every export format is included; full details on the pricing page.
FAQ
Use the pattern filename.en_US.srt: any file name, then a full stop, the two-letter language code, an underscore, the two-letter country code in capitals, and the .srt extension.
Almost always because of the file name. It must end in a language and country code such as .en_US.srt. Other causes are a VTT file, a lower-case country code, or a file not saved as UTF-8.
When creating or editing the video post, open the captions option, choose to upload a file, and select your renamed SRT.
Yes. Upload one SRT per language, each named with its own code, for example video.en_US.srt and video.es_LA.srt.
After it ends. Transcribe the replay here and upload the SRT to the saved video.
Every page in this set uses the same upload box and the same export. All subtitle pages
Free preview. SRT for Facebook from one upload; packs from $4.