An unofficial native Android client for cobalt.tools — the best way to save what you love, now with a share sheet, clipboard trigger, and a download queue that lives on your phone.
Not affiliated with or endorsed by the cobalt team. This app wraps cobalt's public web interface and relies entirely on cobalt's service. All credit for the actual downloading magic goes to imputnet/cobalt.
- Full-screen cobalt.tools WebView — same UI you know, no browser chrome
- Share from any app — tap Share in YouTube, TikTok, Instagram, X, Reddit, etc. → select Cobalt → URL auto-fills and starts downloading
- Clipboard trigger — copy a link, open the app → snackbar: "download from clipboard?" — one tap
- Long-press shortcuts — "Paste & Download" and "Open Queue" from the home screen icon
- Native download queue — active progress, history, open/retry buttons; IBM Plex Mono throughout to match cobalt's aesthetic
- Audio-only mode — toggle in settings to pre-select cobalt's audio download mode
- Configurable instance — point the app at your own self-hosted cobalt instance
- Works with local-processing — cobalt's WASM FFmpeg merges run inside the WebView; blobs stream to your Downloads folder via a native bridge
Files save to Downloads/Cobalt/ on your device.
This is a debug/sideload build. No Play Store listing yet.
- Download
app-debug.apkfrom Releases - On your Android device: Settings → Apps → Special app access → Install unknown apps → enable for your file manager
- Open the APK and tap Install
- On first launch: grant notification permission and allow battery optimization exemption (keeps downloads running in the background)
Tested on Samsung Galaxy S22 Ultra (Android 14 / One UI 6). Should work on any Android 8.0+ device.
This app uses cobalt.tools directly — no self-hosted backend required. cobalt's public web interface handles all the media extraction.
If cobalt.tools is unavailable or you want to run your own instance, tap ⋯ → cobalt instance to enter any cobalt API URL. See cobalt's self-hosting docs to spin one up.
Per cobalt's own documentation: the hosted API at
api.cobalt.toolsis not intended for automated use. This app targets cobalt's web interface (cobalt.tools), not the raw API, so it respects that boundary.
Requirements: Android Studio or Android SDK (API 26–35), Java 17, internet access for first Gradle sync.
git clone https://github.com/Andro-Meta/cobalt-android
cd cobalt-android
./gradlew assembleDebug
# APK: app/build/outputs/apk/debug/app-debug.apk- Kotlin · Jetpack (Room, ViewModel, LiveData, WorkManager)
- OkHttp for download streaming → MediaStore
- Material Design 3 · IBM Plex Mono (matching cobalt's design language)
- AGP 8.5.2 · Gradle 8.7 · minSdk 26 · targetSdk 35
- No signed/Play Store release — sideload only for now
- Local-processing (WASM FFmpeg) can be slow on large files; this runs client-side inside the WebView
- Retry on reconnect shows a notification — you tap to re-trigger rather than silently resuming (cobalt tunnel URLs expire, so a full re-submit is needed)
Built on top of cobalt by imputnet and contributors — the actual media downloading is entirely their work. This app just puts it in your share sheet.