unsubbed.co

Finamp

Finamp lets you run jellyfin music client for mobile entirely on your own server.

Open-source mobile music client for Jellyfin servers, honestly reviewed. What you actually get when you run your own music library.

TL;DR

  • What it is: A free, open-source (MPL-2.0) Android and iOS music player designed specifically for Jellyfin, giving your self-hosted music library the feel of a proper streaming app [1].
  • Who it’s for: People who already run (or plan to run) a Jellyfin media server and want a dedicated, polished music client instead of using the generic Jellyfin app [1][2].
  • Cost savings: Spotify Premium runs $11.99/mo in the US; Apple Music $10.99/mo. Finamp is $0. Your ongoing cost is the server infrastructure — a $6–15/mo VPS for Jellyfin, or a device you already own. The music you own stays yours [1].
  • Key strength: Offline downloading with transcoded compression, ReplayGain normalization, and a redesigned UI that one longtime user explicitly called their “favorite Android music app” — even replacing Spotify and YouTube [1].
  • Key weakness: Still in redesign beta with incomplete features. No CarPlay support. Battery consumption is acknowledged as a known issue. Multi-user and multi-server support aren’t there yet [README][3].

What is Finamp

Finamp is a mobile music player for Android and iOS that connects to a Jellyfin media server. Jellyfin is the self-hosted, open-source alternative to Plex — it manages your local movies, TV, and music library and streams it to devices over your network or the internet. The built-in Jellyfin app does music playback, but it’s a generalist player built for video-first navigation. Finamp exists to fill the gap: a music-focused client that behaves like Spotify or Apple Music, not like a media center remote.

The project is MIT-adjacent — it uses the Mozilla Public License 2.0 — and lives on GitHub under the UnicornsOnLSD account (primary dev: jmshrv). As of this review it has 3,806 GitHub stars and 255 forks. The app is available on Google Play and the App Store, with the redesigned beta accessible via Google Play beta program, Apple TestFlight, or direct APK download from the releases page.

The current stable version works and has users, but the team’s energy is clearly in the “redesign” branch — internally called “Finamplify” — which is where active development, new features, and the modern UI are being built. The beta is described as “fully functional and stable enough for daily use” but explicitly not final [README]. That beta/stable split matters when you’re evaluating the app: some features mentioned here apply only to the redesign branch.


Why people choose it

The pattern across the articles and community threads is consistent: people arrive at Finamp because they already run Jellyfin for movies and TV, discover it handles music too, and then hit the ceiling of what the stock Jellyfin app can do for music.

A How-To Geek writer who explicitly hosts his own Jellyfin server put it plainly: “The first-party Jellyfin app isn’t great as a listening app, and that’s where Finamp comes in.” He went on to call Finamp his “favorite Android music app,” noting it was “slowly replacing Spotify and YouTube” for him [1]. That’s the conversion story Finamp is built on: you already own the music, you already run the server, you just need a client that doesn’t feel like a downgrade.

A separate How-To Geek article [2] about Jellyfin Rewind (a Spotify Wrapped equivalent for Jellyfin) specifically mentions Finamp’s offline listening history tracking — a feature the official Jellyfin server can’t replicate, because Jellyfin itself can’t track what you’ve played while offline. Finamp’s redesign beta logs this locally, so when you reconnect, you can import the data into Jellyfin Rewind [2].

In a Lemmy self-hosting thread [3], one commenter recommended Finamp when discussing music options for Jellyfin versus Navidrome. The note was practical: “Personally I use the Finamp beta on mobile as it does everything I want and is quite stable, but if you want Android Auto/Apple CarPlay you will have to use a client that isn’t as reliable or proprietary (paid).” That comment captures both Finamp’s strengths (does the core job well) and its gap (CarPlay is on the planned list but not shipped).

A Belgian developer who switched from Spotify to Navidrome and Jellyfin/Finamp noted that both services “embark scrobblers for Last.fm and ListenBrainz” — meaning Finamp supports scrobbling out of the box, which matters to serious music listeners who track play history [5].

The common thread: Finamp is chosen by people who are already committed to the self-hosted Jellyfin path and want a music client that matches the quality of apps they’re leaving behind.


Features

Based on the README and article descriptions:

Core playback:

  • Stream music from Jellyfin over your network or remotely [README]
  • Offline downloads with optional transcoding to save device storage [README]
  • Transcoded streaming to reduce mobile data usage [README]
  • ReplayGain / volume normalization across tracks and albums [README]
  • Dynamic color theming that adapts to album art [README]
  • Last.fm and ListenBrainz scrobbling support [5]

Library and discovery:

  • Browse by artist, album, genre, playlist [README]
  • Welcoming UI designed to feel familiar to Spotify/Apple Music users [README]

Offline and sync:

  • Downloaded files available fully offline [README]
  • Redesign beta logs offline playback history, which can be imported into Jellyfin Rewind for year-end stats [2]

