Skip to content
jgestalPublic

About

Ad-free YouTube client for Android phones & tablets: Material 3 touch UI, mini player, favorites with folders, downloads manager, sleep timer. Fork of SmartTube by yuliskov (MIT).

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

1,095 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English · Español

SuperTube icon

SuperTube

An ad-free YouTube client for Android phones and tablets, with a touch-first Material 3 interface.
Also for Android TV. Fork of SmartTube by yuliskov.
gestal.es/supertube

Latest release Android 8.0+ Jetpack Compose License: MIT

SuperTube: home feed with the mini player, search and favorites

Contents

Why SuperTube?

SmartTube is an excellent YouTube client, but it is built for TV remotes: a fixed 1080p "10-foot" interface, D-pad focus navigation and Leanback screens. On a phone it looks tiny and is awkward to use with your fingers.

SuperTube keeps SmartTube's engine (no ads, SponsorBlock, DeArrow, accounts, history, playlists, quality and codec selection) and replaces the whole interface with one designed for touch screens, following the Android adaptive design guidelines.

Features

A real mobile interface

Jetpack Compose and Material 3, with light and dark themes and dynamic colors. Navigation adapts to the window: a bottom bar on phones, and a navigation rail in landscape, on tablets and on foldables. Videos can be shown as a list, a compact list, a grid or horizontal shelves, and the app remembers your choice.

Feed layout menu Grid layout

Navigation rail in landscape

Touch player

Gesture or control Action
Double tap left / right Seek −10 / +10 s (consecutive taps add up)
Press and hold Temporary 2× speed
Speed button 1× → 1.5× → 2×; long press for the full list
Swipe up / down Fullscreen / collapse into the mini player (vertical videos stay in portrait)
Swipe in fullscreen Brightness (left side) and volume (right side)

The seek bar shows the SponsorBlock segments. Back or a swipe down collapses the video into a mini player that keeps playing while you browse. Leaving the app keeps the video in picture-in-picture, and audio keeps playing with the screen off, with lock screen and notification controls. There is also a sleep timer, and playback pauses when headphones are unplugged.

Player controls with the speed button Press and hold for 2x speed

Fullscreen player

Media controls in the notification shade

Favorites with folders

The ♡ on every video saves it to Favorites or to your own folders. Folders can be searched, renamed, and played in order or shuffled. A home screen widget shows them, and everything can be exported and imported as a JSON file. Favorites are stored only on your device.

A favorites folder Save to folder sheet Home screen widget

Downloads manager

Download the audio or the video (up to 1080p H.264, joined on the device without re-encoding) after choosing the quality and seeing its size. Downloads can be paused and resumed, even after closing the app, and expired links are refreshed automatically. There is an optional Wi‑Fi only mode, video and audio filters, and an offline player. Files are saved to Movies/SuperTube and Music/SuperTube.

Download quality picker Search with the mini player

Note

Without a YouTube account, YouTube only offers single-file streams (usually 360p). Sign in to download up to 1080p.

Also included

  • Search with local recent searches, voice search and filters.
  • Reorderable sections in More, settings as bottom sheets, and TV-only settings hidden.
  • Opens YouTube links shared or tapped in other apps. On Android 12+ you have to allow this once in Settings › SuperTube › Open YouTube links, which explains the steps. If the YouTube app is installed, it keeps the links until you turn off its Open supported links setting.
  • Updates from the releases of this repository (Settings › SuperTube › Check for updates).
  • 20 languages, selectable per app in the Android 13+ system settings.
  • Everything from SmartTube: no ads, SponsorBlock, DeArrow, sign-in (subscriptions, history, playlists), 4K/8K, HDR, 60 fps, codec selection, subtitles, live chat and comments.

SuperTube for Android TV

The TV app (smarttubetv module) keeps SmartTube's remote-friendly Leanback interface and adds:

  • Backdrops: the focused video fills the background, Netflix-style, faded so the text stays readable. Without a thumbnail, the home screen shows a SuperTube ambient image.
  • Lite mode for slow TVs and TV boxes (Settings › User interface): no background images, card previews, scrolling titles or seek thumbnails, and a smaller video buffer.
  • SuperTube name, icons, launcher banner and home screen channel, and updates from this repository (Settings › About › Check for updates).

