A video that uploads successfully and then refuses to play is a different problem from a video Discord rejects. The upload path checks size. Mixing those two up is why so much troubleshooting advice for this goes nowhere — people keep compressing a file that was never too big.
Discord publishes less about playback than most people assume. What it does publish is specific, and knowing exactly where it stops saves a lot of guessing.
What "not playing" actually covers
Three different things get reported with the same words:
- The file posted, but there is no player — you see a file card or a download link instead of a video frame.
- The player appears, but nothing happens — a black frame, or audio with no picture, or a spinner.
- The video plays for you but not for the person you sent it to — or it worked yesterday and does not today.
Discord's one published detail about video files
Discord's File Attachments FAQ lists the file types people upload most. The video entry is worded more precisely than the rest:
JPEG
PDF
MP3
MOV
MP4 (Video encoded with H264, HEVC/H265, or AV1)Read the parenthesis. Discord is not saying "MP4 files" — it is naming the video codec inside the MP4, because .mp4 is a container, not a format. A container is a box; the codec is what is in the box. Two files can both end in .mp4 and hold completely different encodings.
Two limits on how far you can take this:
- Discord introduces that list as "the most common examples," not a complete whitelist. A format absent from the list is not automatically rejected.
- Discord says those codecs can be uploaded. It does not describe how each one behaves in each client's player. For that, check the official documentation — Discord has not published it.
H.264 in an MP4 is the option Discord names first, and the one you can standardize on without guessing.
Why renaming a file to .mp4 never helps
Discord's developer documentation says outright why it does not work. Describing the extension filter used by File Upload components and Slash Command Options:
"This feature only checks the file extension against the filename and does not inspect the file contents. You are still responsible for validating the actual contents of the file."
Renaming changes the filename and nothing else. A check that never opens the file cannot turn one format into another, which is why Discord puts "validating the actual contents of the file" back on the developer.
Note the scope — that sentence is about the developer-facing upload filter, not a claim that every surface in Discord works the same way.
The fix: re-encode, don't rename
If a file uploads fine and will not play, converting it to H.264 in an MP4 container is the cheapest thing to try, and the only one that changes what is actually inside the file.
Try it right here
Runs in your browser. Your file is not uploaded anywhere.
This runs inside your browser tab — the file is read from disk, re-encoded locally, and handed straight back. Nothing is uploaded to a server, so a private clip stays private and there is no second upload limit in the way of fixing the first. The high-quality preset is the right default here: your goal is a clean re-encode, not a smaller file.
If the source is a QuickTime file from a Mac or an iPhone, MOV to MP4 does the same conversion with no quality decisions to make. If the file is also too big for your tier, the video compressor handles both problems in one pass — see Discord says your file is too large for how that limit is measured.
Other causes, in order of likelihood
The extension is missing or unusual, and you are on mobile. Discord's developer docs recommend that apps list "both .mp4 and .mov for video uploads, as some mobile clients rely on those extensions." That recommendation is scoped to File Upload components and Slash Command Options, but it is Discord acknowledging a client difference tied to the file name. Its documented video extension group is .mp4, .mov, .qt, .webm — with the caveat, in Discord's words, that apps should "not hardcode the extension lists above," since they "are subject to change."
It is a link to a Discord attachment, and the link expired. If the video is linked rather than attached, this is probably your answer. Discord states that "attachments uploaded to Discord's CDN (like user and bot-uploaded images) have signed URLs with a preset expiry time." Inside the client this is invisible, because "Discord automatically refreshes attachment CDN URLs that appear within the client." Discord does not publish how long the window is, only that one exists. The fix is to re-upload the file where you need it rather than hotlinking.
Link previews are switched off. For media that arrives as a pasted link rather than an attachment, Discord's chat settings include "Show embeds and preview website links pasted into the chat," which it describes as: embeds and website links "will display a preview, unless disabled." If previews are off, you get a bare link and no player, and nothing is wrong with the file.
The upload did not actually complete. Size is checked on your original file before any compression, so a file you expected Discord to shrink is measured at full size. Separately, Discord scans images for NSFW content, and says that if those settings are enabled and the system flags an image, "it will block the upload." Both look like a missing video if you scrolled away before the error appeared.
It plays, but looks terrible on mobile. That is a setting, not a bug. Discord's mobile app has a Video Uploads section where "Data Saver" makes videos "upload more quickly and consume less data," plus a Data Saving Mode under which "images and videos will be sent in lower quality through your cellular network to use less data." Discord does not publish the resolution or bitrate either one targets. If your phone uploads look worse than your desktop uploads of the same clip, check those two switches first.
What Discord does not publish
Worth knowing so you stop searching:
- A size at which a video stops playing inline and becomes a download. Discord documents this only for images — "Any image that is larger than 20MB will be shared as a download instead" — and states no video equivalent. Numbers you see quoted for video are community estimates. Discord's size figures have also moved recently (the free upload limit went to 20MB from 10MB in August 2026), so check the current number on the official page rather than trusting a cached one.
- Whether Discord re-encodes your file server-side, and to what. Not documented.
- How long a signed CDN link lasts. Only "a preset expiry time."
For anything in that list, trust only the official help center.
How to tell it worked
Post the re-encoded file in a channel and confirm you get a play button and a first frame, not a file card. Then check it on your phone as well as your desktop. If it plays on both, you are done.
FAQ
Why does my MP4 not play on Discord?
Because .mp4 describes the container, not the encoding inside it. Discord's FAQ lists "MP4 (Video encoded with H264, HEVC/H265, or AV1)" among the most common file types uploaded, but introduces that list as examples rather than a whitelist, and it does not describe playback behaviour at all. Re-encoding to H.264 MP4 keeps you on the codec Discord names first.
Does Discord support HEVC or AV1 video? Discord's File Attachments FAQ lists MP4 encoded with H264, HEVC/H265, or AV1 among the most common file types users upload. It does not describe how each codec behaves in each client's player, so for playback, check the official documentation rather than third-party claims.
Why does my video show as a download instead of playing? Discord publishes a download-instead-of-preview rule only for images over 20MB, and no equivalent rule for video. If the item is a pasted link rather than an attachment, check whether link previews are disabled in your chat settings. For anything beyond that, check the official documentation.
Why did an old Discord video link stop working? Discord's signed attachment CDN URLs carry "a preset expiry time," and Discord refreshes them automatically inside the client. It does not publish how long that window is. Re-upload the file where you need it instead of linking to Discord's CDN.
Will renaming the file extension fix playback? No. Discord's developer docs state that its extension filter "does not inspect the file contents," so renaming changes the label and nothing else. Only a real conversion changes the encoding.
Why is my video blurry when I send it from my phone? Discord's mobile app has a Data Saver option for video uploads and a separate Data Saving Mode that sends images and videos in lower quality over cellular. Turn both off and re-send. Discord does not publish the quality targets for either.
Fixing this well is mostly about producing one predictable file: H.264, MP4 container, correct extension. Run the clip through the browser-based compressor, or browse all Clapr tools and the rest of our Discord and chat-app fixes.
Details cited from Discord's File Attachments FAQ and its developer API reference, checked 16 September 2026. Discord has changed these pages before — verify against the official source before relying on them.