ClipSaver for Facebook

Adds a floating download button over Facebook videos and reels that opens a

Overview

ClipSaver for Facebook adds a floating download button that appears when you hover over a Facebook video or reel. Clicking the button opens an external download launcher pre-filled with the current video's address. A companion panel page can also trigger downloads, adjust the button's appearance and position, and report progress.

Facebook does not offer a built-in way to download videos or reels from the watch page. Users who want to keep a clip must copy links manually or look for third-party tools. This script surfaces a one-click download entry directly on the video and wires it to an external download service.

Facebook users who watch videos or reels in a desktop browser and want a quick download shortcut, and who already use a userscript manager. It is also useful for users who want to control the button's position, size, and behavior from a companion panel.

Key features

  • Floating download button appears only while hovering a qualifying video or reel.
  • Button is clamped to the viewport and follows the video while scrolling.
  • Twelve preset button positions, plus adjustable button size, icon size, and edge offset.
  • Works on /reel/, /reels/, and /videos/ pages and is automatically disabled elsewhere.
  • Opens the download launcher in the page language when a supported locale is detected.
  • Companion panel can enable/disable the button, change its position, and trigger a download.
  • Action status (running / done / error) is reported back to the panel.
  • Settings persist through userscript storage with a localStorage fallback.

Supported sites

  • www.facebook.com

Permissions

This script requests the following userscript-manager permissions. Review them before installing.

  • GM_openInTab
  • GM.openInTab
  • GM_addStyle
  • GM_setValue
  • GM_getValue

How to install & use

  1. Install a userscript manager such as Tampermonkey or Violentmonkey for your browser.
  2. Click the "Download / install" button to open the script source on GitHub and install it with your userscript manager.
  3. Open the target site and use the script as documented.

How to use

  1. Install the script in a userscript manager and open facebook.com.
  2. Open a video, a reel, or the videos section.
  3. Hover the pointer over the video until the circular download button appears.
  4. Click the button to open the external download launcher for the current video.
  5. Optionally open the companion panel to toggle the button, change its position or size, or start a download.
  6. Watch the panel status area for running, done, or failed feedback.

Limitations

  • The script does not download the video itself; it hands the current page address to an external download service.
  • The button is available only on Facebook video, reel, and videos pages, and only over visible video elements large enough to hover.
  • The panel connection is attempted once and remembered; clearing that stored flag is needed to reconnect after it is dismissed.
  • It does not bypass privacy settings, login walls, or access restrictions.
  • Network access to the download service and the panel site is required for downloading and panel features.

FAQ

Does the script save videos to my device directly?

No. It opens an external download launcher with the current video address; the final download is handled by that service.

Where is the button?

It appears after you hover over a video or reel. If it does not show, the page may not be a supported video page or the video may still be loading.

Can I move or resize the button?

Yes. The companion panel offers position presets plus button size, icon size, and edge offset settings.

Does it work outside Facebook?

No. It runs only on facebook.com and is effectively inactive on non-video pages.

Safety & privacy

The script requests the userscript-manager privileges needed to open tabs, inject styles, and store settings. When you click download or use the panel, it reads the current Facebook page address and passes it to an external download service, and it communicates with the companion panel origin over postMessage/BroadcastChannel. Runtime logs are kept only in memory and cleared on refresh; settings are stored via the manager's storage, or localStorage as a fallback. No Facebook credentials or account data are collected or transmitted.