Convert Figma logo to code with AI

FreeTubeApp logoFreeTube

An Open Source YouTube app for privacy

13,099
813
13,099
418

Top Related Projects

3,219

A fork of NewPipe with SponsorBlock functionality.

18,553

SmartTube - an advanced player for set-top boxes and tvs running Android OS

16,025

Invidious is an alternative front-end to YouTube

Popcorn Time is a multi-platform, free software BitTorrent client that includes an integrated media player ( Windows / Mac / Linux ) A Butter-Project Fork

131,248

Command-line program to download videos from YouTube.com and other video sites

Quick Overview

FreeTube is an open-source, privacy-focused YouTube client for desktop. It allows users to watch YouTube videos without ads, tracking, or the need for a Google account. FreeTube aims to provide a more private and customizable YouTube viewing experience.

Pros

  • Enhanced privacy: No ads, tracking, or account requirements
  • Customizable interface with various themes and layouts
  • Ability to import subscriptions from YouTube
  • Lightweight and cross-platform (Windows, macOS, Linux)

Cons

  • Some features may be limited compared to the official YouTube website
  • Potential for slower updates compared to the official YouTube app
  • May occasionally encounter issues with video playback or compatibility
  • Relies on third-party APIs, which could potentially be blocked by YouTube

Getting Started

To get started with FreeTube:

  1. Visit the FreeTube releases page on GitHub.
  2. Download the appropriate version for your operating system.
  3. Install the application following the standard procedure for your OS.
  4. Launch FreeTube and start enjoying YouTube videos with enhanced privacy.

For developers who want to contribute or run FreeTube from source:

# Clone the repository
git clone https://github.com/FreeTubeApp/FreeTube.git

# Navigate to the project directory
cd FreeTube

# Install dependencies
npm install

# Run the application in development mode
npm start

Note: Make sure you have Node.js and npm installed on your system before running these commands.

Competitor Comparisons

3,219

A fork of NewPipe with SponsorBlock functionality.

Pros of NewPipe

  • Lightweight and resource-efficient, ideal for older or low-end Android devices
  • Supports background playback and picture-in-picture mode
  • Allows downloading audio and video content for offline viewing

Cons of NewPipe

  • Limited to Android platform, not available for desktop or iOS users
  • Lacks some advanced features present in FreeTube, such as sponsorblock integration
  • May require more frequent updates to maintain compatibility with YouTube changes

Code Comparison

NewPipe (Java):

@Override
protected void onLoadFinished() {
    super.onLoadFinished();
    showContentWithAnimation(scrollToTop);
}

FreeTube (JavaScript):

methods: {
  async getVideoData() {
    this.isLoading = true
    let result
    if (this.backendPreference === 'local') {
      result = await this.getLocalVideoInfo()
    } else {
      result = await this.getInvidioVideoInfo()
    }
    // ... (processing result)
  }
}

Both projects aim to provide a privacy-focused YouTube experience, but they target different platforms and user bases. NewPipe is more focused on mobile performance and offline capabilities, while FreeTube offers a cross-platform desktop solution with additional features. The code snippets highlight the different programming languages and approaches used in each project.

18,553

SmartTube - an advanced player for set-top boxes and tvs running Android OS

Pros of SmartTube

  • Specifically designed for Android TV, offering a tailored experience for large screens
  • Includes advanced features like SponsorBlock and Return YouTube Dislike integration
  • Supports 4K and 8K video playback on compatible devices

Cons of SmartTube

  • Limited to Android TV platform, not available for desktop or mobile devices
  • May require sideloading on some devices, potentially complicating installation
  • Less focus on privacy features compared to FreeTube

Code Comparison

FreeTube (JavaScript):

async function getVideoData(videoId) {
  const info = await ytdl.getInfo(videoId);
  return {
    title: info.videoDetails.title,
    views: info.videoDetails.viewCount,
    // ... other properties
  };
}

SmartTube (Java):

private void loadVideoInfo(String videoId) {
    YouTubeMediaItem mediaItem = YouTubeMediaItem.from(videoId);
    mediaItem.getObservable().subscribe(
        item -> updateUIWithVideoInfo(item),
        error -> handleError(error)
    );
}