SuperTube for Android TV: the focused video fills the background

TV user interface settings with lite mode TV home screen in lite mode

Installation

Download the APK from the latest release or from gestal.es/supertube. On a TV, open gestal.es/supertube/tv in the browser or a downloader app.

Device File Package
Phone or tablet SuperTube-<version>.apk es.gestal.supertube
Android TV (any) SuperTubeTV_stable_<version>_universal.apk es.gestal.supertube.tv
Android TV (smaller download) …_arm64-v8a.apk for recent TVs, …_armeabi-v7a.apk for older ones, …_x86.apk es.gestal.supertube.tv

Requirements: Android 8.0 or newer. Ready for devices with 16 KB memory pages. SuperTube is a separate app and can be installed next to SmartTube.

Updates: once installed, new versions are installed from Check for updates in the app settings. See the changelog for what changed in each version.

Install warnings

Android warns about every app that doesn't come from Google Play. These are the usual messages and what to tap:

Where Message What to do
Chrome "This type of file can harm your device" Tap Download anyway
Android "Your phone isn't allowed to install unknown apps from this source" Tap Settings, turn on Allow from this source and go back
Play Protect "Unsafe app blocked" or "Unknown app" Tap More details, then Install anyway (on a TV, the same with the remote)
Play Protect Later turns the app off or removes it Play Store › your profile › Play Protect › settings › turn off Scan apps with Play Protect, then install again

Verify the APK

Every release is signed with the same certificate and scanned with VirusTotal (the report is in the release notes). To check that an APK is the original, compare its signing certificate:

apksigner verify --print-certs SuperTube-<version>.apk   # from the Android SDK build-tools

The SHA-256 digest must be:

f6:fb:28:69:7f:24:d1:bf:21:ff:12:b8:20:e2:64:ca:4a:94:2f:3e:e8:4c:75:f2:01:6d:eb:3c:e6:07:70:41

(apksigner prints it without colons.)

FAQ

Is it free?

Yes. No ads, no subscriptions and no in-app purchases. The source code is in this repository under the MIT license.

Is it an official YouTube app?

No. SuperTube is an independent project, not affiliated with Google or YouTube. It is built on SmartTube, an open-source client.

Why isn't it on Google Play?

Google Play doesn't accept apps like this one, so it is published as an APK in the GitHub releases and on the website, with the signing certificate listed above.

Do I need an account?

No. Sign in only if you want your subscriptions, history and playlists, or downloads above 360p. The session is stored on your device.

Does it work with Chromecast or Android Auto?

No. SuperTube doesn't include Google Play Services, which those features need.

Is there an iPhone version?

No. SuperTube is for Android 8.0 or newer, on phones, tablets and Android TV.

Can I use the phone APK on a TV, or the other way round?

It installs, but the phone APK isn't made for a remote, and the TV one isn't made for touch screens.

More answers on the website FAQ.

Privacy

SuperTube doesn't collect any personal data for the developer: no SuperTube accounts, no analytics, no advertising and no crash reports, and no server of its own. Settings, favorites, recent searches, downloads and the optional Google session stay on your device. The app connects directly to YouTube/Google, SponsorBlock, DeArrow, Return YouTube Dislike and GitHub (update check) to work.

Read the full privacy policy, also published at gestal.es/supertube/privacy.

Building from source

Requirements: JDK 17 (Gradle 7.5 runs on JDK 11–17), the Android SDK, and the git submodules.

git clone --recurse-submodules https://github.com/jgestal/SuperTube.git
cd SuperTube

# Phone and tablet app → supertube/build/outputs/apk/stbeta/debug/
JAVA_HOME=/path/to/jdk-17 ./gradlew :supertube:assembleStbetaDebug

# Android TV app → smarttubetv/build/outputs/apk/ststable/debug/
JAVA_HOME=/path/to/jdk-17 ./gradlew :smarttubetv:assembleStstableDebug

If you cloned without --recurse-submodules, run git submodule update --init --recursive.

