ClipSaver for X
Adds a download control to X (Twitter) posts and media grids, opening a
Overview
ClipSaver for X adds a one-click download control to posts and media grids on X (formerly Twitter). Each control passes the selected post link to an external download launcher opened in a new tab, and a companion panel page can trigger downloads and show progress. Panel switches let you enable or disable the injected control and automatically reveal sensitive media.
Downloading media from an X post normally means copying the post link by hand and switching to a separate download tool. ClipSaver for X places a download button directly in the post action bar and on media grid tiles, so the post link reaches a download launcher in a single click.
X / Twitter users who frequently save images or videos and want a quick in-feed download shortcut, including people on the standard web timeline or TweetDeck-style layouts.
Key features
- Adds a download control to the action bar of every post that contains media.
- Adds a compact download button to media grid tiles, such as profile or search grids.
- Opens a download launcher for the specific post in a new browser tab.
- Companion panel page with switches to enable/disable the injected control and auto-reveal sensitive media.
- Panel actions to download the current post or open the download service.
- Optional automatic reveal of sensitive or age-restricted media before download.
- Selects the downloader language from your browser language.
- Lightweight companion-panel messaging with heartbeat, request/response and de-duplication.
Supported sites
- x.com
- twitter.com
Permissions
This script requests the following userscript-manager permissions. Review them before installing.
GM_openInTabGM.openInTabGM_addStyleGM_setValueGM_getValue
How to install & use
- Install a userscript manager such as Tampermonkey or Violentmonkey for your browser.
- Click the "Download / install" button to open the script source on GitHub and install it with your userscript manager.
- Open the target site and use the script as documented.
How to use
- Install the userscript; it runs automatically on x.com and twitter.com.
- Open a post that contains media, or a media grid.
- Click the download control that appears next to the post actions or on the media tile.
- The script opens the download launcher for that post in a new tab.
- On first run a companion panel page opens; use its switches to enable/disable the injected control and toggle sensitive-media reveal.
- Use the panel's Download current post / Open download service actions when needed.
Limitations
- The script does not download files itself; it hands the post link to an external download service opened in a new tab.
- It depends on X's current page structure, so interface changes can temporarily break button injection.
- The download control is only added to posts that contain media.
- The companion panel and its live progress/log features require network access to the panel service.
- In-page run logs exist only in memory, are cleared on refresh, and are not desensitized.
- Media whose post link cannot be detected, such as some TweetDeck items, may not receive a button.
FAQ
Does the script download the media itself?
No. It opens an external download launcher with the post link; the actual download is performed by that service.
Which sites does it work on?
It matches x.com and twitter.com and runs in the top frame only.
Can I turn the injected button off?
Yes. The companion panel provides an 'Enable injected download control' switch.
Why did a panel page open?
On first run the script opens its companion panel once and records that it has connected; the panel hosts the switches and download actions.
Will it reveal sensitive media?
Only if the 'Auto reveal sensitive media' switch is on (on by default); you can disable it.
Where are settings and logs stored?
Settings use the userscript manager's GM storage with a localStorage fallback; run logs stay in memory and clear on refresh.
Safety & privacy
The script requests GM_openInTab, GM_setValue/GM_getValue and GM_addStyle. It stores only a small connection flag and your panel preferences via GM storage, falling back to localStorage; no credentials are collected. In-page run logs are kept in memory only, are not persisted and are not desensitized, and are shared only with the companion panel. Panel communication is restricted to the panel's own origin and the opener window reference, with message de-duplication. The external download service receives the URL of the post you choose to download, so only trigger downloads for content you intend to fetch.