Neet-Nestor/Telegram-Media-Downloader
Productivity & UtilitiesRestores a download button for images, GIFs, audio and video in Telegram web chats and channels that block saving.
A small browser user script worth trying if you regularly read Telegram channels on the web and want to keep photos or video that the channel has restricted. It is not a bulk archiver and has no standalone app.
The problem
You are reading a restricted Telegram channel in a browser and find a photo or clip you need for later. The web client hides the save option, so the usual route is a screenshot, a screen recording, or switching to another client that may not offer the same controls. This script changes that one step: on Telegram Web it puts the download control back for images, GIFs and videos, and in the /k/ webapp also for voice messages. What you get is a normal file save into the browser's download folder, with a task panel showing size, speed and progress for up to two concurrent files.
What's different
It works inside the Telegram webapp rather than against the Telegram API, so there is no login, no phone number entry and no separate client to authorize. A userscript manager injects it into the page, and the source stays visible in the Greasy Fork listing if you want to inspect it. The task panel is more than a single button: it queues extra files, lets you cancel active or queued downloads, and can be hidden while transfers continue.
The trade-off is that it inherits the webapp's own behavior. The author recommends the /k/ version because some features, notably voice message downloads, only work there; if a button does not appear on the /a/ version, that is the documented explanation. It also adds nothing for chats that already allow saving — the README explicitly says to use Telegram's own button there. So the tool is a narrow fix for a narrow case, not a general Telegram downloader.
Who should try it
This fits a reader who mostly uses Telegram Web, occasionally needs to save media from a restricted channel or a story, and is comfortable installing a userscript manager. Someone who needs to archive an entire channel, schedule downloads, or run unattended extracts would be poorly served: the script is page-level and interactive, and has no batch or automation layer described in the README.
Requirements and limitations
You need a userscript manager — Tampermonkey, Violentmonkey, Greasemonkey or Userscripts on Safari — and it must work in your browser. Installation is documented from Greasy Fork or manually from the project instructions. It only runs on Telegram Web, not the desktop or mobile apps.
Compatibility depends on which webapp version you use, and Telegram can change its web client at any time; the README's version note is the main thing to check before relying on it. Ongoing upkeep means keeping the userscript manager and the script itself updated, since a Telegram web UI change can break the injected controls. The download UI is available in five languages, but that affects the panel only, not media coverage.
HotRepo's take
HotRepo recorded 6,287 stars on 2026-10-24 (+36) and 6,289 on 2026-10-25 (+19), with two daily-board appearances in a two-day sample. That is a snapshot, not evidence of momentum; persistence cannot be judged from this history. Before adopting, verify which webapp version you use and whether your needed media type is supported there.
Written by AI from the project's README, updated October 25, 2026. The project's own docs are the source of truth.