Modern, Blazing-Fast Subtitle Downloader for Movies & TV Shows
A cross-platform subtitle search and download manager built with Compose Multiplatform (CMP).
Featuring instant SubDL lookup, Cinemeta poster integration, intelligent TV show episode breakdown, in-memory zip extraction, and a dedicated Cinema Modern dark aesthetic.
Download Latest Release β’ Features β’ Installation β’ Configuration β’ Monorepo Architecture β’ Building from Source
Subget simplifies finding and downloading subtitles for your favorite movies and television series. Instead of navigating ad-heavy subtitle websites, Subget provides a clean, native, and ad-free experience powered by the SubDL API and Cinemeta metadata engine.
Whether running on Android or as a frameless, hardware-accelerated Windows Desktop app, Subget shares over 90% of its UI, ViewModels, networking, and business logic through Kotlin Multiplatform.
- Instant Search: Query SubDL's extensive subtitle database with sub-second response times.
- Cinemeta Live Autocomplete: Real-time title suggestions, IMDb ratings, and high-resolution poster artwork as you type.
- Smart Query Parsing: Automatically detects movies vs. TV series and extracts season and episode numbers from release names.
- Language Chips: Quick multi-select filtering for English, Arabic, Spanish, French, German, Italian, and more.
- Season & Episode Breakdown: Interactive episode chips displaying available subtitle counts per episode.
- Quality Groupings: Filter releases by video resolution β
4K UHD,1080p / BluRay,720p / WEB-DL, andOther. - Accessibility Filter: Hearing Impaired (
HI) badge and toggle to locate SDH subtitles easily.
- In-Memory Extraction: Subtitles packaged inside zip archives are unpacked on the fly.
- Multi-Format Support: Direct extraction and saving of
.srt,.vtt,.ass, and.subfiles. - Clean Naming: Saves clean subtitle files named after the release title directly into your downloads storage.
- Local History: View, inspect, and organize all previously downloaded subtitle files.
- System Player Launch: Open subtitle files directly with your system's default media player (VLC, MPC-HC, MPV, etc.).
- Explorer Integration: One-click "Reveal in Folder" (
explorer.exe /select) on Windows and system file manager on Android. - Sharing & Management: Share subtitle files to external apps or clean up old downloads.
- Frameless Window: Custom undecorated obsidian (
#0B0E14) window design with a razor-thin accent divider. - Modern Draggable Title Bar: Integrated dragging area, brand icon, and interactive control buttons (Minimize, Maximize/Restore, Close with Cinema Red hover).
- Native Windows Pathing: Automatically saves to
%USERPROFILE%\Downloads\Subget\.
- Material 3 Cinema Theme: True black / obsidian aesthetic optimized for OLED displays.
- Edge-to-Edge Layout: Fully immersive system bar handling for Android 8.0 (API 26) through Android 15 (API 35).
- Secure Storage: Encrypted credential storage for API keys and seamless MediaStore integration.
Pre-built binaries are available for every tagged release on GitHub.
Latest Release: v1.1.0
| Platform | Package Format | Download Link | Description |
|---|---|---|---|
| Android | .apk |
Subget-v1.1.0.apk | Android 8.0+ (ARM64, x86_64), signed |
| Windows | Setup .exe |
Subget-v1.1.0-windows-setup.exe | Single-file installer for Windows 10/11 |
| Windows | MSI .msi |
Subget-v1.1.0-windows-installer.msi | Windows Installer package for managed setups |
You can verify the integrity of downloaded binaries against our official SHA-256 manifest:
# Windows PowerShell
Get-FileHash -Algorithm SHA256 Subget-v1.1.0.apk
Get-FileHash -Algorithm SHA256 Subget-v1.1.0-windows-setup.exe
Get-FileHash -Algorithm SHA256 Subget-v1.1.0-windows-installer.msiOr view the Subget-v1.1.0.sha256 file directly.
Subget connects to the SubDL subtitle API. A free API key is required to query subtitles.
- Sign Up: Register for a free account at SubDL.com.
- Retrieve API Key: Go to your SubDL dashboard / profile settings and copy your personal API key.
- Configure in Subget:
- Launch Subget.
- Navigate to the Settings tab (
βοΈ). - Paste your API key into the SubDL API Key input field and click Save.
- Your key is securely saved locally and will be used automatically for all searches.
Subget is structured as a Compose Multiplatform (CMP) monorepo using Gradle:
subget/
βββ androidApp/ # Android application module
β βββ src/main/java/ # MainActivity, Application class
β βββ src/main/res/ # Android resources, launcher icons
βββ desktopApp/ # Windows Desktop application module
β βββ src/jvmMain/kotlin/ # Desktop entry point (Main.kt) & CinemaModernTitleBar
βββ shared/ # Shared Kotlin Multiplatform (CMP) module
β βββ src/commonMain/ # 90%+ Shared code
β β βββ kotlin/.../api/ # SubdlApiService, PosterRepository (Cinemeta)
β β βββ kotlin/.../data/ # SubdlModels, MediaPoster, ZipExtractor
β β βββ kotlin/.../storage/ # SubtitleStorageManager interface & common storage logic
β β βββ kotlin/.../ui/ # SubgetApp, Screens (Search, Downloads, Settings)
β β βββ kotlin/.../theme/ # Cinema theme, colors, typography
β β βββ composeResources/ # Shared vector assets and brand logos
β βββ src/androidMain/ # Android implementations (MediaStore, EncryptedPrefs)
β βββ src/desktopMain/ # Desktop implementations (Swing/Desktop IO, Explorer integration)
βββ gradle/ # Version catalog (libs.versions.toml) & wrapper
βββ build.gradle.kts # Root Gradle build script
- Java Development Kit (JDK): JDK 17 or higher (recommended: OpenJDK 17 or Eclipse Temurin 17+).
- Android SDK: Compile SDK 35, Build-Tools 35.0.0 (required for
:androidApp). - Operating System: Windows 10/11 (for desktop installers), macOS, or Linux.
git clone https://github.com/Ysn4Irix/subget.git
cd subget./gradlew :desktopApp:runBuilds both the standalone .exe setup and the .msi Windows installer in desktopApp/build/compose/binaries/main/:
./gradlew :desktopApp:packageReleaseDistributionForCurrentOS./gradlew :androidApp:assembleReleaseThe APK will be generated at:
androidApp/build/outputs/apk/release/androidApp-release-unsigned.apk (or signed if signing keys are configured).
Execute the complete multiplatform unit test suite (testing query parsing, poster mapping, zip extraction, quality filtering, and episode matching):
./gradlew test --continue| Category | Technology |
|---|---|
| Language | Kotlin 2.0.21 |
| UI Framework | Compose Multiplatform 1.7.0 (Material 3) |
| Navigation | JetBrains Navigation Compose Multiplatform 2.8.0-alpha10 |
| State & Lifecycle | Lifecycle ViewModel Compose Multiplatform 2.8.4 |
| Networking | OkHttp 4.12.0 with Logging Interceptor |
| Image Loading | Coil 3 (3.0.4) with Ktor3 Network Engine |
| Serialization | Kotlinx Serialization JSON 1.7.3 |
| Concurrency | Kotlinx Coroutines 1.9.0 (Core, Android, Swing) |
| Testing | JUnit 4.13.2 & Kotlin Test |
Contributions, feature suggestions, and bug reports are welcome!
- Fork the repository.
- Create a feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'feat: add amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
This project is licensed under the MIT License β see the LICENSE file for details.