Platform availability:

  • Android (Google Play, direct APK)
  • iOS (App Store, TestFlight for beta)
  • Linux as a Flatpak app [1]

Planned but not yet shipped (from the README):

  • CarPlay / Android Auto integration [README][3]
  • Metadata editing [README]
  • Multi-user and multi-server support [README]
  • Finamp Desktop improvements (shuffle fix, better system integration) [README]
  • Automated widget tests [README]

The battery consumption issue is documented in the README as a known optimization target: “eg. Finamp currently consumes a lot of battery” [README]. It’s mentioned by the dev team itself, which is honest, but it’s a real limitation for daily mobile use.


Pricing: the self-hosted music math

Finamp itself is free. There is no subscription, no premium tier, no in-app purchase.

The relevant cost is the Jellyfin stack it depends on:

Streaming services for comparison:

  • Spotify Premium: $11.99/mo individual ($17.99/mo Duo, $17.99/mo Family up to 6)
  • Apple Music: $10.99/mo individual ($16.99/mo Family)
  • YouTube Music Premium: $10.99/mo
  • Tidal HiFi: $11/mo

Self-hosted Jellyfin + Finamp:

  • Jellyfin software: $0 (GPL-2.0 licensed) [Jellyfin]
  • Finamp client: $0 (MPL-2.0) [README]
  • Server infrastructure: $0 if running on hardware you already own (spare laptop, old desktop, Raspberry Pi); $6–15/mo on a VPS like Hetzner or Contabo if you want remote access without maintaining hardware at home
  • Your music library: whatever you already own (ripped CDs, purchased downloads, archived files)

The math only works if you already have a music collection. Finamp is a player, not a catalog. If your library is empty, you still need to fill it through purchases, ripping, or other means. For someone with a few hundred albums already digitized — ripped CDs, Bandcamp purchases, archived files — the ongoing cost is essentially the server, not the software.

5-year cost illustration:

  • Spotify: 60 × $11.99 = $719.40, and when you cancel, you lose access to everything
  • Jellyfin + Finamp on existing hardware: $0 recurring, you own every file
  • Jellyfin + Finamp on a Hetzner VPS: 60 × $8 = $480, with full ownership of files

The ownership angle is the real argument. Spotify’s catalog shifts; artists pull catalogs; prices increase. Your digitized music library doesn’t.


Deployment reality check

Finamp requires a running Jellyfin server. If you don’t have one, that’s the first setup step, and it’s non-trivial for non-technical users. Jellyfin itself runs on Docker, and a basic setup takes 30–90 minutes on a VPS with some Linux familiarity.

Once Jellyfin is running with a music library pointed at it, installing Finamp is exactly like installing any other mobile app: download from Google Play or the App Store, enter your Jellyfin server URL and credentials, done.

What can go sideways:

The stable version and the redesign beta are meaningfully different applications. The README is explicit that development happens on the redesign branch, and community coverage focuses almost entirely on the beta. If you install the stable version expecting the modern UI and features described in recent articles, you’ll get a different experience. Install the beta via TestFlight or the Google Play beta program to get what’s being discussed.

Battery drain is a real issue acknowledged by the developers themselves in the README as a priority for optimization. If you’re already on the edge of your phone’s battery budget, this matters [README].

CarPlay and Android Auto are not supported. If you drive and use voice/steering wheel controls to manage music, Finamp won’t work for that use case. One community member noted this gap specifically and pointed to less reliable or paid alternatives for in-car use [3].

Multi-server and multi-user support are missing. If you share a Jellyfin server with your household and each person has their own account with their own library, Finamp only connects to one account at a time [README].

Remote access requires your Jellyfin server to be reachable from outside your home network, which means either port forwarding, a Tailscale/VPN setup, or a reverse proxy with a domain. This is table stakes for using the mobile app outside the house, and it’s a non-trivial step for someone new to self-hosting.


Pros and Cons

Pros

  • Free, genuinely. No subscription, no trial, no premium tier. The full app, forever [README].
  • Offline downloads with transcoding. You can download your library in a compressed format to save device storage, not just cache the originals — a feature most paid apps charge for [README].
  • ReplayGain normalization. Consistent volume across tracks and albums without manual tweaking. This is the kind of feature audiophiles specifically look for [README].
  • Scrobbling built in. Last.fm and ListenBrainz support is native, not a workaround [5].
  • Offline playback history. The redesign beta tracks what you listen to offline and lets you export it — so you don’t lose that data when you reconnect [2].
  • Actively maintained. 1,420 commits, active redesign branch, Hacktoberfest participation, Discord community [README].
  • Available on Linux. Flatpak on Linux means it’s usable as a desktop music player, not just mobile [1].
  • UI praised by users. Described by one longtime user as their favorite Android music app, explicitly edging out Spotify [1].

