Skip to content

yuroyami/syncplay-mobile

Repository files navigation

Synkplay

Synkplay

Watch videos together, in sync. An unofficial Syncplay client for Android & iOS.
The "k" stands for Kotlin.

Android 8.0+ iOS 14.0+ Kotlin Multiplatform License


Download

Recommended Alternative Store
Android GitHub Releases IzzyOnDroid Google Play
iOS App Store AltStore Source Download IPA
Notes on downloads
  • Android (GitHub): Each release ships per-ABI APKs plus a universal one. Most modern phones want arm64-v8a; pick universal if unsure. GitHub releases are recommended over the Play Store, which can lag behind.
  • Android (IzzyOnDroid): A lightweight APK built from the exoOnly flavor, so it carries only the ExoPlayer engine (no bundled mpv/VLC native libraries). Package id com.reddnek.syncplay.
  • iOS: The "Download IPA" button always points to the latest release. No App Store access? See the iOS sideloading guide for AltStore and other methods (jailbroken and non-jailbroken).

Screenshots

Home screen Β Β Β Β  Room screen


Features

  • Full Syncplay compatibility. Connects to the same servers and works seamlessly alongside the official PC client.
  • Protocol rewritten from Python to Kotlin, covering every core feature.
  • mpv on both platforms. libmpv powers playback on Android and, since v0.22.2, on iOS too.
  • Multiple video engines. Switch player at runtime to suit your device and format.
  • Real-time chat with emoji and inline GIFs.
  • Shared playlists for sequential group viewing.
  • TLS encryption for secure connections.
  • Picture-in-Picture mode.
  • Managed rooms and a readiness system.
  • Highly customizable. Deep settings for UI, playback, gestures, haptics, and more.
  • Built-in server. Host a room straight from the app, no PC required.
  • Multi-language support via community translations.

Platform Capabilities

Feature Android iOS
Chat βœ” βœ”
Managed Rooms βœ” βœ”
Shared Playlists βœ” βœ”
TLS βœ” (Netty) βœ” (SwiftNIO)
Picture-in-Picture βœ” βœ” (AVPlayer only)
Built-in Server βœ” βœ”
Saved Shortcuts βœ” βœ”

Video Engines

Android

Engine Default Formats Subtitles Chapters Notes
mpv (libmpv) βœ” (full build) Broad, incl. HEVC / mkv Best (libass) βœ” Recommended
ExoPlayer (Media3) βœ” (lite build) Device codecs Basic βœ— Lightweight, ships in the IzzyOnDroid build
VLC (libVLC) All formats βœ” βœ” Experimental

iOS

Engine Default Formats Subtitles Chapters Notes
MPVKit (libmpv) βœ” Broad, incl. HEVC / mkv Best (libass) βœ” New in v0.22.2, recommended
VLCKit (MobileVLCKit) All formats βœ” βœ”
AVPlayer (AVFoundation) Device codecs βœ— βœ— Experimental, native Apple player

Architecture

Built with Kotlin Multiplatform and Compose Multiplatform: one shared codebase for Android and iOS.

Layer Technology
UI Compose Multiplatform
Networking Netty (Android) Β· SwiftNIO (iOS) Β· Ktor (shared fallback)
Android players mpv (libmpv) Β· ExoPlayer (Media3) Β· VLC (libVLC)
iOS players MPVKit (libmpv) Β· VLCKit (MobileVLCKit) Β· AVPlayer (AVFoundation)

FAQ

Can I watch with friends who use Syncplay on PC?

Yes. Synkplay speaks the same protocol, connects to the same servers, and supports the same core features.

Android says "App not installed" when updating?

Uninstall the previous version first, then install the new APK. This usually means the signing key or ABI differs from what you had.

I don't have access to the iOS App Store.

Sideload via AltStore (non-jailbroken) or install the .ipa directly (jailbroken).

Which iOS engine should I pick?

MPVKit is the default and handles the widest range of formats and subtitles. VLCKit is a solid fallback. AVPlayer is native but limited (no external subtitles or chapters).


Translating

Translation status

Contributions welcome! Click the badge above to add or improve translations on Weblate.

Thanks to @Zhaodaidai (Chinese), @DoncanC (Spanish), and @ivy-reps (Russian) for their translations.


Building

Requirements: Android Studio 2025.3.1+ (and Xcode 16.3+ for iOS).

Clone the repo and open it in Android Studio. No extra configuration needed for the Android build.


Acknowledgments

  • Official Syncplay for maintaining such remarkable software
  • Et0h for his work on official Syncplay and help in our issue tracker
  • soredake for thorough testing
  • Osanosa for valuable contributions
  • Everyone who contributed translations

Feedback

Open an issue for bugs or feature requests, or start a discussion for general questions.


Licensed under AGPL-3.0

About

πŸ“± Syncplay Mobile (now Synkplay) is a Syncplay client app for Android and iOS. Watch stuff in sync with your friends. Compatible with Syncplay PC. Fully written in Kotlin and Compose multiplatform.

Topics

Resources

Stars

Watchers

Forks

Sponsor this project

Contributors