Threads Downloader App for Android

On Android, saving a Threads video usually means copying a link, opening a browser, pasting, and resolving. The Threads Downloader app, built as ThreadSave, replaces most of that with a native app on your home screen. You share a public Threads post into the app from the Threads app or browser, or paste a link directly, and the app previews every video and image attached to the post before you save anything.

The app mirrors the website's rules exactly. It reads only public posts, never asks for a login, and delivers files as MP4 for videos and JPEG for photos in the quality Threads serves, with no re-encoding and no watermark. Downloads run through WorkManager, so the app queues the file, shows progress, and saves it into your device's Downloads collection where your gallery can pick it up.

This page is staged. The Android app page will go live with a link to its Play Store listing once the listing exists. Until then the page stays draft, and the source lives in this repository where the app's behavior can be reviewed. The description below documents what the app does today.

Saving from the Share sheet

The most convenient entry point is the Share sheet. Open a public Threads post in the Threads app, tap the share icon, and choose ThreadSave from the share targets. The app extracts the link from the shared text and takes you straight to the preview screen.

You can also paste a link directly into the app's input field, the same way you would on the website. The app accepts the same URL shapes the site does: public post links, share links, and profile links, all on threads.net or threads.com.

Whatever the entry point, the app then asks the same service the website uses to resolve the post. That shared service means the app and the site behave identically: the same public-post boundary, the same media discovery, the same signed, expiring download links.

Previewing and choosing media

Once a post resolves, the app lists every video and image attached to it as its own item, with a preview you can check before saving anything. A carousel with several photos shows each photo separately, and a mixed post with photos and a video shows each file on its own.

This per-item list is the same deliberate design as the website. You never have to download a bundle of files you do not want. A six-photo carousel lets you take the second photo only, and a post with a single video gives you exactly that one file.

Because the preview is the real file, what you check is what you save. The resolution you see is the resolution that downloads, with no upscaling and no re-encoding anywhere in the flow.

Downloads, progress, and where files land

When you start a download, the app hands the work to Android's WorkManager, which runs the download as a background job that survives the app being closed. The app shows the file's state as it moves through queued, downloading, and saving, with a progress percentage while the bytes stream.

A completed download is saved into your device's Downloads collection, the standard Android location that most gallery and file-manager apps watch. If the download hits an error, the app reports it clearly, including the case where a signed link has expired, in which case resolving the post again issues a fresh link.

The app also enforces the same 15-minute token expiry and size limits the site enforces. A download that cannot proceed because a link lapsed or a file exceeds the limit surfaces a readable message rather than a silent failure.

The app's boundaries

The app reads only public posts, the same boundary as every tool on this site. It never asks for a Threads login, never stores credentials, and never touches private accounts or follower-only content.

There is no bulk mode and no background scraping. The app resolves one link at a time, the link you give it, and nothing else. It does not crawl profiles, build lists of accounts, or offer any kind of automated collection of other people's media.

The app is also deliberately honest about quality. Videos download at the resolution Threads serves for that post, typically up to 1080p when the creator uploaded a high-resolution source, and photos download at the size Threads serves. Nothing is upscaled, and the app never claims a 4K tier that the platform does not provide.

Availability

The app is fully implemented in this repository as a native Kotlin and Jetpack Compose application with the permanent package identifier com.threadsave.downloader. Building it requires Android Studio, and its release distribution goes through the Google Play Store.

This page is staged until the Play Store listing exists. Publishing a page with an install link before a listing is ready would only mislead visitors, so the page stays draft, exactly like the extension and Shortcut pages, until its release gate opens.

When the listing is live, this page will link to it and go live. The source in the repository can be reviewed now, including its download service, its URL handling, and its test suite.

How the app stays in sync with the website

The app and the website talk to the same service, which is what keeps their behavior identical. When you resolve a post in the app, the request goes to the same resolver, subject to the same validation, rate limits, and media allowlist that protect the website. The app does not implement its own copy of the downloader logic; it calls the same one.

