Skip to content
 
 

Latest commit

 

History

3,466 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moonfin

Premium Jellyfin & Emby client for mobile, tablet, desktop, TV, and web


moonfin_1920x1080

License Release Github Downloads Google Play Downloads BuyMeACoffee Discord

← Back to main Moonfin project

Moonfin is a media client for Jellyfin and Emby servers, built with Flutter. One shared codebase powers phones and tablets, Windows, macOS, and Linux, Android TV, Fire TV, and Apple TV, and the browser. It's made for people who want a modern, customizable experience on every screen they own.

Where to get it

Platform Download
Android Mobile / TV Google Play
Fire TV Amazon Appstore
iOS App Store
Linux Arch Linux
Linux
macOS App Store
Homebrew
tvOS App Store
Windows Release

Supported Servers

Server Minimum Version Status
Jellyfin 10.8.0+ Full support
Emby 4.8.0.0+ Full support

Platform Support

Platform Minimum Version Status
Android 7.0 (API 24) Full support
Android TV / Google TV Android 7.0 (API 24) Full support
Fire TV Fire OS 6 Full support
iOS 16.0 Full support
Apple TV (tvOS) 17.0 Full support
macOS 14.0 (Sonoma) Full support
Windows 10 (x64 and ARM64) Full support
Linux GTK 3+, CMake 3.13+ Full support (Wayland only)
Web Modern browsers (installable PWA) Full support

Android TV, Fire TV, and Apple TV ship from this same codebase with a TV-tuned interface and D-pad navigation. Fire TV runs the same native backend as Android TV. Web runs as an installable PWA through the Moonbase server plugin.

Features

  • One codebase, every screen. Phones, tablets, desktop, Android TV, Apple TV, and web, with navigation tuned for touch, pointer, and remote.
  • Playback that just works. Wide codec support including AV1, HEVC, Dolby Vision, Dolby Atmos, HDR10+, and audio passthrough. Dolby Vision Profile 7 direct plays on Apple and Android TV, converted in real time instead of transcoded. See Playback and Codecs.
  • Offline downloads in original or smaller server-transcoded quality, with automatic folder organization and offline subtitles. See Downloads.
  • Ebooks and audiobooks. Read EPUB, MOBI, AZW/AZW3, PDF, and comic archives. Play M4B audiobooks with chapter navigation.
  • Retro games browsed and played in-app from a server game library, with gamepad support and save states that sync between devices. See Retro Games.
  • Multi-server unified library that merges several Jellyfin and Emby servers into one browsable, searchable UI.
  • A setup wizard on first run that asks how you want the app to look, with live previews built from your own artwork.
  • Featured media bar with six layouts, plus optional in-bar trailer previews.
  • Themes and a Theme Store with a built-in editor, server-side sync, and an OLED mode for true blacks.
  • An integrated admin panel for settings, users, libraries, logs, devices, and analytics, plus a messages window for notes from your server admin.
  • Discovery with Seerr built into the details screen, with trending, popular, and upcoming rows and request status overlays.
  • Live TV and DVR with a program guide and recording management.
  • Trickplay scrubbing as a single thumbnail, a filmstrip, or full screen, on both Jellyfin and Emby.
  • Cinema Mode and segment skipping for pre-rolls, intros, credits, and SponsorBlock.
  • Casting and remote control over Google Cast, DLNA, and AirPlay, plus control of other Jellyfin devices on your network.
  • SyncPlay for synchronized group watching.
  • Personal ratings as a like, five stars, or a score out of ten, usable to sort or filter a library.
  • Ratings from MDBList and TMDB, home row customization, parental controls with PIN, and in-app update checks.

The full list is on the Features wiki page.

Screenshots

Tablet and desktop screenshot 1 Tablet and desktop screenshot 2 Phone screenshot 1 Phone screenshot 2

More in the Screenshots gallery.

Installation

The store links above are the easy route. To install a file yourself, download it from the Releases page and pick the one for your device:

Platform File
Android (phones and tablets) Moonfin_Android_v<version>.apk
Android TV / Google TV / Fire TV Moonfin_AndroidTV_v<version>.apk
iOS Moonfin_iOS_v<version>_unsigned.ipa (for self-signing)
Apple TV Moonfin_tvOS_v<version>_unsigned.ipa (for self-signing)
Windows x64 Moonfin_Windows_v<version>.exe
Windows ARM64 Moonfin_WindowsARM64_v<version>.exe
macOS Moonfin_macOS_v<version>.dmg
Linux x64 Moonfin_Linux_v<version>.<ext> (AppImage, deb, rpm, snap, flatpak, tarball)
Linux ARM64 Moonfin_LinuxARM64_v<version>.<ext> (same formats)
Web Served as a PWA by the Moonbase server plugin, no download needed

On Arch Linux, install from the AUR with yay -S moonfin (or paru, pamac build).

Per-platform notes are on Installation.

Building

Flutter stable 3.47+ and Dart 3.13+ are the only prerequisites.

git clone https://github.com/Moonfin-Client/Moonfin-Core.git
cd Moonfin-Core
flutter pub get

The per-platform build commands are on Building from Source.

Documentation

The deeper reference material lives in the Wiki:

Page What it covers
Features The full feature list, section by section
Playback and Codecs The backend per platform, the codec table, HDR, and audio passthrough
Downloads Original and transcoded downloads, quality presets, and storage paths
Retro Games Playing server game libraries in-app, cores, controllers, and save states
Installation Which release file to pick, and the AUR package
User Guide Keyboard shortcuts, subtitle downloads, and remote device control
Collecting Logs Capturing a diagnostic report for a bug report
Custom mpv Configuration Tuning playback with your own mpv.conf, allowed options, and SVP on Windows
Building from Source Toolchain versions, quick start, and per-platform build commands
Development Developer notes, contributing guidelines, and the pull request process

Contributing

Contributions are welcome. Check the existing issues first, discuss major feature changes before implementing them, match the existing code style, run flutter analyze, and test on at least one target platform. Keep pull requests focused and include context, screenshots or logs where useful.

See Development for the full guidelines and the pull request process.

Help translate Moonfin here

Moonfin Core translation status by language

Support and Community

Credits

Moonfin is built on the work of:

  • Jellyfin Project
  • Jellyfin client contributors
  • Moonfin contributors
  • MakD - Original Jellyfin-Media-Bar concept that inspired our featured media bar
  • MediaLyze The Admin analytics UI was inspired by this open-source project

License

Moonfin is free software. You can redistribute it and modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License or, at your option, any later version. See LICENSE for the version 2 text.


Moonfin is an independent project and is not affiliated with the Jellyfin or Emby projects.
← Back to main Moonfin project

Releases

Packages

Contributors

Languages