Overview
Jellyfin is designed to disappear behind the media. The apps are dark by default, surfaces are graphite, and the only brand color is a clean sky blue #00a4dc, with the logo's purple #ac5cc3 used sparingly. Posters, backdrops and thumbnails supply all the real color, so the interface stays neutral and lets artwork dominate. [Measured]
Three decisions define the look:
- Dark first. The Android theme sets the background to
#101010, the app bar to#202020and cards to#363636, with a darker#101010primary variant. [Measured] - One blue accent.
#00a4dcis the Android primary and accent, and the website uses a close#00afeb. [Measured] - Playback chrome is translucent black. Player controls sit on a
#60000000scrim, info panels on#cc000000, the unplayed time bar is#333333, and skip buttons use#202124with#ddddddtext. [Measured]
Source for this file: the public Android and iOS source and jellyfin.org, read on 2026-10-06. No on-device capture was done. See Known Gaps.
Core
Colors
| Role | Value | Where |
|---|---|---|
| Primary and accent | #00a4dc | Android |
| Web accent | #00afeb | jellyfin.org |
| Logo purple | #ac5cc3 | iOS |
| Background | #101010 | Android |
| App bar and primary | #202020 | Android |
| Card surface | #363636 | Android |
| Launcher background | #000b25 | Android |
| Splash fill | #fafafa | Android |
| Error on dark | #cf6679 | Android |
| Playback scrim | #60000000, info #cc000000 | Android |
| Unplayed track | #333333 | Android |
| Skip chip | #202124 with #dddddd text | Android |
| Docs site dark | #242526, navbar #172138 | jellyfin.org |
| Docs semantic | success #00a400, warning #ffba00, danger #fa383e | jellyfin.org |
The iOS app mostly uses the system colors (system background, secondary and tertiary system fill) and adds the purple. [Measured]
Typography
- Android: system sans, with a
16sptitle in the player controls. [Measured for the title size] - Website: Noto Sans, with
1.5remand0.8remas the most used sizes. [Measured] - iOS: the system font, and the app includes a font picker. [Measured]
Shape and spacing
- Android shapes: small
4dp, medium8dp, large0dp(a square large shape). [Measured] - Player spacing: controls padding
12dp, button gaps24dp, bottom controls42dpsize with8dppadding and margin, a3dpchapter marker, a160dpgesture area and72dpgesture images. [Measured] - Lists: a
64dpmovie thumbnail size. [Measured]
Iconography and motion
Simple play-control icons. Gesture overlays show large icons (72dp) for seek and brightness. [Measured] No motion tokens were found. [Inferred]
Themes
Dark is the default on Android. The website has a light and a dark docs theme. iOS follows the system. [Measured]
Platform: iOS
How the iOS app looks and behaves. Items come from public source files.
Back and up navigation
Expected on iOS: chevron plus previous title, swipe from the left edge.
Standard navigation stack behavior. [Inferred]
Primary navigation
Expected on iOS: bottom tab bar, about five items.
A tab bar for home, media libraries and settings. Not verified in the files read. [Inferred]
Main action
Expected on iOS: nav bar or bottom bar button.
Play buttons within media detail screens. [Inferred]
Sheets, dialogs and messages
Expected on iOS: action sheets, alerts, modals.
Standard sheets and alerts. [Inferred]
Controls
Expected on iOS: Cupertino switches, pickers, segmented controls.
Platform controls and a custom color gradient slider. [Measured]
Text sizing
Expected on iOS: Dynamic Type.
System text styles are expected, and a font picker view exists. [Measured]
Touch and pointer targets
Expected on iOS: 44pt minimum.
Not verified. [Inferred]
Insets and system bars
Expected on iOS: safe areas, status bar.
Not verified. [Inferred]
Icons
Expected on iOS: SF Symbols or custom.
SF Symbols are expected for most icons. [Inferred]
Account and sign-in rules
Expected on iOS: equivalent login option when third-party sign-in exists (Guideline 4.8) and in-app account deletion. Note the date checked.
Sign-in is to the user's own Jellyfin server, with no third-party social login. Account deletion is on the server. [Inferred] Checked: 2026-10-06 against source only.
Platform conformance
Expected on iOS: system components and Dynamic Type.
High fidelity. The app relies on system colors and native components and adds only the purple accent. [Measured]
Platform: Android
How the Android app looks and behaves. Items come from public source files.
Back and up navigation
Expected on Android: system back and gesture, up arrow in the top bar.
System back drives navigation inside the web UI and the player. [Inferred]
Primary navigation
Expected on Android: navigation bar, rail on tablets.
The web UI provides the navigation drawer and tabs. [Inferred]
Main action
Expected on Android: floating action button.
Play buttons in the web UI. No floating action button. [Inferred]
Sheets, dialogs and messages
Expected on Android: bottom sheets, dialogs, snackbars.
The web UI draws most dialogs. The native player shows overlays and a skip button. [Inferred]
Controls
Expected on Android: Material switches, pickers, chips.
An older Material color setup with a skip chip and playback controls. [Measured]
Text sizing
Expected on Android: font scale.
Sizes are in sp. [Measured]
Touch and pointer targets
Expected on Android: 48dp minimum.
Player controls are 42dp bottom buttons and larger center icons. [Measured]
Insets and system bars
Expected on Android: edge to edge, system bars.
Full-screen playback with a translucent control scrim. [Measured]
Icons
Expected on Android: Material Symbols or custom.
Player icons from the ExoPlayer library. [Inferred]
Account and sign-in rules
Expected on Android: account deletion and data safety requirements. Note the date checked.
Own-server sign-in. Account deletion and data safety were not checked. [Inferred] Checked: 2026-10-06 against source only.
Platform conformance
Expected on Android: Material 3 components and roles.
Partial. The theme is a small dark Material palette, and most of the UI is the web client. [Measured]
Platform: Web
The jellyfin.org documentation site and the web client. Only the documentation site was measured.
Back and up navigation
Expected on Web: browser back, breadcrumbs.
Browser back with documentation breadcrumbs. [Inferred]
Primary navigation
Expected on Web: top nav or sidebar.
A top navbar and a documentation sidebar. [Inferred]
Main action
Expected on Web: page-level button.
Download and Get Started buttons. [Inferred]
Sheets, dialogs and messages
Expected on Web: modals, toasts.
Documentation admonitions in success, info, warning and danger tones. [Measured]
Controls
Expected on Web: native or custom.
Standard documentation-site controls. [Inferred]
Text sizing
Expected on Web: browser zoom.
Sizes in rem. [Measured]
Touch and pointer targets
Expected on Web: pointer and keyboard.
Not verified. [Inferred]
Insets and system bars
Expected on Web: viewport, scrollbars.
Responsive. [Inferred]
Icons
Expected on Web: any.
SVG. [Inferred]
Account and sign-in rules
Expected on Web: not applicable unless the product has accounts.
Informational site. [Inferred]
Platform conformance
Expected on Web: web norms for links and forms.
A standard documentation site with the default blue #3578e5, which is not the product's own #00a4dc. [Measured]
Cross-platform consistency
Dark, neutral surfaces and the sky blue accent link the apps. The documentation site uses a different default blue and the logo purple appears only on iOS, so the brand is not consistently expressed. [Measured]
Do's and Don'ts
Do
- Keep surfaces graphite (
#101010,#202020,#363636) and let artwork supply color. - Use
#00a4dcas the only accent. - Put playback controls on translucent black scrims.
- On iOS, prefer system colors and components.
- Make gesture overlays large and obvious.
Don't
- Don't add extra brand colors to the chrome.
- Don't use bright backgrounds behind posters.
- Don't use the documentation site's default blue for product UI.
Known Gaps
- No on-device capture was done. All app statements come from reading source, so layouts and behavior are not confirmed.
- The embedded web client (the jellyfin-web project) was not read. Only the documentation site was measured.
- iOS has no explicit palette beyond the purple, so its real look depends on system colors.
- The navigation structure of both apps is inferred from product knowledge.
- Account deletion and store policy rules were not verified.
- Contrast: white text on the accent
#00a4dcmeasures about 2.9 to 1, below the 4.5 to 1 target for normal text.