必须自备并连接 Jellyfin Media Server,否则无法使用;Google Cast 支持仍处于早期阶段;自签名证书支持在 1.4 路线图中,尚未提供
App
Jellify-MusicMIT活跃维护基于 React Native 的跨平台开源音乐播放器,连接 Jellyfin 媒体服务器播放自建音乐库,支持 Android Auto 和 CarPlay。
A cross-platform, free and open source music player for Jellyfin, powered by React Native
从 Google Play 或 App Store 安装,或到 releases 页面下载 .APK / .IPAREADME 未说明硬件要求;这是 iOS 和 Android 移动应用,需连接 Jellyfin Media Server 才能使用。
Jellyfin 音乐服务器的跨平台开源客户端,用 React Native 打造 iOS 和 Android 播放器
基于 React Native 的跨平台开源音乐播放器,连接 Jellyfin 媒体服务器播放自建音乐库,支持 Android Auto 和 CarPlay。
核心能力
- 浏览、搜索并播放 Jellyfin 音乐库
- 支持离线播放与无损衔接播放
- 基于 Instant Mix 和 Suggestions 做算法推荐
- 支持 CarPlay 与 Android Auto 车载播放
- 支持播放列表创建、更新与排序
容易踩的坑
- 1.4.1-ota.11.4.1 OTA 1最新正式版2026-11-08 · 2026-11-08 18:44 UTC
Welcome to Jellify 1.4.1 OTA 1
This update is being delivered over-the-air, so Jellify will automatically download it the next time you open the app and then prompt you to restart. I have spent some time tidying up the internal architecture to ensure everything runs as smoothly as possible. These changes are designed to improve reliability and make the app feel more polished during your daily listening sessions.
- I have introduced a centralized error handling system that uses toast notifications to keep you informed. This makes identifying and understanding issues much more straightforward and user-friendly.
- You can now tap on any error toast to automatically copy the technical details to your clipboard. This is a huge win if you ever need to share specific logs with the team for troubleshooting.
- I have refactored several internal stores and navigation states to optimize how the app handles data and gestures. This includes a specific fix to ensure icons are displaying perfectly on Android devices.
Issues addressed
- Tap an error toast to copy the error to the clipboard (#1646)
Pull requests
- Refactor navigation state and remove unused imports for Android icon fix (#1649) by @anultravioletaurora
- Implement centralized error handling with toast notifications (#1650) by @anultravioletaurora
- Restructure player settings store into separate files (#1651) by @anultravioletaurora
- Refactor swipe settings store to gestures and update imports (#1652) by @anultravioletaurora
Contributors
Thank you to @anultravioletaurora for contributing to this release!
Full changelog: https://github.com/Jellify-Music/App/compare/1.4.1...1.4.1-ota.1
- 1.4.12026-11-08 · 2026-11-08 16:06 UTC
查看更新说明
Welcome to Jellify 1.4.1
I am so happy to introduce our latest updates designed to make your music experience even more seamless. This release focuses on refining our internal architecture and enhancing the overall visual polish of the app. We also included some fun new features to help you connect with other Jellify fans.
- We added support for iMessage sticker packs and an optional Discord role ID for release announcements. This makes it much easier to share your love for Jellify with friends and stay in the loop on our newest updates.
- The app received a major refactor of our theme palettes and types to improve the structural consistency of the UI. You can expect a more refined and cohesive look throughout your music journey.
- We updated several core dependencies, including tamagui and safe-area-context, to their latest versions. These updates improve the overall performance and ensure a more reliable experience on your device.
Pull requests
- Add support for retrieving enabled alias class in AppIconChangerModule (#1640) by @anultravioletaurora
- Update dependencies to latest versions including tamagui and safe-area-context (#1641) by @anultravioletaurora
- Refactor theme types and palettes for improved structure (#1642) by @anultravioletaurora
- Add iMessage sticker pack support with assets and configurations (#1643) by @anultravioletaurora
- Enhance AboutScreen with privacy policy link and improved readability (#1644) by @anultravioletaurora
- Key CocoaPods cache by runner environment to avoid conflicts (#1648) by @anultravioletaurora
Contributors
Thank you to @anultravioletaurora for contributing to this release!
Full changelog: https://github.com/Jellify-Music/App/compare/1.4.0...1.4.1
- 1.4.02026-11-07 · 2026-11-07 19:17 UTC
查看更新说明
Welcome to Jellify 1.4.0
I am so excited to share all the wonderful improvements we have packed into this latest version! We have introduced some amazing new features like CarPlay support and several polish updates to your favorite interface elements. This update is all about making your music experience smoother, faster, and more enjoyable for everyone.
- We have officially added CarPlay support, which includes a dedicated library tab for your road trips. We also introduced a new Your Playlists section and renamed the Add to Queue button to Play Later to make the app even more intuitive.
- The shuffle feature is now nearly instant because we moved the logic to native operations to remove any lag. We also fixed several playback issues, including lyrics readability on light backgrounds, seeking on transcoded tracks, and Repeat All behavior on the final song.
- You will notice much faster loading times when browsing your music library thanks to some significant performance optimizations. We also upgraded our internal caching system to ensure your favorite playlists are always ready to play.
Issues addressed
- [FEATURE] Add Ability to Switch App Icons (#370)
- [BUG] Failed to "Play Next" with an Empty Queue (#551)
- [BUG] Server Version not updating (#745)
- [BUG] OGG Vorbis transcode even when streaming quality is set to original (#828)
- [FEATURE] Add Library Tab to CarPlay (#1176)
- [BUG] Seeking on a Transcoded Track Doesn't Work (#1308)
- [BUG] Skipping next on the last track ignores "Repeat All" and stops playback (#1467)
- [BUG] lyrics on white background (#1491)
- [FEATURE] Centralized caches for user and public playlists (#1572)
- [BUG] Shuffle toggle is slow — icon lags because tracks are removed one-by-one over the bridge (#1592)
Pull requests
- Inline lyrics in the player, fix lyrics readability on light artwork (#1545) by @anultravioletaurora
- Fix server version not updating (#745) (#1546) by @anultravioletaurora
- Direct play Ogg Opus on iOS (#828) (#1547) by @anultravioletaurora
- Fix skip next ignoring Repeat All on the last track (#1549) by @anultravioletaurora
- Fix Play Next / Add to Queue doing nothing when the queue is empty (#1550) by @anultravioletaurora
- Fix seeking on transcoded tracks on Android (#1551) by @anultravioletaurora
- Consistent release notes, tags and Discord announcements for full releases and OTAs (#1552) by @anultravioletaurora
- Wrap to last track when skipping back from the first with Repeat All (#1553) by @anultravioletaurora
- chore(deps): bump the tamagui group across 1 directory with 4 updates (#1557) by @dependabot[bot]
- chore(deps-dev): bump @types/node from 26.6.5 to 26.6.6 in the types group across 1 directory (#1560) by @dependabot[bot]
- chore(deps-dev): bump openai from 7.43.0 to 7.45.1 (#1562) by @dependabot[bot]
- chore(deps): bump @legendapp/list from 3.6.0 to 3.7.0 (#1563) by @dependabot[bot]
- Revert iOS Ogg Opus direct play (#1564) by @anultravioletaurora
- ci: delete App-Bundles PR branches when a PR is closed (#1566) by @anultravioletaurora
- Replace deprecated TanStack Query imperative methods (#1575) by @anultravioletaurora
- Centralize user and public playlist caches (#1576) by @anultravioletaurora
- Refactor lyric line item tap gesture and adjust horizontal margins (#1577) by @anultravioletaurora
- fix(lyrics): initial scroll lands above the viewport (#1580) by @anultravioletaurora
- fix(ci): fail OTA workflows when a platform fails to publish (#1581) by @anultravioletaurora
- chore(deps): migrate to @jellyfin/sdk 1.0.2 (#1582) by @anultravioletaurora
- chore: refactor query layer and reorganize services (#1584) by @anultravioletaurora
- chore: move isExplicit util, fix Android Auto Favorites label (#1590) by @anultravioletaurora
- perf(user-data): seed favorite state lazily from item user data (#1591) by @anultravioletaurora
- Queue albums and playlists; rename Add to Queue to Play Later (#1594) by @anultravioletaurora
- chore(deps): bump @sentry/reac
- 1.3.1-ota.61.3.1 OTA 62026-11-07 · 2026-11-07 04:05 UTC
查看更新说明
Welcome to Jellify 1.3.1 OTA 6
I am so happy to bring you some fresh improvements to make your listening experience even better! This is an over-the-air update, which means Jellify will download the update automatically the next time you open the app and will ask you to restart to apply the changes. We have focused on refining the interface and boosting the speed of your music playback.
- We have streamlined the similar artists section to keep things tidy by limiting the display to your top 5 matches.
- We updated our core internal components and data libraries to ensure the app stays stable and performs at its best.
- We improved the track prefetching logic in the Lookahead settings to help your music start playing more efficiently.
Pull requests
- chore: update tamagui and related packages to version 3.2.3 (#1632) by @anultravioletaurora
- chore(deps): bump the tanstack group across 1 directory with 3 updates (#1633) by @dependabot[bot]
- Refactor similar artists rendering and limit to 5 (#1636) by @anultravioletaurora
- Update LookaheadSettings component for track prefetching (#1637) by @anultravioletaurora
Contributors
Thank you to @anultravioletaurora for contributing to this release!
Full changelog: https://github.com/Jellify-Music/App/compare/1.3.1-ota.5...1.3.1-ota.6
- 1.3.1-ota.51.3.1 OTA 52026-11-05 · 2026-11-05 18:40 UTC
查看更新说明
Welcome to Jellify 1.3.1 OTA 5
Hello there! I am so excited to share the latest updates to help make your music experience even more seamless. This version is delivered over-the-air, meaning it will automatically download the next time you open the app and will ask you to restart to apply the changes. I have focused on performance improvements and some nice UI polish to keep everything feeling snappy and responsive.
- I have optimized the shuffle toggle by utilizing native batch queue operations. This resolves the previous issue where the icon would lag while tracks were being processed one by one over the bridge.
- You will find a brand new Your Playlists section that features a refactored list designed for much smoother scrolling. I also updated the Add to Playlist sheet so that it now prioritizes your most recently updated playlists for quicker access.
- I have boosted the performance of library lists to ensure your music loads faster than ever before. Additionally, I implemented lazy user-data seeding to ensure your downloaded favorites stay visible and accessible more consistently.
Issues addressed
- [BUG] Shuffle toggle is slow — icon lags because tracks are removed one-by-one over the bridge (#1592)
Pull requests
- fix: make shuffle toggle instant by using native batch queue ops (#1608) by @anultravioletaurora
- fix(user-data): keep downloaded favorites visible with lazy user-data seeding (#1610) by @thirty6down
- Sort Add to Playlist sheet by most recently updated playlists (#1613) by @anultravioletaurora
- Add Recent Playlists section and refactor item list for scrolling (#1614) by @anultravioletaurora
- chore(deps): bump the tanstack group across 1 directory with 3 updates (#1616) by @dependabot[bot]
- chore(deps-dev): bump openai from 7.45.1 to 7.47.0 (#1619) by @dependabot[bot]
- chore(deps-dev): bump globals from 17.13.0 to 17.14.0 (#1621) by @dependabot[bot]
- refactor: extract SwipeableRow gestures into useSwipeableRowGesture hook (#1623) by @anultravioletaurora
- perf: speed up library lists (#1625) by @anultravioletaurora
- Bump @jellify-music/react-native-reanimated-slider to 0.7.0 (#1628) by @anultravioletaurora
- refactor: update Recent Playlists title to 'Your Playlists' (#1629) by @anultravioletaurora
- feat: fetch patrons and special thanks from patrons API v1 (#1630) by @anultravioletaurora
Contributors
Thank you to @anultravioletaurora and @thirty6down for contributing to this release!
Full changelog: https://github.com/Jellify-Music/App/compare/1.3.1-ota.4...1.3.1-ota.5
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Contents
Info
jellify (verb) - to make gelatinous see also
Jellify is a free and open source music player for the Jellyfin Media Server. Built with React Native, it is available for both iOS and Android.
Jellify requires a connection to a Jellyfin Media Server server to work. See also
Showcasing the artwork of your library, it has a user interface congruent to what the big guys do. Jellify also provides algorithmic curation of your music, driven by Jellyfin's Instant Mix and Suggestions APIs.
This app was designed with me and my dad in mind. I wanted us to have a sleek, one stop shop for live recordings of bands we like (read: the Grateful Dead). The UI was designed so that we'd find it instantly familiar and useful. CarPlay / Android Auto support was also a must for us, as we both use CarPlay religiously.
Recommended Additions
These projects are not required to use Jellify, but are recommended by us to enrich your Jellyfin music experience!
- Apple Music Plugin
- Really good at fetching missing artist artwork for obscure / less popular artists
- LrcLib Plugin
- Available in the default plugins catalog
- Really good at fetching song lyrics
- Jellyfin Rewind
- Gives a recap of your year in music listening similar to other music streaming services
- A hosted version is provided here
- Spotify Playlist Imports
- Imports a user's Spotify playlists into Jellyfin
- Can run as a scheduled task
- AudioMuse-AI and it's associated plugin
- Performs sonic analysis on your music
- Creates "smart playlists" based on tempo and mood
- Jellyfin-RPC
- Displays the content you're currently playing on Discord
Downloading
Android
Direct .APK Download
Head to releases to download the required .APK directly.
Also there is obtanium to which you can add Jellify as a repo to use the above releases as a repository.
For Obtanium, click "Add App", put "https://github.com/Jellify-Music/App" as the source URL, and on the next screen toggle "prereleases". You'll now be easily able to keep your local copy in sync with new releases.
iOS
The TestFlight Way
Join the TestFlight and install the latest version from there
The Sideloading Way
Head to releases to download the required .IPA directly.
Install via Altstore or your favorite sideloading utility
Screenshots
Screenshots taken on iPhone 15 Pro Max
Home
Library
Artists
Artist View
Similar Artists
Album Views
Track Options & Add to Playlist
Search
Player
CarPlay
Features
Current
- Available via Play Store, App Store, Testflight, and Android APKs
- APKs are associated with each release
- Light and Dark modes (and different theme colors)
- Home screen access to previously played tracks, artists, and your playlists
- Quick access to similar artists and items for discovering music in your library
- Jellyfin playback reporting and Last.FM Plugin support
- Quick Connect Support
- Full Library Browsing
- Playlist support, including creating, updating, and reordering
- Offline Playback
- Support for Jellyfin Instant Mixes
- Over-the-Air Updates
- Powered by react-native-nitro-ota, incremental app updates are automatically fetched and applied from our App Bundles Repository
- Shuffling
- Switching Music Libraries
- Google Cast Support (still in early stages)
- Storage UI Manager
- Gapless Playback
- Android Auto / CarPlay Support
Roadmap
1.4 - If You Plant Ice, You're Gonna Harvest Wind - December '26
- Websocket Support (Server online status)
- Collaborative Playlists
- EQ Controls
- Allow Self-Signed Certificates
1.5 - March '27
- App Customization Options
2.0.0 - December '27
- Watch Support
- Desktop Support (Experimental)
- Tablet Support
3.0.0 - TBD
- Seerr (formerly Jellyseerr) Integration
- Autoplay Integration
- tvOS (Apple and Android)
- JellyJam (Collaborative Queue)
*This is subject to change
Built with Good Stuff
Frontend
Tamagui
Figtree
Pulsar
React Navigation
React Native Blurhash
React Native Drax
React Native Reanimated
React Native Toast Message
React Native Vector Icons
- Specifically using Material Community Icons
Backend
Jellyfin SDK
Tanstack Query
React Native DNS Lookup
React Native File Access
React Native Google Cast
React Native MMKV
React Native Nitro Fetch
React Native Nitro Modules
React Native Nitro OTA
React Native Nitro Player
React Native URL Polyfill
Zustand
Made for Jellify
We built these libraries for Jellify, and they're free for anyone to use in their own apps:
React Native Nitro Player
React Native Reanimated Slider
Opt-In Monitoring
All logging and metrics gathering is opt-in by default. This is merely here to help us make Jellify better.
All logs and metrics are completely anonymized. No data can be traced back to you.
Error Reporting — GlitchTip
Unhandled exceptions and captured errors are reported to the SaaS GlitchTip instance via @sentry/react-native. Error reporting is initialized at app startup and is disabled unless you have opted in to sending metrics.
All logging goes through three shared utilities in src/utils/logging/index.ts, each tagged with a LoggingContext (e.g. Initialization, Playback Reporting, Queue, Favorites):
| Function | Severity | Sentry behaviour |
|---|---|---|
captureError(error, context, message?) | Error | Reports exception via Sentry.captureException when metrics are enabled |
captureWarning(context, message, error?) | Warning | Reports message at warning level via Sentry.captureMessage when metrics are enabled |
captureInfo(context, message) | Info | Console-only — never sent to Sentry |
In production builds, all console.* methods are replaced with no-ops so that no debug output leaks — logs only surface through the explicit capture call path.
Love from Wisconsin 🧀
This is undoubtedly a passion project of mine, and I've learned a lot from working on it (and the many failed attempts before it). I hope you enjoy using it! Feature requests and bug reports are welcome :)
Support the Project
Jellify is free, open source, and always will be. You can support development via Patreon, GitHub Sponsors, or Ko-Fi starting at $1.
All publicly paid supporters on GitHub and Patreon get their name displayed in the app's Settings as a thank-you.
🎁 Sticker Club
Patreon supporters on the $5 or $10 tier who stay subscribed for 3 months get a Jellify sticker mailed to them. A small, physical thank-you for supporting a passion project.
Special Thanks
- The Jellyfin Team for making this possible with their software, SDKs, and unequivocal helpfulness.
- James, Chaphasilor and all other contributors of Finamp - another music app for Jellyfin
- James’ API Blog Post proved to be exceptionally valuable during development
- Chaphasilor taught me everything they know about audio normalization and LUFS, and their math was referenced in Jellify's audio normalization algorithm
- Marc and the rest of the Margelo Community for their amazing modules and support
- Nicolas Charpentier for his React Native URL Polyfill module and for his assistance with getting Jest working
- The team behind Podverse for their incredible open source project, of which was used as a reference extensively during development
- My fellow contributors who have poured so much heart and a lot of sweat into making Jellify a great experience
- Extra thanks to John, Vali-98, and Erik for shaping and designing the user experience
- Shout out to skalthoff for championing many features:
- Gapless Playback
- Library Selection
- Quality Selection
- Many thanks to PDB3D for the logo design!
- Huge thank you to Ritesh for literally so many things:
- Over-the-Air Updates
- Cast Support
- The friends we made along the way that have been critical in fostering an amazing community around Jellify
- My long time friends that have heard me talk about Jellify for literally eons. Thank you for testing Jellify during it's infancy and for supporting me all the way back at the beginning of this project
- My best(est) friend Alyssa, for your design knowledge and for making various artwork for Jellify.
- You’ve been instrumental in shaping it’s user experience, my rock during development, and an overall inspiration in my life