Tests

./gradlew :supertube:testStbetaDebugUnitTest :supertube:lintStbetaDebug   # unit tests and lint
supertube/tools/rotation_e2e.sh path/to/SuperTube.apk                      # fullscreen and rotation, on an emulator

Every push to main builds the APKs on GitHub Actions (lint, build and VirusTotal scan); the nightly APKs are available as workflow artifacts.

Signed builds and releases

For signed builds, create supertube/keystore.properties (phone app) and keystore.properties in the repository root (TV app), both with storeFile, storePassword, keyAlias and keyPassword. Then run ./gradlew :supertube:assembleStbetaRelease.

To publish a version, set the same versionName in both apps, add a dated section to the changelog and run tools/release/release.sh. It runs the tests, builds and checks both signed apps, writes the TV update manifest, creates the GitHub release with every APK and regenerates the website. --dry-run stops after the build.

The signed APKs stay in dist/ (not in git), and the website hosts the newest ones in landing/apk/. After every release, upload landing/ and rename _htaccess to .htaccess on the server (see landing/server/ for Apache and nginx).

Website and promotional images

The website (landing/, 6 languages) and the social network images (promo/) are generated with:

python3 tools/landing/gen_landing.py
python3 tools/landing/promo.py

Architecture

SuperTube reuses SmartTube's MVP architecture: every presenter in the common module talks to a View interface (BrowseView, PlaybackView, SearchView, AppDialogView…). The TV app implements those views with Leanback fragments; SuperTube implements them with Compose activities, so the business logic is shared unchanged.

Module Description
supertube The mobile app: Compose UI, playback service, favorites, downloads, widget, updater
common SmartTube business logic: presenters, player engine (ExoPlayer), settings
smarttubetv The Android TV app (Leanback UI, backdrops, lite mode); module name kept to merge upstream changes
MediaServiceCore, SharedModules SmartTube submodules (YouTube API, utilities)
landing, promo, tools Website, promotional images, and release and generator scripts

Notable mobile-only pieces in supertube/src/main/java/.../mobile/:

Path Purpose
ui/playback/ Player screen, controls, gestures and mini player
playback/ Media session, notification and mediaPlayback foreground service
ui/feed/ Feed layouts shared by every screen
download/ Resumable downloads, track joining and Wi‑Fi only mode
prefs/, widget/, update/ Favorites and settings, home screen widget, updater

Contributing

  • Bugs and ideas: open an issue with the bug report or feature request template. Check the FAQ and the existing issues first, and include the app version, the device and the Android version.
  • Pull requests: keep them focused on one change, and run the unit tests and lint before opening them. Problems in the YouTube engine (videos that don't load, sign-in) usually belong upstream in SmartTube or MediaServiceCore.
  • Translations: every new string needs to be added to all 20 strings.xml files.

Legal notice

YouTube's Terms of Service don't allow third-party clients or ad blocking. Downloading content may infringe copyright unless you have the rights to it or your local law allows it. The download feature is meant for personal use of content you are allowed to save, such as the Creative Commons films by the Blender Foundation shown in the screenshots. Do not redistribute copyrighted content. How you use the app is your decision and your responsibility.

SuperTube is not affiliated with, endorsed by or connected to YouTube, Google or the SmartTube project. YouTube, Android and Google TV are trademarks of Google LLC.

Credits and license

SuperTube is based on SmartTube by yuliskov and its modules MediaServiceCore and SharedModules, released under the MIT License. All the credit for the YouTube engine and the original features goes to them.

SuperTube is released under the MIT License © 2026 Juan Gestal. ExoPlayer (exoplayer-amzn-2.10.6) is licensed under Apache 2.0. The YouTube engine in MediaServiceCore uses Java Regex by Florian Ingerl, licensed under GPL 2.0; its source is available at that link. Screenshots show Creative Commons films by the Blender Foundation, without a signed-in account.

Contact: juan@gestal.es

About

Ad-free YouTube client for Android phones & tablets: Material 3 touch UI, mini player, favorites with folders, downloads manager, sleep timer. Fork of SmartTube by yuliskov (MIT).

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages