Bluesky video downloader
Save any public Bluesky video as an MP4, in the original quality the poster uploaded, not a re-encoded 720p stream. Photos and GIFs too. Paste the post link and download. No login.
Works with bsky.app/profile/…/post/… links, custom-domain handles, did:plc links and at:// URIs.
Videos and photos belong to whoever made them. Download for personal use, or with permission.
4 steps, no signup
- 01
Copy the post link
On a Bluesky post, tap Share → Copy link to post. On the web, copy the address bar. The link looks like
bsky.app/profile/name/post/3l…. - 02
Paste it above
Paste the link and press Get video. The tool finds the post through Bluesky's public API. No login needed.
- 03
Check the preview
The video, photos or GIF in the post appear with their size and format, read straight from the post.
- 04
Download the original
Press Download. You get the exact file the poster uploaded, as MP4 for videos and JPG/PNG for photos, with no re-encoding or watermark.
What this Bluesky video downloader does
Bluesky has no download button for videos. The Bluesky video downloader fills that gap: paste the link to any public post and it gives you the video as an MP4 file, plus any photos or GIF in the same post. It runs in your browser, needs no login, and adds no watermark.
The difference from other Bluesky downloaders is quality. When you watch a video on Bluesky, you're watching a streaming copy that Bluesky re-encoded at 360p or 720p. Most downloaders save that copy. This tool fetches the original file the poster uploaded, at its full resolution and bitrate, from the poster's own data server.
Original upload vs. stream copy
Every Bluesky video exists in two forms. Understanding them explains why downloads from different tools look different.
| Original upload (this tool) | Stream copy (most tools) | |
|---|---|---|
| Where it lives | The poster's data server (PDS) | video.bsky.app |
| Resolution | Whatever was uploaded | 360p or 720p |
| Format | One MP4 file | HLS: a playlist of short segments, stitched back together |
| Re-encoded? | No. Byte-for-byte the upload | Yes, compressed for streaming |
| Audio | Included | Included |
This works because of how Bluesky is built. It runs on the AT Protocol, where every account's posts and files live in a public repository on a data server. A video is stored there as a "blob" with a content ID. The post record names that ID, and the server hands the file to anyone who asks for it, the same way it hands it to Bluesky's own video service.
What you can download
| Post contains | You get |
|---|---|
| A video | The original MP4, with sound |
| One to 10 photos (grid or carousel) | Each photo in its uploaded resolution (JPG, PNG or WebP) |
| A video or photos plus a quoted post | The media in the post you linked |
| Only a quoted post with media | A pointer to the original post, so you can paste that instead |
| A GIF (Tenor link) | A link to the GIF file on Tenor |
| A link card | The card's preview image, when it has one |
| Text only | Nothing to download; the tool says so |
How to download Bluesky videos on each device
iPhone and iPad
- In the Bluesky app, tap the share icon under the post and choose Copy link to post.
- Open this page in Safari, tap Paste, then Get video.
- Tap Download. The MP4 saves to Files → Downloads.
- To put it in your camera roll, open the file in Files, tap Share and choose Save Video.
Android
- In the app, tap Share → Copy link to post.
- Paste it here in Chrome and tap Get video, then Download.
- The video lands in Downloads and appears in Google Photos.
Windows, Mac and Linux
- Open the post on bsky.app and copy the address bar, or click the three dots → Copy link to post.
- Paste it here, click Get video and then Download.
- The file saves to your browser's download folder.
Which links work
| Link | Example | Works? |
|---|---|---|
| Standard post link | bsky.app/profile/name.bsky.social/post/3lx… | Yes |
| Custom-domain handle | bsky.app/profile/nytimes.com/post/… | Yes |
| DID instead of handle | bsky.app/profile/did:plc:…/post/… | Yes |
| Other clients | Graysky, deer.social and similar | Yes, same link shape |
| AT URI | at://did:plc:…/app.bsky.feed.post/… | Yes |
| Profile link only | bsky.app/profile/name | No: it needs a specific post |
| Accounts hidden from logged-out users | Any | No: the tool respects that setting |
Troubleshooting
- "That doesn't look like a Bluesky post link." The link must point to one post and contain
/post/. Copy it with Share → Copy link to post. - "Post not found." It was deleted, the account was deactivated or suspended, or the link was cut off when you copied it.
- "This account doesn't allow logged-out viewing." The poster turned on Bluesky's option to hide their posts from people who aren't logged in. The tool won't bypass it.
- The download opens a page of code instead of saving. You're probably in an in-app browser (opened from another app). Open this page in Safari or Chrome directly.
- The file has a strange name with no extension. That happens only in the fallback path, when the browser can't save the file directly. Rename it to end in
.mp4(or.jpgfor photos). - The download is slow. Original files are larger than stream copies, up to 300 MB for a 10-minute video. It downloads at the speed of the poster's data server.
Bluesky video limits
The limits matter because they set how large a download can be. Bluesky started with 60-second videos in September 2024, raised the cap to 3 minutes in March 2025 (MacRumors), and by late 2026 allows 10 minutes and 300 MB per video (Engadget). Bluesky hasn't published these figures in a single official help page, so treat them as reported, not guaranteed.
Using Bluesky videos responsibly
A video posted publicly on Bluesky is still its creator's work. Saving it to watch offline, keep for reference or include in research is a very different thing from re-posting it on another platform as your own. If you want to share it elsewhere, use Bluesky's own share link, or ask the creator and credit them. Many creators will say yes when asked.
Bluesky also lets people opt out of being seen by logged-out visitors. That signals they want a smaller audience, so this tool refuses those accounts instead of working around the setting.
Privacy
This tool runs entirely in your browser. Your link is read on your own device, the post is looked up through Bluesky's public API, and the file downloads directly from the poster's data server. No link is sent to this site's server, nothing is logged, and there's no extension to install.
Related tools
Saving from other networks? The Twitter (X) video downloader and Threads video downloader work the same way. To shrink a long Bluesky clip before sending it on, use the video compressor, or turn a short one into a loop with video to GIF.
Last checked and updated: . Platforms change how they serve media; if this tool stops working for a link, it is usually fixed within days.
Frequently asked questions
How do I download a video from Bluesky?
Does Bluesky let you download videos?
What quality are the downloads?
Can I download Bluesky videos on iPhone?
Can I download photos and GIFs from Bluesky too?
Why does the tool say this account doesn't allow logged-out viewing?
Why can't it find the video?
/post/.