How to Save Twitter Videos as MP4
Save a Twitter (X) video as an MP4 file with an online downloader, yt-dlp or a screen recorder, then check the format, resolution and audio.
Twitter, now called X, plays videos inside posts but does not give everyone a built-in way to save them as files. To get an MP4 you can fetch the file the platform already stores, or record your screen while the video plays. This guide covers both approaches and shows how to check the file you end up with.
Before you start
Only save videos you created or have permission to keep. Copyright and the platform's terms still apply after a file is on your device.
- The link to the specific post that contains the video. Copy it from the post's share option.
- Access to the post. Videos from protected accounts, and some restricted media, may not be reachable by a tool that is not signed in.
- A decision about where the work happens. An online downloader processes the link on someone else's server. A command-line tool such as yt-dlp, or a screen recorder, runs on your own device.
- Enough free storage and a media player that can open MP4 files.
If you use an online service, its own policy is the only source on how it handles the links, files and logs you send it. Read that policy before relying on the service. Avoid any page that asks you to install an extension or allow notifications before you can download.
Step-by-step instructions
Option 1: Use an online downloader
- 1. Open the post and copy its link from the share menu.
- 2. Paste the link into the downloader's input field and start the search.
- 3. If several versions are listed, choose the highest resolution offered.
- 4. Save the MP4 file and note which folder your browser saves it to.
Option 2: Download locally with yt-dlp
yt-dlp is a free, open-source command-line program that supports posts from this platform. It runs on Windows, macOS and Linux. Install FFmpeg as well, because yt-dlp uses it to combine separate video and audio streams and to change the container.
- 1. Copy the post link.
- 2. In a terminal, type yt-dlp followed by the link in quotes. By default, yt-dlp chooses the best available version.
- 3. To make sure the result is an MP4, add --remux-video mp4. This changes only the container and does not re-encode the video.
- 4. To see every available version before you download, run yt-dlp -F followed by the link.
- 5. If the post needs a signed-in session, add --cookies-from-browser followed by your browser's name so yt-dlp can use your existing login. Do this only on your own device.
Option 3: Record the screen
Use a screen recording when a download is not possible. Choose the browser window or the video area as the capture source. Set the recording format to MP4 if your recorder offers it, and set the frame rate to match the original video. Play the video at full size and at the highest quality setting, and turn off notifications first. The recording is a new encoding of what appeared on screen, so its quality depends on the playback resolution and your recorder's bitrate setting.
Option 4: Convert a saved file to MP4
If you already have the video in a different container, such as MKV, MOV or WebM, try ffmpeg -i input.mkv -c copy output.mp4 first. This keeps the original encoding and finishes quickly, but it only works when the video and audio codecs are compatible with MP4, such as H.264 video with AAC audio. If FFmpeg reports an error, re-encode with ffmpeg -i input.webm -c:v libx264 -c:a aac output.mp4. Re-encoding takes longer and loses some quality.
Check the output
- Play the beginning, middle and end of the file, and confirm the sound stays in sync with the picture.
- Open the file's properties or a media info tool. Confirm the container is MP4 and that the codec, resolution, frame rate and length match what you expect.
- Compare the resolution with what the post displayed. A downloaded file cannot be sharper than the best version the platform stored.
- For screen recordings, look for cut-off edges, a visible cursor or player controls, and stuttering from dropped frames.
If FFmpeg is installed, running ffprobe output.mp4 lists the container, codecs, resolution, frame rate and bitrate in one report.
Common problems and next steps
- No video found: make sure the link points to the post itself, not to a profile or search page. The post may also have been deleted, or it may come from a protected account.
- Only low resolution is available: the uploaded original may have been low resolution. Use yt-dlp -F to check which versions actually exist.
- No sound: posts labelled GIF are stored as short video clips without audio. For other videos, try a different player before converting.
- The file will not open on a phone or in an editor: re-encode it to H.264 video and AAC audio as described in Option 4.
- yt-dlp stopped working: platform changes can break older versions. Update the program, using yt-dlp -U for the standalone release or the same package manager you installed it with.
- Video and audio downloaded as separate files: FFmpeg is missing or yt-dlp cannot find it. Install FFmpeg and run the download again.
Once you have a working MP4, keep an untouched copy before you trim, compress or re-encode it. That way you can always go back to the best version you have.