Bluesky Image/Video Download Button

Adds a download button to Bluesky images and videos.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Author
KanashiiWolf and the-nelsonator
Daily installs
3
Total installs
1,120
Ratings
20 0 0
Version
2.5.2
Created
2024-10-18
Updated
2026-03-08
Size
83.8 KB
License
MIT
Applies to

Bluesky Image/Video Download Button

A powerful userscript for bsky.app that adds seamless download functionality for images and videos. Designed for Tampermonkey or Violentmonkey.

Note: This script is NOT compatible with Greasemonkey.

🌟 Key Features

  • Universal Media Support: Downloads Images (original quality) and Videos directly from the feed or post view.
  • Image Format Preference: Choose to download images as Original, JPEG, or PNG from Settings.
  • Smart Integration:
    • Single Download: Adds a discreet download button (overlay) to every image and video.
    • Batch Download: Adds a "Download All" button to the post action bar (next to the bookmark button) for posts with multiple attachments.
    • Quoted Post Support: When a post contains a quoted post with media, a dialog lets you choose which post's media to download.
  • ZIP Packaging: When using "Download All" on a post with multiple items, they can be bundled into a named .zip file (enable in Settings).
  • Visual Feedback: Buttons turn into a Green Checkmark after a successful download. Loading spinner (blue) and error state (red) on failure.
  • Download History: Keeps track of what you've downloaded to prevent duplicates.
    • History Viewer: Inspect your download history via the Userscript menu command "View History".
  • Performance: Uses MutationObserver to efficiently detect new posts without slowing down your browser.

⚙️ Filename Customization

You can customize how files are named by accessing the Settings menu.

  • How to access: Click "Settings" in your Userscript Manager menu, or look for the "DL Settings" button on the Bluesky Settings page (/settings/account).

Available Template Tags

Use these placeholders in your pattern string to dynamically generate filenames:

Tag Description Example Output
<%uname> Short username (handle) oh8
<%username> Full username oh8.bsky.social
<%handle> Short for .bsky.social, full for custom domains oh8
<%display_name> Display name Oh Eight
<%post_id> The unique Post ID 3krmccyl4722w
<%post_time> Timestamp of when the post was created 1715347800000
<%timestamp> Timestamp of when you downloaded it 1550557810891
<%img_num> The index of the image in the post (0-3) 0
<%title> Alt text / Image description A cute cat
<%width> Original width in pixels 1920
<%height> Original height in pixels 1080
<%original_ext> Original file format png

Examples

Default Pattern: @<%username>-bsky-<%post_id>-<%img_num>

Result: @oh8.bsky.social-bsky-3krmccyl4722w-0.jpg

Chronological Order (Download Time): <%timestamp>_<%username>_<%post_id>

Result: 1550557810891_oh8.bsky.social_3krmccyl4722w.jpg

With Display Name and Dimensions: <%display_name>-<%post_id>-<%img_num>-<%width>x<%height>

Result: Oh Eight-3krmccyl4722w-0-1920x1080.jpg

🚀 Installation & Usage

  1. Install: Install the script in Tampermonkey or Violentmonkey.
  2. Browse: Go to bsky.app.
  3. Download:
    • Hover over an image/video to see the round download button in the top-left corner.
    • For multi-image posts, click the download icon in the footer (next to the Bookmark/Like buttons) to grab everything at once.
    • On posts with quoted media, a dialog will ask which post's media you want to download.