YouTube Hide Ads

Removes ads and unwanted feed content from the official YouTube Android app, skips SponsorBlock segments, and adds fullscreen brightness/volume swipes and original-audio selection. Each removal is authorized by a compiled Brainfuck policy. The host is a single XAX semantic store.

Features

Feature Default
Video, feed/search and shopping ads On
Sponsored Shorts, removed before the pager is built On
Premium, fullscreen and engagement-panel promotions On
SponsorBlock skipping (sponsor, self-promotion; other categories optional) On
Playables shelves, cards and Explore entry Hidden
Preview videos, Explore more topics, posts Hidden
Shorts in feeds Shown
AI channels, high and medium confidence (AiSList) Off
Fullscreen swipes: left brightness, right media volume On
Prefer the original audio track On

Settings are under YouTube → You → Settings → YoutubeHideAds. Reload a feed after changing its switches.

Scope

com.google.android.youtube

Select YouTube as the module's only scope.

Requirements

  • A rooted arm64 device with a framework that implements libxposed API 102: Vector or current LSPosed.
  • Android 9 (API 28) or newer.
  • The official YouTube app. Tested on 21.41.525.

Installation

  1. Install the APK from the release attached to this repository.
  2. Enable YoutubeHideAds in the manager, with YouTube as its only scope.
  3. Force-stop YouTube, then reopen it.
  4. Log entries are tagged:
YouTubeHideAds:

On a cold start the log reports the startup self-checks (531 in total) followed by Hook installed lines.

Validation

Measured on a Pixel 8 Pro, Android 17, YouTube 21.41.525 and Vector 2.2. All 531 startup self-checks pass, every hook installs, and video ads, feed ads, sponsored Shorts and Playables are removed live. Premium, fullscreen and panel promotions passed controlled hook tests; naturally delivered positives remain unverified. Other YouTube versions and devices are not certified.

Troubleshooting

Problem Suggested action
No module log entries Check that the module is enabled with YouTube in scope, then force-stop YouTube.
UnsatisfiedLinkError right after an update Let the update settle, then force-stop and reopen YouTube. The manager can briefly keep the old APK path.
A self-check reports false The module will not act on that feature. Capture the YouTubeHideAds: log and open an issue.
A hook is missing after a YouTube update YouTube changed an internal structure. Capture the log and open an issue.

Credits

Project Contribution
DexKit by LuckyPray Structural discovery of obfuscated classes and methods. Apache-2.0.
libxposed, Vector Hooking API and framework.
SponsorBlock Community segment data, fetched through a privacy-preserving hash prefix.
Override92/AiSList Optional AI-channel lists, CC BY-NC 4.0; not bundled.
Morphe Patches Behavior reference; no implementation copied.

Disclaimer

Not affiliated with, endorsed by or sponsored by Google LLC or YouTube. The module changes the app's behavior in memory on the user's own device and does not redistribute the YouTube APK. It contacts only SponsorBlock and, if enabled, the AiSList download. Provided for personal use. YouTube updates may break hooks without notice.

Releases

1.0.0

Stable

10/17/2026, 6:00:37 PM

YouTube Hide Ads v1.0.0

First public release

Removes YouTube ads and unwanted feed content, skips SponsorBlock segments, and adds fullscreen brightness/volume swipes and original-audio selection. Policy decisions are compiled Brainfuck; the host is a single XAX semantic store.

Features

  • Video, feed/search and shopping ads; sponsored Shorts removed before the pager is built.
  • Premium, fullscreen and engagement-panel promotions.
  • SponsorBlock: privacy-preserving hash-prefix lookup, guarded seeks; sponsor and self-promotion on by default.
  • Playables, preview videos, Explore more topics and posts hidden by default; feed Shorts optional.
  • Optional AI-channel filters (high and medium confidence AiSList lists).
  • Fullscreen swipes: left edge brightness, right edge media volume.
  • Prefers the original audio track on multi-language videos.
  • Settings under YouTube → You → Settings → YoutubeHideAds.

Changed since the last development build

  • New package io.github.mrxsin.youtubehideads (was org.youtubehideads.module).
  • Seven identical gate libraries merged into one liband3.so. The APK has 11 native libraries instead of 17 and is about 97 KB smaller. Behavior is unchanged.

Verified

  • Pixel 8 Pro, Android 17, YouTube 21.41.525, Vector 2.2 (libxposed API 102): all 531 startup self-checks pass and every hook installs. The installed APK matches the published SHA-256.
  • Per-feature off/on UI checks were last run on development build 77 with the same policy bytes.

Other YouTube versions, devices and 32-bit/x86 ABIs are not certified. The APK is arm64-v8a only.

Version metadata

  • Version name: 1.0.0
  • Android version code: 100
  • Package: io.github.mrxsin.youtubehideads
  • Git tag: v1.0.0
  • APK filename: YouTubeHideAds-v1.0.0.apk
  • APK SHA-256: 0c57a68a23baafc5a8b619bee3057ef7785c7d866853ebd45c4c81baa69ceb2b

Installing

Install the APK, enable YoutubeHideAds in Vector or LSPosed with com.google.android.youtube as the only scope, then force-stop and reopen YouTube. If a development build (org.youtubehideads.module) is installed, uninstall it first. Your settings are kept in YouTube's data.

Assets

1