Client comparison
Compare YouTube clients
This table compares OpenTubeX with FreeTube, Grayjay, NewPipe, LibreTube, Flow, Morphe, and YouTube. It covers platforms, privacy, playback, and library tools for people looking at FreeTube alternatives.
What each client supports
Select a symbol for details and sources. Scroll sideways on smaller screens.
| Feature | ||||||||
|---|---|---|---|---|---|---|---|---|
| Devices & services | ||||||||
| Desktop app | Flow · Desktop appFlow Desktop is a separate companion for Windows, macOS, and Linux. Version 0.1.0-beta3 is available; it has not reached a stable release. Source | Morphe · Desktop appMorphe patches Android apps. Morphe Desktop patches APK files on a computer; it is not a desktop video player. Source | YouTube · Desktop appUse YouTube in a desktop browser, including installation as a web app where the browser supports it. This is not a separate desktop player. Source | |||||
| Android app | OpenTubeX · Android appAvailable for Android phones and tablets; some desktop features differ. Source | FreeTube · Android appFreeTubeAndroid is a separately maintained, unofficial port. FreeTube itself does not publish an Android app. Source | Morphe · Android appPatches the official YouTube Android app on the phone with Morphe Manager or on a computer with Morphe Desktop. Without root, the patched app installs separately and needs MicroG-RE for Google sign-in. Source | |||||
| iOS app | OpenTubeX · iOS appAn unsigned IPA is available for iOS/iPadOS 17.4+. Requires sideloading and periodic signing refreshes; several features are unavailable. Source | |||||||
| Web app | OpenTubeX · Web appRuns in the browser without installing anything, with the library saved in the browser. Videos load through Invidious or your own Yattee server; downloads and the built-in extractor need the installed app. Source | FreeTube · Web appThe source includes a web build that you can build and host yourself. FreeTube does not publish or host a web version. Source | Flow · Web appFlow offers Android and a separate desktop companion. Its browser extension sends videos to the desktop app, rather than playing them in the browser. Source | |||||
| Native mobile interface | OpenTubeX · Native mobile interfaceThe Android and experimental iOS/iPadOS apps use Capacitor with a shared web interface and native integrations. The interface is web-based on both platforms. Source | FreeTube · Native mobile interfaceOfficial FreeTube releases are desktop-only. The unofficial FreeTubeAndroid port loads FreeTube's web interface in a native Android WebView. Source | Grayjay · Native mobile interfaceNative mobile interface on Android only, implemented in its dedicated Android codebase. Source | NewPipe · Native mobile interfaceNative mobile interface built with Android UI components. Available on Android only. Source | LibreTube · Native mobile interfaceNative mobile interface with Material Design. Available on Android only. Source | Flow · Native mobile interfaceNative Android interface built with Jetpack Compose and Material 3. No iOS app. Source | Morphe · Native mobile interfaceKeeps the native interface of the official YouTube Android app. A patch can switch the layout to the phone, tablet, or automotive version. Source | YouTube · Native mobile interfaceNative mobile interfaces in the official Android and iOS apps, designed for phones and tablets. Source |
| Services beyond YouTube | OpenTubeX · Services beyond YouTubeFollow creators on other platforms, such as Twitch through RSSHub, with RSS or Atom feeds in an RSS tab of the subscriptions feed. Feed items and media URLs from a yt-dlp-supported service, pasted or shared to the Android app, play in the app and keep their watch progress. Browsing and search for other services are not supported. Source | Grayjay · Services beyond YouTubeSource plugins cover services such as Twitch, PeerTube, and SoundCloud. Availability depends on each plugin. Source | NewPipe · Services beyond YouTubeAlso supports SoundCloud, Bandcamp, PeerTube, and media.ccc.de. Source | Flow · Services beyond YouTubeFocuses on YouTube and YouTube Music, rather than services such as Twitch, PeerTube, or SoundCloud. Source | Morphe · Services beyond YouTubeThe patched YouTube app plays YouTube content only. Morphe also patches YouTube Music and Reddit, but as separate apps. Source | YouTube · Services beyond YouTubeThe official app plays YouTube content, not feeds from Twitch, PeerTube, or SoundCloud. Source | ||
| Watching & listening | ||||||||
| Downloads | FreeTube · DownloadsFreeTube removed its built-in downloader in 0.24.0. External download tools are separate from the app. Source | Flow · DownloadsAndroid supports video and audio downloads with quality and codec selection, including VP9 and AV1. Source | Morphe · DownloadsSave videos in the app without Premium, or send videos, Shorts, and playlists to an external downloader such as YTDLnis. Saved videos can be exported to device storage. Source | YouTube · DownloadsPremium offers in-app offline downloads; Premium Lite includes eligible non-music videos, excluding Shorts. Some regions allow selected videos without a paid plan. Downloads stay within YouTube, rather than becoming freely exportable media files. Source | ||||
| Per-channel playback settings | OpenTubeX · Per-channel playback settingsSave and automatically apply playback speed, quality, subtitles, and volume separately for each channel. Source | FreeTube · Per-channel playback settingsGlobal player preferences are available, but no per-channel playback presets are documented. Source | Grayjay · Per-channel playback settingsDefault playback speed is an app-wide preference. No per-channel playback presets are documented. Source | NewPipe · Per-channel playback settingsPlayback speed and pitch can be adjusted, but these are not saved as separate channel presets. Source | LibreTube · Per-channel playback settingsThe playback panel saves general speed preferences, not separate settings for individual channels. Source | Flow · Per-channel playback settingsAn optional Remember speed per channel setting starts each channel at the speed you last chose. Per-channel quality, subtitle, or volume presets are not documented. Source | Morphe · Per-channel playback settingsA channel speed whitelist always plays selected channels at 1.0x. Per-channel quality, subtitle, or volume presets are not documented. Source | YouTube · Per-channel playback settingsYouTube documents video playback and general quality controls, not user-defined playback presets for each channel. Source |
| Skip silence | Grayjay · Skip silencePlayback-speed controls are available, but no built-in silence-skipping setting is documented. Source | Flow · Skip silenceAndroid uses ExoPlayer silence skipping. The desktop beta setting is disabled because silence analysis is not yet implemented. Source | YouTube · Skip silenceNo dedicated silence-skipping control is documented. Premium Auto speed adjusts pacing on eligible Android videos; it is a different feature. Source | |||||
| Auto picture-in-picture | OpenTubeX · Auto picture-in-pictureAutomatically enter picture-in-picture when switching tabs or windows, or minimizing the app. Source | FreeTube · Auto picture-in-picturePicture-in-picture can be activated manually. Automatic entry when switching away is not documented. Source | Grayjay · Auto picture-in-pictureOn Android, choose Player Overlay under Background Behavior to enter picture-in-picture when leaving the app. Source | NewPipe · Auto picture-in-pictureSet Minimize on app switch to the popup player. This uses a floating overlay and requires permission to display over other apps. Source | LibreTube · Auto picture-in-pictureEnters picture-in-picture when leaving the player while playback is active, with PiP enabled. Source | Flow · Auto picture-in-pictureWith Auto PiP enabled, Android enters picture-in-picture when leaving the app during video playback. The desktop companion supports PiP, but automatic entry is not documented. Source | Morphe · Auto picture-in-pictureKeeps the YouTube app's automatic picture-in-picture when leaving the app. Removing background playback restrictions also allows it for videos that YouTube would otherwise limit. Source | YouTube · Auto picture-in-pictureLeaving the Android or iOS app starts picture-in-picture when enabled. Non-music content supports PiP without a paid plan; music content requires Premium. Source |
| Tabs | Grayjay · TabsNavigation tabs organize app sections. No browser-style tabs for keeping separate videos or channels open are documented. Source | NewPipe · TabsHome-page tabs organize feeds and app sections, rather than separate open videos or channels. Source | LibreTube · TabsNavigation sections are available, but no browser-style tabs for separate open videos or channels are documented. Source | Flow · TabsThe desktop beta can open pages in optional browser-style tabs, each keeping its own video. Android navigation tabs organize app sections only. Source | Morphe · TabsUses the YouTube app's navigation. No browser-style tabs for keeping separate videos or channels open are documented. Source | YouTube · TabsThe website can be opened in multiple browser tabs. The mobile app does not provide tabs for keeping separate videos or channels open. Source | ||
| Background audio | Flow · Background audioAndroid supports background audio playback while using other apps or with the screen off. Source | Morphe · Background audioRemoves background playback restrictions without Premium, including for kids videos. Background play for Shorts can be turned off separately. Source | YouTube · Background audioMobile background playback requires a paid plan. Premium Lite includes eligible non-music videos, excluding Shorts; full Premium covers music too. Desktop browser audio can continue in another tab. Source | |||||
| Recommendation engine | OpenTubeX · Recommendation engineOptional Home recommendations learn from viewing activity, saved videos, and feedback, with Familiar, Balanced, and Explore discovery modes. Discovery ranks a limited candidate pool from related videos, selected channels, and searches. See the candidate collection. Source | FreeTube · Recommendation engineShows related videos supplied by YouTube or Invidious and regional trending feeds. No built-in personalized recommendation engine that learns from local viewing activity is documented. Source | Grayjay · Recommendation engineHome aggregates recommendations supplied by its source platforms. Signing into a supported source can provide personalized recommendations; Grayjay does not provide its own independent recommendation engine. Source | NewPipe · Recommendation engineRelated videos and trending feeds are available, but a personalized feed learned from local viewing activity remains a feature request. Source | LibreTube · Recommendation engineReleased version 32.1 offers trending, subscription, and related-video feeds. No built-in personalized recommendation engine that learns from local viewing activity is documented. Source | Flow · Recommendation engineFlowNeuro learns from watches, skips, likes, dislikes, searches, and viewing duration. It ranks recommendations locally, including time-of-day preferences and topic diversity, without a Google account or a recommendation server. Source | Morphe · Recommendation engineUses YouTube's recommendations, which Google personalizes on its servers from your account activity. Patches can hide recommendation surfaces but do not add an on-device engine. Source | YouTube · Recommendation engineYouTube personalizes Home, Shorts, and other surfaces using viewing and search history, subscriptions, likes, dislikes, and feedback. Processing happens on its servers; Home recommendations depend primarily on watch history. Source |
| Distraction-free toggles | OpenTubeX · Distraction-free togglesHide Shorts, recommendations, comments, counts, and navigation sections. Filter subscription feeds by videos, Shorts, live streams, and posts; hide watched content or block channels and title keywords. Source | FreeTube · Distraction-free togglesHide recommendations, comments, counts, and channel tabs such as Shorts. Filter subscription feeds by content type, hide watched videos, and block channels or title keywords. Source | Grayjay · Distraction-free togglesAndroid can hide the recommendations tab and customize visible navigation tabs. These are narrower controls than a full set of Shorts, comments, and subscription-content hiding toggles. Source | NewPipe · Distraction-free togglesHide related videos, comments, and metadata boxes; choose the tabs on the home page and disable automatic queueing. A global toggle to hide Shorts is not documented. Source | LibreTube · Distraction-free togglesReleased version 32.1 filters feeds by videos, Shorts, and live streams, and can hide watched or upcoming videos. App settings can also hide related videos and search suggestions. These controls do not hide Shorts everywhere. Source | Flow · Distraction-free togglesAndroid can hide Shorts across the app, related videos, comments, watched feed items, and navigation sections. Recommendation controls can also block topics and channels. Source | Morphe · Distraction-free togglesHide Shorts, related videos, end-screen suggestions, comments, and navigation bar buttons. Keyword filters hide matching videos in feeds and search. Source | YouTube · Distraction-free togglesShow fewer Shorts and mark recommendations as Not interested or Don't recommend channel. Removing and disabling watch history can remove Home recommendations; there is no equivalent general set of interface-hiding toggles. Source |
| Watch queue | OpenTubeX · Watch queueAdd videos to the watch queue or play them next, then remove or reorder items in the side panel. Source | FreeTube · Watch queuePlaylists and autoplay are available, but a separate watch queue remains an open feature request. Source | Grayjay · Watch queueAdd videos to a playback queue. Android includes a queue editor for managing the upcoming videos. Source | NewPipe · Watch queueEnqueue videos, choose a video to play next, and manage the player queue. Automatic addition of related videos is optional. Source | LibreTube · Watch queueReleased version 32.1 includes Add to queue and queue controls, with optional insertion of related videos. Source | Flow · Watch queueAndroid includes a video queue with removal and reordering controls, alongside its separate music queue. The desktop beta also supports playback queues. Source | Morphe · Watch queueAdd videos to a queue from the feed menu, using either Morphe's queue or a native queue built on YouTube's playlist interface. Source | YouTube · Watch queueQueue videos for free on desktop and the web. Queueing on phones and tablets requires YouTube Premium; a browser queue is lost when the browser closes unless saved as a playlist. Source |
| Live chat | OpenTubeX · Live chatShows chat during live streams and premieres, and replays chat on past streams in sync with playback. Chat can also be docked in fullscreen. Requires a direct connection to YouTube rather than Invidious. Source | FreeTube · Live chatShows chat during live streams and upcoming premieres. There is no chat replay for past streams, and it requires a direct connection to YouTube rather than Invidious. Source | Grayjay · Live chatThe YouTube plugin provides live chat, and Android and desktop replay chat on past streams. Source | Flow · Live chatAndroid shows chat during live streams, including in a fullscreen side panel, without replay for past streams. The desktop beta also replays chat on finished streams in sync with playback. Source | Morphe · Live chatKeeps YouTube's live chat and chat replay. A patch can also show chat as Niconico-style comments that scroll across the video. Source | YouTube · Live chatLive chat runs during live streams and premieres. Archived streams can replay chat alongside the video unless the creator turns replay off or edits the stream. Source | ||
| Sleep timer | OpenTubeX · Sleep timerStop playback after a chosen duration, when the current chapter ends, or when the current video ends. Source | Grayjay · Sleep timerNo built-in sleep timer is documented. Using a separate system or media timer is an external workflow. Source | NewPipe · Sleep timerNo built-in sleep timer is documented in the official app. Separate Android sleep-timer apps are an external workflow. Source | LibreTube · Sleep timerReleased version 32.1 includes a sleep timer with a custom duration and quick choices of 10, 20, 30, 45, or 60 minutes. Source | Flow · Sleep timerA shared sleep timer stops video or music playback after a chosen duration, with an optional action to close the app. Source | Morphe · Sleep timerUses the sleep timer built into the YouTube app; Morphe does not add a separate one. Source | YouTube · Sleep timerUse the player's Sleep timer setting to pause the video automatically after a chosen duration. Source | |
| Cast to a TV | OpenTubeX · Cast to a TVGoogle Cast and FCast casting are supported on Android and desktop. DLNA casting is supported on Android, desktop and iOS/iPadOS. Source | FreeTube · Cast to a TVNo built-in TV casting. DLNA and UPnP support remains an open feature request; casting through an external player is a separate workflow. Source | Grayjay · Cast to a TVSupports FCast and Google Cast on Android and desktop. FCast is recommended; Google Cast may need the device to proxy separate audio and video streams. The FAQ still lists AirPlay, but the current apps no longer connect to AirPlay devices. Source | NewPipe · Cast to a TVThe Play with Kodi option sends playback to a Kodi media center through the separate Kore remote app. This is not built-in Google Cast or AirPlay casting. Source | LibreTube · Cast to a TVReleased version 32.1 has no built-in TV casting. Opening a video in a separate casting-capable player is an external workflow. Source | Flow · Cast to a TVAndroid casts to compatible DLNA/UPnP devices without Google Play Services. This is not Google Cast or AirPlay support. Source | Morphe · Cast to a TVKeeps YouTube's Google Cast casting to TVs and speakers. Root mount installs use Google Play services; non-root installs need MicroG-RE 7.3.0 or later. Source | YouTube · Cast to a TVCast from the mobile app or a supported desktop browser to compatible TVs and streaming devices. The mobile app can also link to the TV app using a TV code. Source |
| Library & sync | ||||||||
| Posts | OpenTubeX · PostsChannel posts appear in a Posts tab of the subscriptions feed and in the Posts tab on channel pages. Source | FreeTube · PostsChannel posts appear in a Posts tab of the subscriptions feed and in the Posts tab on channel pages. Source | Grayjay · PostsThe YouTube plugin only provides videos, live streams, and Shorts, so YouTube channel posts are not shown in the subscriptions feed or on channel pages. Source | NewPipe · PostsYouTube channel posts are not shown in the subscriptions feed or on channel pages. Source | LibreTube · PostsReleased version 32.1 does not show YouTube channel posts in the subscriptions feed or on channel pages. Source | Flow · PostsChannel pages have a posts tab with comments, but the subscriptions feed does not include posts. Source | Morphe · PostsKeeps YouTube's channel posts and adds options to translate posts and download their images. Source | YouTube · PostsPosts appear on the channel page and may also show up on the home page and in the Subscriptions feed. Source |
| Notifications | OpenTubeX · NotificationsGet reminders for scheduled live streams and premieres, plus new-upload alerts for selected channels and feed types on desktop and Android. New-upload alerts are unavailable on experimental iOS. Source | FreeTube · NotificationsNo built-in system notifications for scheduled live streams, premieres, or new uploads are documented. Subscription feeds can be refreshed in the app. Source | Grayjay · NotificationsAndroid supports scheduled-content reminders and new-content notifications for followed channels. Availability depends on the source plugin and background-update settings. Source | NewPipe · NotificationsPeriodically checks selected subscriptions and notifies about new feed entries. No separate start-time reminders for scheduled live streams or premieres are documented. Source | LibreTube · NotificationsPeriodically checks subscriptions for new uploads, with per-channel controls. Released version 32.1 excludes upcoming videos from these alerts and has no separate scheduled-start reminders. Source | Flow · NotificationsAndroid supports new-upload alerts for selected subscriptions and reminders for upcoming live streams and premieres. Delivery depends on Android background-work scheduling. Source | Morphe · NotificationsKeeps YouTube's upload, live-stream, and premiere notifications. Without root, push notifications go through MicroG-RE. Source | YouTube · NotificationsSupports channel upload and live-stream alerts, plus premiere reminders. Sign in and allow notifications; not every upload results in an alert. Source |
| Sync between devices | OpenTubeX · Sync between devicesOptional sync covers subscriptions, playlists, history, channel settings, profiles, tabs, and settings. Source | FreeTube · Sync between devicesNo built-in account sync. Copying database files or using an external file-sync tool is a separate workflow. Source | Grayjay · Sync between devicesPaired-device sync includes subscriptions, playlists, watch later, subscription groups, and history. Devices need a working connection to each other. Source | NewPipe · Sync between devicesImport and export transfer your data manually; they are not automatic device sync. Source | LibreTube · Sync between devicesReleased version 32.1 supports Piped account sync for subscriptions and playlists. Watch history and settings stay local; the new LibreTube sync server is not included in this release. Source | Flow · Sync between devicesOptional paired-device sync exchanges playlists, history, likes, subscriptions and groups, notes, selected settings, and the video and music recommendation profiles. Supports Android and the desktop beta; devices need a direct connection. Source | Morphe · Sync between devicesSubscriptions and playlists follow your signed-in Google account, as in the official app. Morphe settings stay on the device and are copied manually through Import / Export. Source | YouTube · Sync between devicesSubscriptions and playlists follow your signed-in Google account across devices. This does not mean every device-specific preference is synced. Source |
| Sync watch history | NewPipe · Sync watch historyHistory can be included in manual database backups, not automatically synced between devices. Source | LibreTube · Sync watch historyIn released version 32.1, Piped account sync does not include watch history or timestamps; these remain local. Source | Flow · Sync watch historyWatch history is a selectable collection in paired-device sync, including sync with the desktop beta. Source | Morphe · Sync watch historyWatch history is saved to your Google account when enabled. Morphe warns when a DNS blocker stops history from being saved. Source | YouTube · Sync watch historySigned-in watch history is saved to your Google account when enabled. You can pause or delete it. Source | |||
| Watch statistics | FreeTube · Watch statisticsWatch history is available, but no personal watch-time dashboard is documented. Video playback statistics describe the current stream, not your viewing habits. Source | Grayjay · Watch statisticsWatch metrics show watch time and views for each creator in the Creators tab. Source | NewPipe · Watch statisticsThe Most Played view summarizes frequently played videos. It is not a daily or weekly watch-time dashboard. Source | LibreTube · Watch statisticsWatch history and playback positions are available, but no personal watch-time dashboard is documented. Source | Flow · Watch statisticsFlow Recap charts time per day for a month and per month for a year, with weekday, time-of-day, and top-channel breakdowns. The Wellbeing page shows daily watch time for the past week. Source | Morphe · Watch statisticsUses YouTube's Time watched page for signed-in users with watch history enabled. Morphe does not add its own statistics. Source | YouTube · Watch statisticsTime watched shows daily average, today, yesterday, and the past seven days for signed-in users with watch history enabled. Excludes deleted history, private viewing, YouTube Music, and YouTube TV. YouTube reports a known error in desktop watch-time totals. Source | |
| Add-ons | ||||||||
OpenTubeX · SponsorBlockCategory skipping, mute segments, full-video labels, channel whitelisting, and in-player submissions. Source | FreeTube · SponsorBlockSupports SponsorBlock segment skipping, category controls, and a list of channels to exclude. In-player submissions, mute segments, and full-video labels are not documented. Source | Grayjay · SponsorBlockEnable SponsorBlock in the YouTube source settings for category-based manual or automatic skipping. In-player submissions, mute segments, and full-video labels are not documented. Source | NewPipe · SponsorBlockThe official NewPipe app does not include SponsorBlock. Unofficial forks add support for it. Source | LibreTube · SponsorBlockIncludes segment skipping, voting, submissions, and full-video labels. Released version 32.1 does not offer mute-segment or full-video-label submission controls. Source | Flow · SponsorBlockAndroid supports category-based skipping and muting, plus in-player segment submissions. Full-video labels and channel whitelisting are not documented. Source | Morphe · SponsorBlockSupports category-based skipping, highlights, voting, in-player segment submissions, and channel whitelisting. Mute segments and full-video labels are not documented. Source | YouTube · SponsorBlockSponsorBlock works on the YouTube website through a browser extension. It is not built into YouTube and does not add SponsorBlock to the official Android or iOS app. Source | |
OpenTubeX · DeArrowOptional DeArrow titles and thumbnails replace the originals with community alternatives. Source | Grayjay · DeArrowThe official YouTube plugin includes DeArrow titles and thumbnails, with separate controls for video lists. Source | NewPipe · DeArrowThe official NewPipe app does not include DeArrow title or thumbnail replacement. Source | LibreTube · DeArrowReleased version 32.1 includes optional DeArrow titles and thumbnails, plus a submission dialog. Source | Flow · DeArrowAndroid fetches community titles and thumbnails from DeArrow and caches the results. Source | Morphe · DeArrowAdds DeArrow titles and thumbnails, with controls for individual feeds and a choice of thumbnail styles. Source | YouTube · DeArrowDeArrow is available through a browser extension on the YouTube website. It is not built into the official mobile apps. Source | ||
OpenTubeX · Return YouTube DislikeOptionally show estimated dislike counts from Return YouTube Dislike. Source | FreeTube · Return YouTube DislikeNo built-in Return YouTube Dislike integration is documented. Source | Grayjay · Return YouTube DislikeEnable Return YouTube Dislike in the YouTube source settings to show estimated dislike counts. Source | NewPipe · Return YouTube DislikeThe official NewPipe app does not include Return YouTube Dislike. Separate forks such as PipePipe add it. Source | LibreTube · Return YouTube DislikeCan fetch estimated dislike counts directly from Return YouTube Dislike. Source | Morphe · Return YouTube DislikeShows estimated dislike counts from Return YouTube Dislike, and can add like counts and like ratios to feed thumbnails. Source | YouTube · Return YouTube DislikeReturn YouTube Dislike adds estimated dislike counts to the YouTube website through a browser extension. It is not built into the official apps. Source | ||
| AiSList | OpenTubeX · AiSListOptionally filter channels using AiSList's community-maintained lists of AI-generated content. Source | Grayjay · AiSListNo built-in AiSList channel filtering is documented in the app or its YouTube source settings. Source | LibreTube · AiSListNo built-in AiSList channel filtering is documented in released version 32.1. Source | Morphe · AiSListOptionally hide videos from channels flagged by AiSList in Home and search results, and report AI channels from the video menu. Filtering happens on your device. Source | YouTube · AiSListThe AiBlock browser extension uses AiSList to filter channels on the YouTube website. It is not built into the official apps. Source | |||
| Privacy | ||||||||
| Local-first | OpenTubeX · Local-firstSubscriptions, playlists, history, and settings are stored on your device. An account is only needed if you choose to sync. Source | FreeTube · Local-firstSubscriptions, playlists, history, and settings are stored locally, without an account. Source | Grayjay · Local-firstSubscriptions, playlists, and history are stored on your device. Platform sign-in and paired-device sync are optional. Source | NewPipe · Local-firstSubscriptions, playlists, and history are stored on your device, without an account. Source | LibreTube · Local-firstLibrary data stays on your device when signed out. Optional Piped accounts store subscriptions and playlists on the selected instance; history stays local. Source | Flow · Local-firstHistory, subscriptions, playlists, preferences, and recommendation data stay on the device by default. Device sync is optional. Source | Morphe · Local-firstSubscriptions, playlists, and history depend on your Google account, as in the official app. Only Morphe's own settings are stored on the device. Source | YouTube · Local-firstSubscriptions and playlists depend on a Google account. Signed-in watch history is stored in that account when enabled. Source |
| Alternative backends | OpenTubeX · Alternative backendsChoose an Invidious instance or your own Yattee server to retrieve video and channel information. Stream delivery and direct fallback have separate settings. Source | FreeTube · Alternative backendsChoose an Invidious instance as an alternative to the built-in Local API. Video proxying and fallback settings determine which requests still connect directly to YouTube. Source | Grayjay · Alternative backendsThe official YouTube plugin connects to YouTube. It does not offer an Invidious, Piped, or Yattee backend selector. Source | NewPipe · Alternative backendsRetrieves YouTube data with NewPipeExtractor. No Invidious, Piped, or Yattee backend option is documented in the official app. Source | LibreTube · Alternative backendsReleased version 32.1 can retrieve YouTube data through a selected Piped instance. Full Local Mode instead retrieves data directly from YouTube. Source | Flow · Alternative backendsAndroid 3.0.0 retrieves YouTube data through its own InnerTube client. No Invidious, Piped, or Yattee backend option is documented. Source | Morphe · Alternative backendsUses the official YouTube app and its backend. The patches do not add an Invidious, Piped, or Yattee backend option. Source | YouTube · Alternative backendsThe official apps and website use YouTube services and do not offer alternative backends. Source |
| No telemetry | OpenTubeX · No telemetryViewing statistics and history stay local by default. Optional sync sends selected data to your chosen server; playback and optional services still expose network metadata. Source | FreeTube · No telemetryViewing data stays local. YouTube and optional services can still see requests and your IP address; this is not anonymity. Source | Grayjay · No telemetryAndroid and desktop send startup telemetry with a persistent random identifier and app/platform information. Android also includes device details and enabled source IDs. These payloads exclude watched videos and searches. See the desktop implementation. Source | NewPipe · No telemetryNo automatic usage reporting. Bug reports are sent only when you choose to submit them. Media services still receive playback requests. Source | LibreTube · No telemetryIts privacy policy states that it does not gather app-usage data or use tracking libraries. Direct playback and optional Piped services still receive requests. Source | Flow · No telemetryRecommendations are computed locally without app-usage reporting. YouTube and optional services such as SponsorBlock and DeArrow still receive network requests. Source | Morphe · No telemetryMorphe adds no analytics to patched apps, but the YouTube app still sends Google its usual activity data. SponsorBlock, Return YouTube Dislike, and similar features contact their own services. Source | YouTube · No telemetryGoogle collects activity such as videos watched, searches, and interactions. History and personalization controls affect storage and use; Premium does not remove this data collection. Source |
| No proprietary libraries | OpenTubeX · No proprietary librariesNo proprietary runtime SDK is declared in the checked app dependencies. See the Android dependencies. Operating-system components and remote YouTube services are outside this comparison. Source | FreeTube · No proprietary librariesThe official desktop app declares open-source dependencies, including Electron and its playback and extraction libraries. No proprietary runtime SDK is declared. This does not cover unofficial mobile forks, operating-system components, or remote YouTube services. Source | Grayjay · No proprietary librariesAndroid declares Stripe Android 22.0.0. Its payment module depends on Google's proprietary Play services Wallet client library. Stripe itself is open source. This payment dependency does not establish that ordinary video playback requires Play services; the separate desktop app has a different dependency stack. Source | NewPipe · No proprietary librariesNewPipe explicitly avoids proprietary libraries and frameworks such as Google Play services. Playback still contacts the selected media service; this is not a claim that YouTube itself is open source. Source | LibreTube · No proprietary librariesReleased version 32.1 declares open-source app libraries, without a Google Play services or other proprietary runtime SDK dependency. YouTube is still a proprietary network service; operating-system components are outside this comparison. Source | Flow · No proprietary librariesAndroid 3.0.0 declares open-source runtime libraries and implements DLNA casting without Google Play services. The desktop beta also uses open-source app libraries. The GitHub flavor adds an updater and Discord integration, rather than a proprietary Discord SDK. System WebViews and remote services are outside this comparison. Source | YouTube · No proprietary librariesThe official apps and web client use proprietary YouTube software and do not provide an auditable, fully open-source client stack. Their complete library inventory is not public. Browser playback does not require Android Google Play services. Source | |
| License | OpenTubeX · LicenseOpen-source app licensed under the GNU Affero General Public License version 3. Source | FreeTube · LicenseOpen-source app licensed under the GNU Affero General Public License version 3. Source | NewPipe · LicenseOpen-source app licensed under the GNU General Public License version 3 or later. Source | LibreTube · LicenseOpen-source app licensed under the GNU General Public License version 3 or later. Source | Flow · LicenseThe Android app and desktop companion are open source under the GNU General Public License version 3. Source | Morphe · LicenseMorphe Manager and the patches are licensed under GPLv3, with additional Section 7 terms on attribution and branding. The patched YouTube app remains proprietary. Source | YouTube · LicenseThe official YouTube service and apps are proprietary and governed by YouTube's Terms of Service; they are not published under an open-source app license. Source | |
Maintained by OpenTubeX. Sources checked . Support can vary by release and platform.
Third-party names and logos are the property of their respective owners and appear here only to identify the products compared. OpenTubeX is not affiliated with or endorsed by those owners.