Cons

  • Requires Jellyfin. Finamp is not a standalone app — it needs a working Jellyfin server with a music library. Setup complexity is inherited from the server side [README].
  • No CarPlay / Android Auto. Explicitly listed as a planned feature, not a shipped one. Car use requires a different client [README][3].
  • Battery drain. The dev team’s own README flags battery consumption as a known issue needing optimization [README].
  • Beta/stable split creates confusion. Active development and the modern UI are in the redesign beta, not stable. The stable version is behind on features.
  • No multi-server or multi-user. One account, one server. Shared household setups are awkward [README].
  • No metadata editing. You can’t tag or correct album/artist metadata from the app — you need separate tools for library management [README].
  • MPL-2.0, not MIT. Minor, but worth noting if you’re evaluating license permissiveness for embedding.

Who should use this / who shouldn’t

Use Finamp if:

  • You already run a Jellyfin server (or are willing to set one up) and want a music client that feels like Spotify rather than a media center.
  • You own a digital music library — ripped CDs, Bandcamp purchases, FLAC downloads — and want to stream it properly to your phone.
  • You’re currently paying $11–12/mo for a music streaming service and own music you’ve stopped listening to because it’s buried on a hard drive somewhere.
  • You want built-in scrobbling to Last.fm or ListenBrainz.
  • Offline listening with storage-efficient transcoded downloads matters to you.

Skip it if:

  • You don’t have a Jellyfin server and have no intention of setting one up. Finamp is a client, not a service.
  • You need CarPlay or Android Auto for your car. That gap is real and currently without a good Jellyfin-native solution [3].
  • You share a server with multiple family members each needing separate app instances — multi-user support isn’t there yet [README].
  • You’re looking for a music discovery service with curated playlists and recommendations. Finamp plays what you own; it doesn’t find you new music.
  • Your phone’s battery is already stretched thin and you can’t accept additional drain.

Consider alternatives if:

  • You want a music server that doesn’t require the full Jellyfin stack. Navidrome is lighter, music-only, and has a broader client ecosystem including Subsonic-compatible apps [3].

Alternatives worth considering

  • Official Jellyfin app — works for casual music use but built for video-first navigation. Good enough if you’re not a dedicated music listener.
  • Symfonium — paid Android app (~$5 one-time) that connects to Jellyfin, Navidrome, Plex, Emby, and others. More polished in some areas, has Android Auto support. Worth considering if CarPlay/AA is a dealbreaker.
  • Navidrome + Feishin or Symfonium — if you want a music-only server (lighter than Jellyfin) with a richer client ecosystem. Navidrome implements the Subsonic API, which has dozens of third-party clients across every platform [3]. The tradeoff: separate server just for music instead of one Jellyfin for everything.
  • Plexamp — if you’re already on Plex instead of Jellyfin. Excellent music client, but requires Plex Pass ($6.99/mo or $119.99 lifetime) for full offline and remote features.
  • Spotify / Apple Music — if you don’t own a music library and don’t want to build one. The discovery and catalog features of streaming services have no self-hosted equivalent.

The realistic split for Jellyfin users is Finamp vs. Symfonium: Finamp is free and open-source with a better UI direction, Symfonium is paid but has CarPlay and broader server support.


Bottom line

Finamp is the right answer to a specific problem: you run Jellyfin, you have a music library, and the default app doesn’t cut it. In that scenario it delivers — offline downloads with transcoding, ReplayGain, scrobbling, and a redesigned UI that users are genuinely comparing favorably to Spotify. At $0 it’s not a difficult decision. The gaps are real: no CarPlay, battery drain, no multi-user, an active beta that’s ahead of the stable release. None of those are fatal if your use case fits. If you’re paying $12/mo for Spotify and already own the music, the math is obvious — you just need the server side sorted first.

If setting up a Jellyfin server is the blocker, that’s the kind of one-time deployment upready.dev handles for clients. You get the infrastructure set up and keep it.


Sources

  1. Jordan Gloor, How-To Geek“6 open-source Linux apps I’d use even if they weren’t free” (Nov 16, 2025). https://www.howtogeek.com/open-source-linux-apps-id-use-even-if-they-werent-free/
  2. Jordan Gloor, How-To Geek“How to get Spotify Wrapped for your Jellyfin server” (Dec 3, 2025). https://www.howtogeek.com/spotify-wrapped-for-jellyfin-server-with-jellyfin-rewind/
  3. Sopuli / Lemmy self-hosting thread“What else should I self-host?” https://sopuli.xyz/post/30242035
  4. Morgan (zoemp.be)“Scrobbling RTBF live radios to Last.fm and ListenBrainz with userscripts”. https://morgan.zoemp.be/scrobbling/

Primary sources:

Features

Integrations & APIs

  • Plugin / Extension System

Mobile & Desktop

  • Mobile App