Both projects aim to provide alternative YouTube clients, but with different focuses. FreeTube prioritizes privacy and cross-platform support, while SmartTube is tailored for Android TV users with advanced playback features. The code snippets illustrate their different approaches to fetching video information, with FreeTube using JavaScript and ytdl library, and SmartTube utilizing Java with RxJava for asynchronous operations.

16,025

Invidious is an alternative front-end to YouTube

Pros of Invidious

  • Server-side application, accessible through any web browser without installation
  • Supports multiple instances, enhancing privacy and reducing single point of failure
  • Offers additional features like comment viewing without account

Cons of Invidious

  • Requires server setup and maintenance
  • Performance may vary depending on instance load and server resources
  • Less integrated with desktop environment compared to native applications

Code Comparison

FreeTube (TypeScript):

async getVideoData(videoId: string): Promise<Video> {
  const response = await this.apiService.getVideoInfo(videoId);
  return this.mapResponseToVideo(response);
}

Invidious (Crystal):

def get_video_info(id)
  video = get_video(id)
  json = video.to_json(locale: locale)
  return json
end

Both projects aim to provide privacy-focused YouTube alternatives, but with different approaches. FreeTube is a desktop application offering a more native experience, while Invidious is a server-side solution accessible through web browsers. The code snippets show similar functionality for retrieving video information, with FreeTube using TypeScript and Invidious using Crystal.

Popcorn Time is a multi-platform, free software BitTorrent client that includes an integrated media player ( Windows / Mac / Linux ) A Butter-Project Fork

Pros of Popcorn Time

  • Offers a wider range of content, including movies and TV shows
  • Provides a more Netflix-like streaming experience
  • Includes features like subtitles and Chromecast support

Cons of Popcorn Time

  • Legal concerns due to its use of torrents for streaming
  • Less focus on privacy and data protection
  • More complex setup and potential security risks

Code Comparison

FreeTube (JavaScript):

async function getVideoData(videoId) {
  const videoInfo = await ytdl.getInfo(videoId);
  return videoInfo.formats.map(format => ({
    itag: format.itag,
    quality: format.qualityLabel,
    url: format.url
  }));
}

Popcorn Time (JavaScript):

function streamTorrent(magnetUri) {
  const engine = torrentStream(magnetUri);
  engine.on('ready', () => {
    const file = engine.files.find(file => file.name.endsWith('.mp4'));
    file.createReadStream().pipe(res);
  });
}

The code snippets highlight the different approaches: FreeTube focuses on fetching video data from YouTube, while Popcorn Time deals with torrent streaming. FreeTube's code is more straightforward and aligned with legal video platforms, whereas Popcorn Time's code involves more complex torrent handling.

131,248

Command-line program to download videos from YouTube.com and other video sites

Pros of youtube-dl

  • Command-line tool with extensive options for downloading and processing videos
  • Supports a wide range of video hosting platforms beyond YouTube
  • Highly flexible and scriptable for automation and integration into other tools

Cons of youtube-dl

  • Requires technical knowledge to use effectively
  • No built-in GUI, which may be less user-friendly for some users
  • Primarily focused on downloading, lacking features for video playback and management

Code Comparison

FreeTube (Vue.js component):

<template>
  <div class="video-player">
    <video ref="videoPlayer" :src="videoUrl" controls></video>
  </div>
</template>

<script>
export default {
  props: ['videoUrl'],
  // ... other component logic
}
</script>

youtube-dl (Python script):

import youtube_dl

ydl_opts = {}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download(['https://www.youtube.com/watch?v=dQw4w9WgXcQ'])

FreeTube is a desktop application built with Electron and Vue.js, providing a user-friendly interface for watching YouTube videos without ads or tracking. It focuses on privacy and offers features like local subscriptions and playlists.

youtube-dl is a command-line program for downloading videos from YouTube and other platforms. It's more versatile in terms of supported sites but requires more technical expertise to use effectively.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

FreeTube is an open source desktop YouTube player built with privacy in mind. Use YouTube without advertisements and prevent Google from tracking you with their cookies and JavaScript. Available for Windows (10 and later), Mac (macOS 10.15 and later) & Linux thanks to Electron.

Download FreeTube

Build status Translation status


