Threads Downloader Extension for Chrome
People who save Threads media on a computer usually repeat the same short routine: open the post, copy the link, switch to the downloader, paste, and resolve. The routine is only a few steps, but it interrupts browsing every single time. This Chrome extension is built to remove that interruption: it adds a clearly branded download button directly to public Threads post pages, so the action lives where you are already looking.
The button does exactly one thing. When you are on a public Threads post, it appears as a small iTVD download button in the corner of the page. Clicking it opens iThreadsVideoDownloader with the post link already filled in, and from there the normal flow takes over: resolve the post, preview every video and image attached to it, and download the files you choose as MP4 or JPEG exactly as Threads serves them.
The extension is intentionally small and deliberately narrow. It runs only on threads.net and threads.com, does nothing at all on other websites, never reads the content of your posts beyond the page address, and never downloads anything itself. This page is staged: the extension source is complete and packaged in this project's repository, but the page goes live only when the Chrome Web Store listing exists. Until then the page documents exactly what the extension does and, just as importantly, what it refuses to do.
A download button on the post page
The core of the extension is an on-page button, not a toolbar shortcut. While you browse Threads, the extension watches the address of the page you are on. On a public post page it renders a small button, clearly marked with the iTVD brand and a download arrow, so it is unmistakably this extension and not part of the Threads interface.
The button appears only on post pages. On the home feed, on a profile, on a single photo's detail view without a post address, or on any non-Threads website, no button is shown. The extension distinguishes post pages by their address shape: a direct post link like /@username/post/POST_ID or a share link like /share/CODE.
Because Threads is a single-page app, navigating from one post to the next often changes the address without reloading the page. The extension tracks those address changes, so the button follows you: it disappears when you leave a post page and reappears on the next one without you doing anything.
The button is also never duplicated. If you navigate back and forth between posts, you always see exactly one button, because the extension removes any existing button before drawing a new one.
What happens when you click the button
Clicking the button sends the post's address to the extension's background worker, which first checks that the request really came from a Threads page. Only then does it open this site with the post link pre-filled into the downloader input, ready for you to resolve.
From that point the workflow is identical to the website. The page reads the public post, lists every video and image attached to it with its own preview, and lets you download only the files you actually want. Videos save as MP4 and photos as JPEG in the quality Threads serves, with no re-encoding and no watermark.
The click is a handoff, not a download. The extension moves the link into the downloader; your browser and the site's service do the rest. That means the security model of the downloader is unchanged: every file still comes through a signed link that expires after 15 minutes, and the server still validates the media host, the content type, and the file size before streaming anything.
How the extension stays safe
Browser extensions run with more power than a web page, which is exactly why this one keeps its own power so small. The content scripts and host permissions cover only threads.net and threads.com. The extension cannot read or modify pages anywhere else, and on every other site it is completely inert.
The extension holds no broad browser permissions. It does not ask for the ability to manage downloads, intercept network requests, or observe your browsing history. There is no analytics, no telemetry, and no remote configuration endpoint that could change what the code does after you install it.
Because the extension uses no remote code, the behavior you can read in the source is the behavior that runs. The packaged source ships in this project's repository, so the small amount of code involved can be inspected line by line before you ever install it. The content script never reads the page's markup beyond the address bar, never inspects images or videos, and never sends anything to a third party.
Why the extension never downloads directly
A browser extension could in principle read a page's media files and download them directly, but this one deliberately does not. Direct scraping from inside the page is brittle, breaks whenever Threads changes its markup, and would quietly duplicate the site's resolution logic in a second place where it could not be tested or updated as easily.
Instead the extension delegates the actual media resolution to the site's service. That keeps a single code path responsible for finding media, signing links, and streaming files, the same path that is tested and hardened for the website. The extension's only job is to move the link into the downloader for you.
Delegation is also the honest design. The site is the product; the extension is a convenience on top of it. Keeping the two separate means the extension stays tiny, reviewable, and easy to audit, which matters for software that runs inside your browser on every Threads page you visit.
Availability and installation
The extension will be distributed through the Chrome Web Store, the standard and safe way to install Chrome extensions. When the listing is live, this page will link to it and the page itself will go live with the rest of the site.
Until the listing exists, the extension page stays staged: it is not published to the production site, because linking to a page without a working install path would only mislead visitors. The source remains available in the repository for anyone who wants to review how the extension behaves, and the packaging script produces the exact zip that would be uploaded to the store.
Developers can load the packaged source as an unpacked extension from the Chrome extensions page to try the current behavior before the store listing opens. Nothing about the extension is gated behind the page going live; the code is complete and ready for review today.
How the extension fits with the downloader's rules
The extension changes nothing about the downloader's rules, because it is not a separate downloader. Every file that comes through the button is served by the same service the website uses, under the same boundaries: public posts only, no login, no watermark, and signed links that expire after 15 minutes. If a post cannot be read, the downloader says so, whether you arrived by pasting a link or by clicking the button.
That single-service design is what keeps the extension trustworthy. There is one code path that finds media, one set of host checks, one signing routine, and one streaming pipeline, all tested and hardened for the website. The extension adds no second path where a rule could quietly differ, and it adds no client-side logic that could weaken a server-side check.
The button also behaves the same on every Chrome device it runs on. On a Windows laptop or a Mac, the on-page button looks and works identically, because it is drawn by the same content script from the same manifest. There is no per-device configuration and no feature that behaves differently depending on where Chrome is installed.
Updates arrive through the Chrome Web Store's normal update channel. When the extension changes, Chrome updates it in the background the way it updates any installed extension, and the button keeps working without you reinstalling anything. Because the extension is small and dependency-free, its update surface is small too.
Install the extension
Add the extension from the Chrome Web Store once it is listed there.
Open a public Threads post
Browse to any public post on threads.net or threads.com.
Tap the download button
Click the iTVD download button the extension adds to the post page.
Review the pre-filled link
The downloader opens with the post link already in the input.
Preview the media
Check every video and image attached to the post before saving.
Download your files
Save the MP4 and JPEG files you chose through the site's signed links.
Frequently asked questions
Is the Chrome extension free?
Yes. Like the website, the extension has no account, no subscription, and no payment step. It adds a convenience to the same free downloader you already use.
Where does the download button appear?
The extension adds an on-page iTVD button to public Threads post pages only. The toolbar action is a fallback; the on-page button is the primary way to start a download.
Does the extension download videos directly?
No. It hands the post link to the site, and the site resolves, signs, and streams the media exactly as it does for a pasted link. The extension never downloads or scrapes anything itself.
What websites can the extension read?
Only threads.net and threads.com. Its host permissions are scoped to those two domains, and it is inert everywhere else.
Will the extension work on private posts?
No. It can only open the site with the URL you are viewing, and the site reads only public posts. Private and follower-only content stays unreachable.
Can I install the extension now?
The extension is awaiting its Chrome Web Store listing. The page is staged until the listing is live; the packaged source is available in the repository for review and for loading unpacked.
Does the extension collect any data?
No analytics and no telemetry. The only outbound action is opening the downloader with the post URL you are already viewing when you click the button.
Is the extension affiliated with Meta or Threads?
No. It is an independent tool with no connection to Meta, Instagram, or Threads. It only opens this site with the public post link you provide.
Which Chrome versions does the extension support?
The extension targets Chromium 102 and newer, which covers current stable Chrome releases. It uses standard MV3 APIs only, so it does not depend on experimental browser features.
Does the button work on Threads share links?
Yes. The extension treats share links like /share/CODE as post pages too, so the button appears on both direct post URLs and share links.
Will the extension slow down Threads pages?
No. The content script only reads the page address and draws a small button. It does not parse the page content, scan media, or run timers, so its cost is negligible.
What happens to the post link when I click the button?
The link is sent to the extension's background worker, which checks that it came from a Threads page, then opens the downloader with the link encoded into the site URL. The link is not stored anywhere.
Does the extension change how downloads are saved?
No. The downloader handles saving exactly as it does on the website: the file streams through a signed link into your browser's normal download location, with the same preview and file-choosing steps.
Also in Español · Deutsch · Français · Português · हिन्दी · Bahasa Indonesia · 日本語 · 한국어 · 简体中文 · العربية