That shared service is the reason the rules never drift between platforms. Public posts resolve, private posts do not, media hosts are checked before anything is offered, and every download link is signed and expires after 15 minutes. A behavior you rely on in the browser behaves the same way in the app, because underneath they are the same downloader.

The app's own code is responsible only for the Android-specific surface: the share target, the input screen, the preview list, the WorkManager download jobs, and the notifications that report progress and completion. Those pieces are tested in the repository alongside the app's URL handling and API response parsing, so the client-side behavior has the same test discipline as the server.

Keeping the client thin is also what keeps the downloader honest on a new platform. There is no second code path where a rule could quietly change, and no client-side logic that could weaken a server-side check. The app is a well-behaved client of the same public-post service, nothing more and nothing less.

Using the app responsibly

The app works only with public posts, and public posts are still someone's content. The same guidelines that apply to the website apply here: download media you own, media you have permission to save, or content shared with the clear intent of being public.

Downloading a public post does not transfer ownership of the media, and re-uploading someone's work as your own is not something any tool can authorize. Reusing a profile picture or a creator's logo carries its own rights considerations, which is why the site's profile picture tool documents them on its own page.

Because the app delegates every resolution to the shared service, the site's safeguards apply unchanged on Android. Every download still uses a signed link that expires after 15 minutes, and the server still validates the media host, content type, and file size before streaming anything. The app adds no workaround and no hidden mode that could reach content the site itself would refuse.

  1. Share the post into the app

    Choose ThreadSave from the Share sheet on a public Threads post, or paste a link.

  2. Resolve the post

    The app asks the same service the website uses and lists every video and image.

  3. Preview each file

    Check the actual media before saving anything.

  4. Start your downloads

    Choose the files you want; each one is saved separately.

  5. Watch the progress

    WorkManager shows queued, downloading, and saving states with a percentage.

  6. Find your files

    Completed downloads land in the Downloads collection for your gallery to pick up.

Answers

Frequently asked questions

Is the Android app free?

Yes. Like the website, the app has no account, no subscription, and no payment step. It is the same free downloader packaged for Android.

Where do downloaded files go?

Completed downloads are saved into the device's Downloads collection, where most Android galleries and file managers can pick them up.

Can I share a post directly into the app?

Yes. Choose ThreadSave from the Share sheet on a public Threads post, and the app extracts the link and starts resolving it.

Does the app work on private posts?

No. It reads only public posts and never asks for a login. Private and follower-only content stays unreachable.

What if a download link expires mid-download?

Signed links last 15 minutes. If one lapses, the app reports it and you resolve the post again for a fresh link, exactly like on the website.

Does the app download in the background?

Downloads run through Android's WorkManager, so a file continues downloading with progress shown even if you leave the app. Nothing is downloaded without you starting it.

Can I install the app today?

The app source is in this repository, but the page and its install link are staged until a Play Store listing exists. Building the debug APK locally requires Android Studio.

Is the app affiliated with Meta or Threads?

No. It is an independent application with no connection to Meta, Instagram, or Threads. It uses the same public-post downloader as this website.

Which Android versions are supported?

The app targets modern Android releases (SDK 35 compile target with current stable runtime support). The exact minimum version is defined in the repository's build configuration.

Does the app need the Threads app installed?

No. You can paste a link directly into the app, or share a post into it from the Threads app, the Threads website, or any other app that shares links.

Can I download from the Threads website into the app?

Yes. Open the post in a browser, share it, and choose ThreadSave from the share targets, or copy the link and paste it into the app.

Does the app keep a download history?

No. The app does not build a library of your downloads. Each resolve reads the live post, and the only records that exist are the files you chose to save in your Downloads collection.

What if the Threads page format changes and a post fails to resolve?

The app surfaces the same errors the website does. If Threads changes its page markup, resolves may fail with a clear message until the shared service is updated, and the app inherits that fix without an app update.

Can I download a profile picture with the app?

Yes. The app accepts profile links, and the shared service resolves the profile's picture the same way the website's profile picture page does, at the largest available size.

Also in Español · Deutsch · Français · Português · हिन्दी · Bahasa Indonesia · 日本語 · 한국어 · 简体中文 · العربية