ScreenshotsHow does it work?FeaturesDownload LinksContributingLocalizationContactDonateLicense

WebsiteBlogDocumentationFAQDiscussions


[!NOTE] FreeTube is currently in Beta. While it should work well for most users, there are still bugs and missing features that need to be addressed.

If you have an idea or if you found a bug, please submit a GitHub issue so that we can track it. Please search the existing issues before submitting to prevent duplicates!

Screenshots

How does it work?

FreeTube uses a built in extractor to grab and serve data / videos. The Invidious API can also optionally be used. FreeTube does not use any official APIs to obtain data. While YouTube can still see your video requests, it can no longer track you using cookies or JavaScript. Your subscriptions and history are stored locally on your computer and never sent out.

[!IMPORTANT]
Using a VPN or Tor is highly recommended to hide your IP while using FreeTube.

Features

  • Watch videos without ads
  • Use YouTube without Google tracking you using cookies and JavaScript
  • Two extractor APIs to choose from (Built in or Invidious)
  • Subscribe to channels without an account
  • Connect to an externally setup proxy such as Tor
  • View and search your local subscriptions, history, and saved videos
  • Organize your subscriptions into "Profiles" to create a more focused feed
  • Export & import subscriptions
  • Youtube Trending
  • Youtube Chapters
  • Most popular videos page based on the set Invidious instance
  • SponsorBlock
  • Open videos from your browser directly into FreeTube (with extension)
  • Watch videos using an external player
  • Full Theme support
  • Make a screenshot of a video
  • Multiple windows
  • Mini Player (Picture-in-Picture)
  • Keyboard shortcuts
  • Option to show only family friendly content
  • Show/hide functionality or elements within the app using the distraction free settings
  • View channel community posts
  • View most age restricted videos

Browser Extension

FreeTube is supported by the Privacy Redirect and LibRedirect extensions, which will allow you to open YouTube links into FreeTube.

[!IMPORTANT]
You must enable the option within the advanced settings of the extension for it to work.

[!NOTE] This extension does not work on Linux portable builds!

If you have issues with the extension working with FreeTube, please create an issue in this repository instead of the extension repository.

Download Links

Official Downloads

[!CAUTION] FreeTube is only supported on Windows 10 and later, macOS 10.15 and above, and various Linux distributions. Installing it on unsupported systems may result in unexpected issues.

Automated Builds (Nightly / Weekly)

[!WARNING] Use these builds at your own risk. These are pre-release versions and are only intended for people that want to test changes early and are willing to accept that things could break from one build to another.

Builds are automatically created from changes to our development branch via GitHub Actions.

The first build with a green check mark is the latest build.

[!IMPORTANT] You will need to have a GitHub account to download these builds.

Unofficial Downloads

[!WARNING] These builds are maintained by the community. While they should be safe, download at your own risk. There may be issues with using these versus the official builds. Any issues specific with these builds should be sent to their respective maintainer. Make sure u always try an official download before reporting your issue to us!

Contributing

Thank you very much to the People and Projects that make FreeTube possible!

If you like to get your hands dirty and want to contribute, we would love to have your help. Send a pull request and someone will review your code.

[!IMPORTANT] Please follow the Contribution Guidelines before sending your pull request.

Localization

Translation status

We are actively looking for translations! We use Weblate to make it easy for translators to get involved. Click on the badge above to learn how to get involved.

For the Linux Flatpak, the desktop entry comment string can be translated at our Flatpak repository.

Contact

If you ever have any questions, feel free to ask it on our Discussions page. Alternatively, you can email us at FreeTubeApp@protonmail.com or you can join our Matrix Community.

[!IMPORTANT] Don't forget to check out the rules before joining.

Donate

If you enjoy using FreeTube, you're welcome to leave a donation using the following method.

  • Bitcoin Address: 1Lih7Ho5gnxb1CwPD4o59ss78pwo2T91eS

While your donations are much appreciated, only donate if you really want to. Donations are used for keeping the website up and running and eventual code signing costs.

[!TIP] If you are using the Invidious API then we recommend that you donate to the instance that you use. You can also donate to the Invidious team or the Local API developer.

License

GNU AGPLv3 Image

FreeTube is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.