X (Twitter) Subtitles Not Showing? Here's What X Checks

Sep 17, 2026

On X, a subtitle file that uploaded successfully can still never appear on screen. X decides whether to draw the track at playback time, and two of the conditions it checks have nothing to do with your file.

That is why "I definitely uploaded an SRT and I still can't see it" is such a common and confusing situation. The upload worked, the track is attached — X simply is not drawing it for that viewer, at that moment.

What X checks before it draws subtitles

X documents two display rules on its Media Studio Library help page, and neither is something you can verify by inspecting your own file.

The first is language matching:

"When a video with subtitles is viewed on X, the subtitles will appear as an overlay atop the video when the subtitles language matches the language set on the viewing user's device (on desktop, the subtitles language is matched to the user's X language settings). If the subtitles language is not the same as the language of the user, subtitles will not appear."

Read that last sentence literally. It does not say the captions land in a menu the viewer can switch on — it says they will not appear. Someone whose device language differs from your track sees a video with no captions and no sign that captions exist. Note the qualifier too: on desktop the comparison is against the user's X language settings, not the device.

The second rule is sound state:

"By default, subtitles appear when the video's sound is not playing, and will be hidden when sound is playing. Some users may have subtitles enabled within their device's accessibility settings—if this is the case, then subtitles will always show, regardless of whether audio is on or if full-screen view is in use."

That default is the reverse of how most people test their own post. Unmute the video to check your captions and you have just triggered the condition that hides them.

Worth knowing where these answers sit: both come from the FAQ portion of X's Media Studio Library page. The upload-specification portion of that same page opens with a scope warning — "These instructions are only valid for Media Studio, and should not be followed for usage of the X developer API, Pro Media API, desktop upload, or mobile upload." So when you quote numbers off that page, check which section you took them from.

The fastest fix: test it the way X plays it

Before touching the file, rule out the two display rules:

  1. Post the video first. X is explicit that the preview will not show the track: "I uploaded a subtitle, why doesn't appear in the preview player in Media Studio? Correct. Subtitle files will only be shown once posted."
  2. Leave the sound off. Subtitles are shown by default when sound is not playing.
  3. Watch on a device whose language matches the track — or, on desktop, an account whose X language setting matches it.

If the captions appear under those three conditions, nothing is broken. What you have is a reach problem, not a bug.

If the file is the problem: what X checks in an SRT

X's own upload instructions are written for .srt files — the help page is titled "How to upload caption (.srt) file to Posts", and the Media Studio encoding spec lists subtitles as "CEA 608/708 embedded, .SRT sidecar". If what you have is a .vtt, convert it before you blame the player. X's API lists both text/srt and text/vtt in its accepted media types, but the help center never states that a VTT can be uploaded, so SRT is the safe format to hand it.

Try it right here

Runs in your browser. Your file is not uploaded anywhere.

Loading tool…

That conversion runs in your browser — the caption file is never uploaded anywhere, which matters for unpublished footage. If you need the reverse direction later, SRT to VTT is the same tool pointed the other way, and how the two formats differ explains why the swap is not just a rename.

When a caption file is rejected outright, X shows this: "Error: 'There was a problem uploading your subtitle (.srt) file'", and explains that "This means that there is likely an issue with the formatting of the file." It then lists four things to check, word for word:

"Chronology — Any end time needs to be before the next start time. All subtitle headers need to be in chronological order."

"Spaces — Remove any unnecessary spaces that appear before a time code. Ensure there is one space before and one space after the "-->" in each time code."

"Timestamp — A colon ":" is required between the hours, minutes, and seconds. A comma "," is required between seconds and milliseconds."

"Digits — Time codes must have double digits in all values for hours, minutes, and seconds. Milliseconds need to have three digits."

Here is the file X labels as incorrect:

22
0:00:36.801--> 0:00:42.239
Hey, how's it going?

21
00:00:40,161 --> 00:00:42,239
What's up, how are you?

It breaks all four checks at once: single-digit hours, a period instead of a comma before the milliseconds, no space before the arrow, headers numbered out of order, and a first cue that ends after the second cue starts. A correctly formatted block, per X's own example, looks like this:

1
00:00:06,000 --> 00:00:08,000
Hey, how's it going?

2
00:00:08,001 --> 00:00:10,000
What's up, how are you?

One thing X's checklist does not mention is character encoding. The widely repeated advice about UTF-8 or byte order marks is not in these four rules — check the official documentation before treating it as a requirement.

Other causes, in order of likelihood

  • You tried to add captions from your phone. X's caption upload page ends with: "Note: Currently this feature is available on web only."
  • You already have a subtitle file on that video. For Media Studio, X states: "Currently we only support one subtitle file uploaded per video." X does not state whether the same applies to the web upload flow, so do not assume either way.
  • You cannot open Media Studio at all. X states that "Access to Media Studio will be given to verified subscribers only," and separately that "This feature is not available to Basic tier subscribers."
  • The file is large for a caption track. In X's API media category table, the subtitles category is listed with a maximum of 1 MB.
  • You are uploading via the API and guessing at the language code. In the Create Media subtitles schema, language_code is described as a "BCP47 language code of the subtitle track" while its validation pattern is ^[A-Z]{2}$ — two uppercase letters. The description and the pattern do not agree; X does not state which wins.

How to tell it worked

Open the live post — not a preview — on a device set to the subtitle track's language, and start the video without unmuting it. Captions should be drawn over the video as an overlay. If they are, the track is attached and formatted correctly, and any viewer report of "no subtitles" afterwards points back to the language rule rather than the file.

FAQ

Why did my SRT upload fine but no captions show on X? Most often because the viewer's language does not match the subtitle track. X states that when the subtitle language is not the same as the user's language, subtitles will not appear at all. The second common reason is that sound was playing — by default X hides subtitles while audio plays.

Do X subtitles show when the sound is on? Not by default. X says subtitles appear when the video's sound is not playing and are hidden when sound is playing. Viewers who have subtitles enabled in their device accessibility settings are the exception: for them, subtitles always show.

Why don't my subtitles show in the Media Studio preview? They are not supposed to. X's answer is direct: subtitle files will only be shown once posted.

Can I upload a caption file from the X mobile app? X's caption upload instructions say this feature is currently available on web only.

Does X accept VTT subtitle files? X's API lists text/vtt among its accepted media types, but the help center documents only .srt for caption uploads, so X has not stated that VTT uploads are supported. Converting to SRT first avoids the question entirely.


Subtitle behaviour and SRT rules quoted from X's help center, checked 17 September 2026. More caption and conversion tools are listed in all Clapr tools, and other upload-failure walkthroughs live in the fix guides — including X's video file size limits, which is a different failure with a very similar symptom.

Clapr team

Clapr team

X (Twitter) Subtitles Not Showing? Here's What X Checks | Clapr Blog