Install any app on your Samsung TV.
Apps2Samsung is a small cross-platform tool that side-loads any app onto Samsung devices running Tizen OS (Smart TVs, projectors and smart monitors):
Jellyfin, Moonlight, Moonfin, Litefin, TizenTube and the whole community catalog, or your own .wgt.
It handles device detection, certificates, and installation so you don’t have to fight with Tizen Studio or manual sideloading.
🌐 Available in 30 languages and starts in yours. Missing a word, or your language? Help translate on Crowdin.
| Channel | Version | Notes |
|---|---|---|
| Stable | v3.0.0 | Recommended for most users |
| Beta | N/A | Includes new features |
👉 All releases: https://github.com/Apps2Samsung/Apps2Samsung/releases
The phone app is the mobile installer head: run the whole install from your phone.
- Obtainium: tracks this repo's GitHub releases and updates automatically when a new stable is published. Add it with one tap:
Add to Obtainium, or paste
https://github.com/Apps2Samsung/Apps2Samsunginto Obtainium's Add App. - F-Droid: add our repository in the F-Droid app (Settings → Repositories → Add):
https://apps2samsung.com/fdroid/repo. It serves the latest stable and updates automatically. Works in F-Droid, Droid-ify and Neo Store. - Direct: grab the
-android.apkfrom any release and sideload it.
Since v3 there is an iPhone app too, with the same screens as the Android one. It isn't on the App Store: you install it with SideStore, which signs it on the phone with your own Apple ID (a free one works). It is new and hasn't been through a full install on a real iPhone yet, so expect rough edges and please report what you find in #753.
- Install SideStore once, following their guide (needs a computer and a cable once, plus Developer Mode on the iPhone and the VPN app SideStore asks for).
- In SideStore, go to Sources → + and add
https://apps2samsung.com/sidestore/beta/apps.json, then install Apps2Samsung from it. Or download the-ios-unsigned.ipafrom the latest beta release and add it under My Apps → +. - Open the app and allow Local Network access when iOS asks: without it the app can't find your TV.
Good to know:
- A free Apple ID signs apps for 7 days. SideStore refreshes them in the background; if the app stops opening, open SideStore and refresh it. If SideStore itself expired, you need the computer again.
- A free Apple ID allows 3 sideloaded apps at once, SideStore included.
- Keep the app in front during an install: iOS pauses apps in the background.
- Waking the TV from the remote may not work on iPhone (iOS blocks the network broadcast it needs for apps signed with a free Apple ID).
The official apps2samsung package is published by this repo's release workflow, so it follows every stable release:
yay -S apps2samsung # or paru -S apps2samsungIt installs the same build as the .deb/.rpm (x86_64 and aarch64). Other Linux distros: take the .AppImage, .deb, .rpm or .tar.gz from the releases.
Packaging it yourself? Build the desktop app with -p:DisableSelfUpdate=true to compile out the in-place self-update action (the app will still check for and announce new versions, but points to your package manager instead of replacing its own files). Useful for read-only or package-manager-owned installs such as Nix or Homebrew.
Every release also ships apps2samsung-cli: one self-contained binary per platform (Apps2Samsung-cli-<version>-<platform>.zip or .tar.gz on the releases page). It runs the same catalog, certificate and install pipeline as the apps, from a terminal, a script, or an AI agent that has a shell.
apps2samsung-cli scan # find TVs, and whether each is ready
apps2samsung-cli catalog jellyfin # what can be installed (name, description, files)
apps2samsung-cli install "Moonfin" --tv 192.168.1.50 # download, sign, install, launch
apps2samsung-cli installed --tv 192.168.1.50 # what is on the TV, with catalog versions
apps2samsung-cli cert --tv 192.168.1.50 # which certificate covers this TV--jsonon any command prints one JSON document on stdout (progress stays on stderr); exit codes are 0 done, 1 failed, 2 usage, 3 stopped at a pre-install check that--yescontinues past.- The first install for a TV creates a signing certificate, which needs a Samsung account sign-in in a browser on the same machine (
--no-browserprints the address instead). Certificates are shared with the desktop app's folder, so a TV set up there needs no sign-in here. - Apps that ask for values before installing (an API key, a server address) take them as
--set key=value;cataloglists the keys. - Apps marked
(root)incataloggain root on the TV and only install with--allow-root.cert --prepare --duids <DUID>makes a certificate for a TV you can't reach over SDB, such as one whose Host PC IP is127.0.0.1. - macOS blocks a downloaded binary until
xattr -d com.apple.quarantine apps2samsung-clihas run once.
- Finds your TV: scans the network for Samsung TVs, or enter an IP by hand, and says exactly what's wrong when a TV isn't ready (Developer Mode off, IP mismatch, reversed IP, needs a power cycle).
- Handles the certificate: signs in to Samsung once and reuses the certificate per TV. Pre-authorize extra TVs by DUID; Public/Partner certificates are picked automatically when an app needs restricted privileges.
- Installs anything Tizen: the community catalog (110+ apps), the Jellyfin builds, or your own
.wgt/ native.tpk. - A catalog you can browse: apps grouped by category with search, a sheet per app (description, versions or variants, source link), and favorites at the top. Adult (18+) apps stay hidden until you opt in; apps that gain root on the TV carry a
rootbadge and ask for confirmation before they install. - Asks what an app needs: apps that need your own values (an API key, a server address, a port) get a short form before installing, filled in for you again on the next update.
- Manages installed apps: list them with their icons and the catalog's newest version, update in one click, or uninstall, launch, stop, debug (inspector forwarded to
chrome://inspect) and force-remove a leftover package. A TV that refuses an app's package id can take it under a new one, remembered per TV. - Doubles as a TV remote: D-pad, playback, volume, channel, power and live typing over Samsung's own remote channel. No Developer Mode needed.
- Tunes apps at install: Jellyfin server + auto-login, JellyThemes/custom CSS, playback preferences, server plugins and the YouTube-trailer fix; TVapp channels; ImmiTV's Immich server + login; Camera PiP's cameras; custom launcher icons and titles.
- Diagnoses TVs: DUID, Tizen version, model and Developer Mode state, plus a live TV log console you can save.
- Backup & restore: move your settings and signing certificates to another PC, Mac or phone in one file.
- TV-Store on the TV itself: install TV-Store from the catalog, press Arm TV-Store in the TV toolbox once, set Developer Mode's Host PC IP to the TV's own address, and the TV browses and installs catalog apps by itself, without a PC or phone. Every catalog and package it installs is checked against a signed catalog.
- Updates itself: in-app updater on desktop and Android, with an optional beta channel.
Before you begin, ensure your Samsung TV is in Developer Mode. This is required to install apps on it.
👉 How to enable Developer Mode on your TV
- Run the tool on your computer, or the Android or iPhone app on your phone
- Select your Samsung TV
- Pick an app (Jellyfin, the community catalog, or a custom
.wgt) - Install
That’s it. No manual certificate handling required in most cases.
🎥 Full walkthrough:
https://www.youtube.com/watch?v=_8mSV5pW-ic
NixOS: Clone the repository and run nix-shell; the shell environment will automatically build and launch the tool.
All detailed documentation lives in the wiki:
- 🚀 Quick Start
- ❓ FAQ
- ⚙️ Configuration & Jellyfin Settings
- 🔮 Alternative Install Methods
- 🗑️ Uninstall / Remove
Orsay-based TVs (pre-2015 models) are no longer supported.
Community-shared and older .wgt builds can be found here:
https://github.com/Apps2Samsung/tizen-community-packages
Contributions of all kinds are welcome, whether it’s bug reports, feature requests, code, documentation, or translations.
- Bug reports & feature requests: Issues
- Ideas, feedback & questions: Discussions
- Community chat: Discord
Want to help translate Apps2Samsung? Community translations are always appreciated.
You can contribute on Crowdin:
You can help by translating missing strings, improving existing translations, or reviewing your language.
Translation updates are synced back into this repository automatically.
If this tool helped you, consider supporting its development:
This project is made possible by the people who contribute their time, knowledge, and feedback.
Special thanks to:
- jeppevinkel: for providing the Jellyfin Tizen
.wgtbuilds
https://github.com/jeppevinkel/jellyfin-tizen-builds - @RadicalMuffinMan: for the Moonfin client and related work
https://github.com/Moonfin-Client/Smart-TV - @MoazSalem: for the Litefin client and related work
https://github.com/MoazSalem/litefin/ - @reisxd: for TizenTube and related work
https://github.com/reisxd/TizenTube
Apps2Samsung is released under the MIT License.
Third-party components redistributed in Apps2Samsung builds (bundled binaries, Samsung CA certificates, NuGet dependencies, fonts and app artwork) are listed in NOTICE.md.