Your music, movies, shows, podcasts, and internet radio. Every Apple device. Your terms.
Keep your music, movies, shows, audiobooks, and podcasts on a self-hosted server, and play them in a premium, native experience on every Apple device you own. Lossless audio, synced lyrics, a 16-band EQ, and downloads for when you go offline. No subscription required, and no ads, no tracking, no analytics.
A free server. A premium app. No subscription required.
Stand up the server in minutes and your library is yours to stream anywhere. The app makes it native on every Apple device you own, offline included, for a single purchase.
Echolair Server
Free, with no tier above it. Run it in Docker on a Mac mini, a NAS, or any spare machine. It holds your entire library and ships with a full web player built in.
FreeThe app
A premium, native player for iPhone, iPad, Mac, Apple TV, Apple Watch, and CarPlay. Buy it once, keep it for good, with offline downloads included.
One-timePrefer a browser? The server's web player is free and built in, so you can play your whole library without buying a thing.
A media server you own, not one you rent.
Point it at your media and it does the rest: scans your music, movies, shows, audiobooks, and podcasts, sorts out the artwork and metadata, and serves the whole house. It works with Jellyfin and OpenSubsonic apps too, so the players you already use keep working. Free, on your hardware, with nothing reporting home.
Free. Actually free.
No subscription, no paid tier, no feature meter. Download it, point it at your media, and every server feature is on. Your library lives on your hardware and stays there.
Rich artwork and details, no keys required
Posters, covers, lyrics, artist bios, and metadata are fetched and matched for you, with no API keys to paste or accounts to set up. Your library fills itself in.
Signed Docker images
Ships as signed Docker images, so setup is a compose file and a port. Runs on a Mac mini in the closet, a NAS, or any box that runs Docker.
Scans everything you keep
Music, movies, TV shows, audiobooks, and podcasts, recognized from the files and folders you already have. Artwork, metadata, and chapters come along for the ride.
Multi-user from day one
Accounts for the whole house. Each person gets their own favorites, playlists, listening history, and resume points, with roles to control who can see what.
A full web player included
Open a browser and your whole library is there: queue, lyrics, playlists, video, and Live TV. The native apps play a wider range of video formats.
Works with the apps you have
Beyond the Echolair apps, the server also works with Jellyfin and OpenSubsonic players, so the apps you already use keep working. Echolair slots into the setup you have instead of replacing it.
Transcoding, built in
Nothing extra to install, and nothing left unplayable. The server converts common formats for the browser on demand, and the native apps decode 4K and HEVC right on your device.
Locked down, your way
Two-factor sign-in with recovery codes, per-device API keys, encrypted secrets at rest, and an audit log of every login. The server is yours to harden.
Your hardware, your rules.
Nothing leaves your network unless you open a port. Users, libraries, and visibility are yours to configure, and the data never reports to anyone but you.
Keep the apps you have.
Echolair Server also works with Jellyfin and OpenSubsonic apps, so existing players on phones, TVs, and desktops can sign in and play without knowing anything changed underneath.
Movie night, off your own shelf.
Your films and series stream in up to 4K and HDR with subtitles, per-episode resume, and AirPlay, in the same app as your music, with a native Apple TV experience for the biggest screen in the house. Live TV rides along with an on-screen program guide.
Video containers
- MP4
- M4V
- MOV
- MKV
- WebM
- TS
- M2TS
- MTS
- MPEG
- MPG
- VOB
- AVI
- FLV
- OGM
- OGV
- 3GP
- MXF
- VIDEO_TS
- BDMV
- ISO
Video codecs
- H.264 (AVC)
- H.265 (HEVC)
- AV1
- VP9
- VP8
- MPEG-1
- MPEG-2
- MPEG-4 (DivX, Xvid)
- Theora
- Cinepak
- MS Video 1
- ProRes
Audio
- AAC
- AC-3
- E-AC-3
- DTS
- ALAC
- FLAC
- WavPack
- Monkey's Audio
- DSD (DSF/DFF)
- TTA
- MP3
- MP2
- Vorbis
- Opus
- PCM
Subtitles
- SRT
- WebVTT
- SSA/ASS
- PGS
- VobSub
- DVD
- DVB
- MicroDVD
- MPL2
- SAMI
- TMPlayer
- TTML
- Timed Text
- XSUB
- CEA-608/708
Playback uses Apple's built-in decoders where available and a built-in engine for everything else. Some advanced formats are still being added and may not play yet. A few proprietary formats are not supported.
Live TV with a real guide.
Tune live channels with an on-screen program guide: what's on now, what's on next, channel by channel, right next to your movies and shows.
Live TV takes a one-time setup on your server: point it at an IPTV channel playlist (M3U) and, optionally, an XMLTV program guide. Setting up Live TV walks through both, for Jellyfin and Echolair.
Native on Apple TV.
Not a cast target, not a mirror, but a real Apple TV app. Posters, backdrops, and the program guide are built for the couch and the Siri Remote, and playback uses the TV's built-in video for the formats it does best.
Pick up right where you left off.
Resume points and watched state are tracked per movie and per episode, so Continue Watching always knows the next thing to play.
Subtitles that just work.
Subtitle tracks from your files are right there in the player: pick a language, adjust as you watch, and keep reading through the loud parts.
AirPlay when you want the other screen.
Start on the iPhone at the kitchen counter, send it to the living room with AirPlay, and the playhead follows.
It plays on your device, not the server.
Echolair's apps decode audio and video right on your device, so titles play straight from the original and start fast, without leaning on the server. A few open-source libraries help under the hood, and Echolair's own format decoders cover the rest, so most files just play. Pick the audio language or subtitles you want, keep lossless audio exactly as it is, and drag the bar to see a thumbnail of where you'll land.
Watch it in black and white, if you want.
Flip a film to black and white, warm it up with sepia, or try color tints and other effects, live while it plays. It only changes what's on the screen; your original file is never touched.
Scrobble to Trakt.
Connect your Trakt account and Echolair logs what you watch as you watch it, so your movie and episode history stays up to date wherever you keep it.
A player that treats your collection like it matters.
Artwork-first Now Playing, lyrics that follow the song, and an EQ with a live visualizer, tuned for large libraries, lossless files, and long listening sessions.
Everything in reach, nothing in the way.
Artwork front and center. Controls that land under your thumb. Panels for the queue and lyrics that show up when you need them and fade when you don't.
Above the volume slider, a live spectrum moves with the music as it plays: bass on the left, highs on the right.
Tap the line. Sing along.
That line you've had in your head all day: tap it in the lyric panel and the player seeks straight there. Scroll ahead to browse without losing your place; the view locks, then snaps back when you stop. A Mini Lyrics overlay keeps the current line above the mini-player, so the words follow you everywhere in the app.
Your queue, fully in hand.
The queue panel slides up over Now Playing: drag tracks into order, clear what's next, shuffle the rest, or save the whole run as a playlist before it slips away.
Sixteen bands, tuned end-to-end.
Full range from 20 Hz to 20 kHz: a band for the deep sub-bass, a band for the top-end air, and fourteen more in between. Push any slider Β±12 dB; the player quietly nudges the overall level down just enough to keep loud settings from distorting.
Supporter Create your own profiles from scratch, name them, and swap between them mid-song.
Details that matter once you start listening.
The details that separate a good listen from a great one: lossless where the network allows, gapless albums, crossfaded sets, volume you trust across every source, and a sleep timer that fades the music out instead of cutting it off.
Lossless, as the files were made
Hear your hi-res files as they were made: FLAC and ALAC stream lossless, and WavPack, Monkey's Audio, and DSD play lossless from your downloads. You set the streaming quality for each network, and the defaults are ready out of the box.
Gapless, as the album intended
Albums play back-to-back the way the artist sequenced them, with no breath between the live tracks, no stutter between movements.
Surround and spatial audio
Full surround sound and spatial audio, played in their original mix, so your music sounds exactly as it was mastered.
Playback speed
Anywhere from 0.5Γ to 3Γ. Hear the detail in a slowed-down song or move quickly through a long track. Tempo and pitch move together, like a record on a turntable.
Crossfade, your way
Crossfade between tracks for a DJ-smooth set, or add a silent gap when you want breathing room. Play and pause fade gently so lock-screen resumes return smoothly.
Volume you trust, everywhere
Quiet and loud tracks play at a similar level, using the normalization metadata in your library, so it stays even from song to song. Set your own loudness target whenever you like.
Sleep timer with fade-out
Drift off to your library. The music fades gently as your timer runs out, easing into quiet instead of cutting off.
Infinity playback
When the queue runs dry, similar tracks from your own library pull in automatically, so the speakers stay on until you say otherwise.
A library that remembers how you listen.
Lists or grids per section, sort orders that stick, a jump bar that adapts to how you're sorted, and a search that handles typos, accents, and however you'd phrase it.
Scroll the whole library.
Every song, one list. Tap a letter on the side bar to jump straight to it, and the bar adapts to how you're sorted, so decades become year ranges when you sort by year.
What you listen to, recommended back to you.
Echolair picks up on what you actually play and builds a Recommendations row on the Home dashboard: albums, artists, and songs from your own library that match how you listen. The signal stays local to your library data.
Chapters, bookmarks, and position memory. Where your music already lives.
Audiobooks from your server ride alongside your music with chapter-aware navigation, per-book position memory, and iCloud-synced bookmarks you can annotate as you listen.
Every chapter, a row away.
Open the chapter queue right inside the player and tap to jump. Bookmarks live alongside, ready for a note when something lands.
Chapter-aware everything
Skip ahead from the player, the lock screen, CarPlay, or your Watch. Chapter markers show on the progress bar so you can land in the right section without thumbing the timeline.
Position memory per book
Each book holds its own place. Switch between three of them in a week and they all wait at the second you stopped, across every device on your Apple ID.
Bookmarks with notes
Mark any second of any chapter and attach a note for later. The bookmark list reads back like a reading journal, with chapter, timestamp, and what you wanted to remember.
Synced via your iCloud
Bookmarks and listening positions sync through your personal iCloud, never a third party. Leave off mid-chapter on the iPad, pick up where you stopped on the iPhone.
Subscribe, queue, and play. Without leaving Echolair.
Subscribe to public podcasts in the same player as your music. Browse the directory, queue episodes, and keep your place, no separate app required.
Top charts, categories, and your shows side by side.
Browse the public podcast directory, jump by category, or search by name. Subscribe and the show drops into the same Now Playing view that holds the rest of your library.
Subscribe right in the player
Search by show name, hit subscribe, and the show drops into the same Now Playing, lock screen, Apple Watch, and CarPlay views as your music.
Skips and sleep, tuned for talk
The forward/back jump buttons are sized for spoken word, so skipping an ad break or replaying a missed line is one tap. Hit Sleep and the same fade you trust on music walks the audio out instead of cutting it.
Episode downloads
Supporter Pull episodes for offline so the subway ride doesn't turn into silence. Downloads honor the same per-network data policies you set for music.
Bookmarks with notes
Supporter Mark the moment and attach a thought. Episode, timestamp, and whatever you wanted to remember, synced via your iCloud.
On-device transcripts
When a show provides no transcript of its own, speech recognition can transcribe the episode right on your device, so searchable text stays close to playback.
Episode context
Show notes and episode artwork stay connected to the player, so long-form listening keeps the same rhythm as music.
One player. Live from anywhere.
A jazz station out of New Orleans. K-pop from Seoul. Metal out of Stockholm. 55,000+ live stations from around the world, browsable by genre, country, US state, language, bitrate, and codec, sitting inside the same Now Playing, Apple Watch, and CarPlay views as the rest of your library. Save what sticks.
Browse first. Save when something sticks.
Top Voted and Most Clicked land first. Filter all the way down: genre, country, US state, language, bitrate, even codec. Tap one to start playing, and the station drops into the same Now Playing view that holds the rest of your library.
Radio for the living room.
The full station browser runs natively on Apple TV, so the kitchen-party station is a few clicks of the remote away, no phone required.
No setup. Just stations.
A community-curated station catalog is built in. No sign-up, no key to paste, nothing to dismiss. Top Voted and Most Clicked are the first thing you see, so there's always somewhere to drop in.
Mood. Place. Name.
Jazz, synthwave, lo-fi, old-time radio. Stations broadcasting from around the world and across the US. Or the one whose name is already at the tip of your tongue.
Saved stations, wherever you listen.
Save a station and iCloud shares the bookmark across every Echolair on your Apple ID, from the phone to the living-room TV.
Focus, relax, drift off.
Dozens of ambient soundscapes, generated live on device for endless, ever-changing sound. Layer up to three at once and adjust each one.
A live mix, not a playlist.
Browse a deep catalog across weather, water, fire, wildlife, tuned tones, and noise colors. Tap a sound to start, tap another to layer it in, and shape each one with its own controls.
Front and center on the player.
The Now Playing screen becomes your mix: one orb per sound, breathing with the audio. Tap an orb to drop that layer, or clear them all to stop.
Layer up to three
Tap one sound to start, tap another to blend it in: campfire under light rain under a soft wind. Your own mix, not a fixed track.
Generated on device
Every soundscape is synthesized live on your device. Nothing to stream, nothing to download, and it never repeats.
Tune every sound
Shape each layer with its own controls: volume, tone, intensity, and stereo width.
Tap an orb to remove
On the player your mix becomes living orbs, one per sound, breathing with the audio. Tap an orb to drop that layer.
A new queue, on demand, from your own music.
Smart Mix builds a fresh playlist from the songs already on your servers, with rulesets you can shape down to the decade, the genre, or the way you want to weight favorites. No external catalog. Songs come from your servers, and the rules stay tied to your library.
One sheet. Every rule.
Decade weights, genre locks, favorites-only, per-artist caps. Supporter Save the rules you reach for and run them by name later.
Built from your library
Smart Mix pulls from the music already on your servers. Not a recommendation engine in the cloud, not a third-party catalog. The mix is whatever you actually own.
Built into every playlist
Open a new or existing playlist and tap Generate. Smart Mix fills it with songs from your libraries, shaped by the recipe you pick. Refresh it any time you want a new take.
Custom rulesets
Supporter Tell Smart Mix exactly what to do: weight by decade, lock to a genre, limit to favorites, skip recently played, cap one song per artist. Save the rules you reach for and run them by name.
Daily Mixes, ready each morning
Fresh mixes generated from your own listening, waiting on the Home dashboard each day, named for the mood and built from your shelves.
Instant Mix from anything
Tap any song, album, or artist for an instant queue of similar tracks from your own library. Great when you know the vibe but not the next song.
Ready when the signal isn't.
Download with one tap. Shrink files to save space. Set data limits for each network so road trips don't eat your plan. Echolair switches between offline and streaming automatically as your signal comes and goes.
A browser for what's already on the device.
Perfect for the flight, the tunnel, anywhere with no reception. Every library section has a downloads-only filter, so any list narrows to just what's ready to play.
Download with one tap
Albums, artists, playlists, or single songs. Keep them at full quality, or shrink them to save space. Your storage, your call.
Permanent or prefetched
Tap to keep a song forever. Or let Echolair prefetch what's coming up in the queue over Wi-Fi and clear it as you move past, so the next track is already on the device when you need it.
Resumable background downloads
A 40-track album on flaky Wi-Fi won't start over when you switch networks. Each download backgrounds, pauses on no-signal, and resumes the instant you're back, even after the app closes.
Smart on every network
Full quality on Wi-Fi, lighter streams on cellular, with your own limits per network and per server. Set data caps before the road trip, not after.
Automatic offline mode
When the signal drops, Echolair switches to your downloads on its own, and switches back when you're connected again. No manual flipping, no dead air in the tunnel.
Wherever you press play, it's already there.
Apple Watch on your wrist. CarPlay on the road. iPad on the couch. MacBook at the cafe. Apple TV in the living room. The same library, handcrafted for each.
Apple Watch
CarPlay
Four tabs you can navigate without taking your eyes off the road. For You opens to the same hub your iPhone Home shows, with shelves of recommended albums, the day's Daily Mixes, the music you've been reaching for lately, and the favorites you've already built up. Library lands on Continue Listening so the last track is one tap back, with Quick Play right beneath it for an instant shuffle of your library, favorites, or downloads. Radio opens to Your Stations, with Top Stations across the top and the full directory a tap below. Podcasts mirrors that layout for shows. Episodes lean on the same player your music does, so variable speed and the fade-to-silence sleep timer work the same way on a long-form interview.
Now Playing keeps the queue and playback controls front and center, with menu options like Add to Playlist and Instant Mix one tap away.
iPad
Mac
One layout, every device.
Your home dashboard, section order, and view preferences sync through your personal iCloud, so the Mac at work and the iPhone on the train look the way you left them.
Reach any queue from any device.
Start a queue on your Apple TV, reorder it from your iPad on the couch, drop something in from your iPhone at dinner. Any device signed into your iCloud account can edit the queue on any of the others. Full breakdown over in Remote Control.
Apple TV
Run the queue together.
Host a party from your Apple TV and guests pick up the queue from their own phones. They scan a QR code, you approve them, and from then on anyone in the room can add a song, reorder the lineup, pull something out, or move a track up to play next. Whatever a guest changes gets sent out to every other joined device.
The TV is the host.
Party Mode runs from Apple TV: the QR code, the list of guests, the queue, and the now-playing artwork all live on the TV screen. Guests don't need an account on your server. They just need Echolair on their device.
Scan, request, approve.
A QR code on the TV. The guest scans from their phone. You approve, and they're in.
Per-guest permissions.
For each guest, choose what they can do: add songs, remove songs, jump the queue, or some combination. You can dial it back any time.
Everyone sees the same queue.
Additions, reorders, and queue jumps go out to every joined device as they happen.
Server-aware guests.
A guest signed into the same Echolair server can add songs from the library and see full track detail. Everyone else can still reorder, remove, and play next on what's already in the queue.
Hosting a party requires a Supporter subscription. Joining is free for anyone with Echolair installed.
Reach any queue from any device.
Sign in to the same iCloud account on every device and any of them can edit the queue on any of the others. Reorder what the Mac in the kitchen is about to play next. Pull a song out of the lineup on the Apple TV without getting up. Move the next album up to play right after this one. Whatever you change goes out to the playing device.
Their queue, your screen.
Open Echolair on a device that isn't playing, and the queue of whichever device is currently playing opens on your screen. Rearrange it, remove songs from it, jump it to a different song, or add to it from your own library when both devices are on the same server. Play, pause, and skip stay where the music's coming from.
Any device, any other device.
Phone, iPad, Mac, Watch, Apple TV. Any one signed into your iCloud account can edit the queue on any of the others.
Reorder, remove, jump.
Drag songs around to change what plays next. Swipe to take songs out. Tap a song deeper in the queue to make it the one playing now.
Add from your own library.
When both devices are signed into the same Echolair server, queue music straight from your library into the playing device's lineup. Reorder, remove, and jump work either way.
No pairing, no codes.
Same iCloud account on every device is the whole setup. No discoverable mode, no QR scans, no setup screen.
Free for everyone. No subscription, no in-app purchase. Same iCloud account on every device is the only requirement.
One queue. Every server you own.
Echolair servers are built in: connect as many as you're a member of and mix them in a single queue, each keeping its own libraries and folders. Unlock Jellyfin and OpenSubsonic support and the same queue spans every server type you run, all at once.
Echolair, built in
Every Echolair server you're a member of, browsable and playable from the same app. Pick which libraries sync on each device. Playlists pull from any of them, Instant Mix crosses between them, and the queue doesn't care which server sent what.
Quick Connect
For Echolair servers, skip the password: Echolair shows a short code and QR, you approve it from a device already signed in (or scan the QR with your camera), and you're in. Jellyfin servers work the same once Jellyfin is unlocked. No username or password to thumb in on a TV remote.
Jellyfin In-app
Unlock Jellyfin support to add the Jellyfin servers you're a member of alongside your Echolair libraries. Browse, download, and queue across both, all in one lineup.
OpenSubsonic In-app
Unlock OpenSubsonic support for Navidrome, Gonic, the Airsonic family, and any other OpenSubsonic-compatible server. However your music is served, it all lands in the same queue.
The stack built for Apple devices, top to bottom.
Most self-hosted setups bolt a third-party app onto someone else's server. Echolair is both halves, built together and in the same language, so the server and the app actually fit. And because it still works with Jellyfin and OpenSubsonic apps, it slots into what you already run instead of asking you to start over.
Which setup is right?
Just want to play your library?
Get the app and point it at a server you already run: Echolair, or Jellyfin and OpenSubsonic with a one-time in-app unlock. No server to install.
Want to host it yourself?
Add the free Echolair Server. One Docker container holds your library and the built-in web player, on your own hardware.
Bringing a server you already run?
Already running Jellyfin?
Keep it. The Echolair app unlocks Jellyfin support so your existing server plays in the same queue, and the Echolair server works with Jellyfin apps too, so your other Jellyfin players keep working if you add one. Nothing gets replaced; the Apple side just gets a first-party app.
Coming from Plex?
Echolair never routes your library through a third-party account, asks for a paid pass, or reports usage to anyone. The server is free, every server feature is on, and sign-in is to your own machine, not a cloud that sits between you and your files.
Using Navidrome or Gonic?
Those are music servers. Echolair answers OpenSubsonic requests too, so your existing OpenSubsonic apps keep playing, and the same server adds movies, TV, Live TV, audiobooks, and podcasts when you're ready for them.
Both halves, one design.
The server and the apps are developed together, so the whole thing feels like one cohesive, premium experience. New features land everywhere at once, downloads, lyrics, live TV, Party Mode, with no piece waiting on another to catch up.
Compatible, not captive.
Echolair works with the servers and apps you already have, and if you ever leave, your media is exactly where it always was: in your own folders, on your own disk.
Themes, stats, and privacy-first defaults.
Theme colors, alternate icons, listening stats with hundreds of achievements, NFC tap-to-play, and a Mojisand timer that plays your music. No ads, no trackers, no analytics. Your library lives on your server; your preferences sync through your personal iCloud.
Tap a tag, start the music.
Pick anything in your library, write it to an NFC tag, and a tap starts it playing. Make jukebox tags that go straight to playback, or generate a QR code or share link for the same content when there's no tag in reach.
Themes & icons
27 accent colors and a shelf of alternate app icons. Supporter unlocks the premium palette and icons; Lifetime adds exclusive gold themes and matching gold icons.
Stats & achievements
500+ achievements and listening insights across your library. Hidden badges reveal on unlock. Sync across devices via iCloud, or disable it entirely. It's your data.
Tap to play
Write an album, playlist, or station to an NFC tag and a tap starts it playing. QR codes and share links do the same job for people without a tag in reach.
Mojisand Separate app
Set any song as the sound a timer or alarm plays in Mojisand. When time's up, your music plays. Perfect for workouts, focus sessions, or waking up to a track you actually want to hear.
Privacy-first defaults
No tracking, no analytics, no in-app ads. Your media library comes from the servers you sign into; stats and sync use your personal iCloud, and optional account services are used only when you choose to sign in.
Everything on, from day one
All core functionality is available on purchase: playback, library, search, downloads, Cinema, Live TV, audiobooks, podcasts, radio, and iCloud sync. The optional Supporter subscription adds the premium palette, alternate icons, custom EQ profiles, Apple Watch streaming, Party Mode hosting, custom Smart Mix rules, and podcast episode downloads. Lifetime adds exclusive gold themes and icons.
The media stack you own, end to end.
Run the server for free and play your whole library right in your browser with the built-in web player. Want it native on your Apple devices, with offline, CarPlay, and the Watch? The app is a one-time purchase, no subscription required. No media or hosting is bundled in; the library is yours to bring.