KDE Connect is a free and open-source, licensed under the GNU General Public License (GPL) versions 2 and 3, multi-platform application developed by the KDE community that facilitates seamless wireless communication and integration between devices, such as smartphones, tablets, and computers, over local networks.[1][2] It enables users to share files, links, and notifications across devices while providing remote control capabilities, all without requiring physical connections or internet access beyond the local area.[1]Key features of KDE Connect include bidirectional file and link sharing, synchronization of phone notifications to the desktop with options for quick replies, customizable commands for actions like locking screens or shutting down devices, and remote control of music playback or presentations using the phone as a trackpad.[1] It also supports ringing the phone from the desktop, checking battery levels, and browser integration for sharing links or controlling media in applications like Firefox and Chrome.[1] It uses end-to-end encryption for secure local communications and supports tunneling over VPNs like OpenVPN for remote access, ensuring safe data transfer in multi-device environments.[1][3]Development of KDE Connect began in 2013 as an initiative to bridge desktop and mobile ecosystems, with early demonstrations showcasing basic device pairing and notification syncing.[2] Led by key contributors including Albert Vaka and Nicolas Fella, the project is hosted on KDE's GitLab repositories and relies on frameworks like Qt for the desktop version and Android SDK for the mobile app, supporting platforms including Linux, Windows, macOS, Android, and iOS (with some features limited on iOS).[2] It is actively maintained through community contributions (as of 2025), with releases distributed via official channels like the Google Play Store, F-Droid, Microsoft Store, and Apple App Store, emphasizing accessibility and ongoing enhancements for cross-platform compatibility.[2]
Introduction
Overview
KDE Connect is a free and open-source, multi-platform application developed by the KDE community to enable wireless communication and data transfer between devices over local networks.[1][4]The software's primary purpose is to bridge desktops and mobile devices, facilitating seamless sharing of notifications, files, and control functions to enhance user workflow across platforms.[5]It employs a general peer-to-peer architecture that operates over local Wi-Fi or similar networks, eliminating the need for a central server and relying on direct devicediscovery and pairing.[3][2]KDE Connect is distributed under the GNU General Public License (GPL) version 2 or later, ensuring its openness for modification and redistribution.[4] The official website is available at kdeconnect.kde.org, with the primary source repository hosted on KDE's GitLab instance at invent.kde.org/network/kdeconnect-kde.[1][4]
Supported Platforms
KDE Connect primarily supports Linux desktops, where it is integrated into the KDE Plasma environment and available across major distributions through KDE Gear packages. It functions on all desktop environments, including GNOME (though users may prefer the GSConnect alternative for better integration).[6][3]On mobile devices, Android serves as the core platform, with the KDE Connect app distributed via Google Play, F-Droid, and Huawei AppGallery. This enables seamless pairing with desktop counterparts, particularly Linux systems, over the same local network.[6][7][8]For additional desktop support, Windows has been stable since its official release in 2021, offering full compatibility through installers available on the Microsoft Store, Chocolatey, or as offline packages from the KDE content delivery network (CDN). macOS provides unstable nightly builds for both ARM64 and x86_64 architectures, downloadable from the KDE CDN, though it lacks official stable support.[2][6]Mobile support extends to iOS via a native app on the Apple App Store, which offers core features like file sharing and notifications but is limited by Apple's restrictions on background processes and network access. Sailfish OS users can access KDE Connect functionality through the Sailfish Connect client, available on OpenRepos.[9][6][10]Cross-platform compatibility requires all devices to be on the same local network for discovery and pairing, with the Android-Linux combination providing the most mature and reliable experience due to native integrations.[3]Installation on Linux desktops typically occurs via distribution package managers, such as apt on Debian-based systems or dnf on Fedora, pulling from KDE Gear repositories. Windows installations use the Microsoft Store app, Chocolatey (choco install kdeconnect), or direct MSI/EXE downloads from the KDE CDN. For Android, users install the APK directly from Google Play, F-Droid, or sideload via APKMirror for the latest builds. iOS and Sailfish OS installations are app-store based, with no additional configuration needed beyond network setup.[6][2]As of November 2025, the latest stable desktop version is 25.08.3, released on November 6 as part of KDE Gear 25.08.3, while the Android app reaches version 1.34.2 (November 10). Windows and macOS builds align with this release cycle, and iOS updates are managed through the App Store.[11][12]
History and Development
Origins and Early Development
KDE Connect was founded in 2013 by Albert Vaca Cintora as an official project within the KDE community, aimed at enabling seamless communication between Android smartphones and Linux desktops running the KDE Plasma environment.[2][13] The initiative addressed a key gap in the open-source ecosystem at the time: the absence of native, integrated tools for synchronizing notifications, sharing media, and controlling devices across mobile and desktop platforms, which often required cumbersome workarounds like emailing files or manual Bluetooth transfers.[13][14] Vaca, a software developer from Barcelona with expertise in Android and C++, led the initial development.[15]The project's early development began as Albert Vaca's Google Summer of Code (GSoC) initiative under KDE mentorship in 2013, spanning three months of intensive coding to prototype core connectivity features.[16] The first public release arrived later that year, introducing basic functionalities such as device discovery over local networks, notification synchronization from Android to the desktop, and initial file sharing capabilities like WiFi-based photo transfers.[13][16] Additional early features included battery level reporting from the phone to the desktop and media control integration, such as pausing music during incoming calls, all built around a plugin-based architecture to facilitate extensibility.[17][18] By the end of GSoC, the project had evolved from concept to a functional prototype, with Vaca committing to ongoing maintenance despite unresolved challenges like encryption refinements.[18]From its inception, KDE Connect was hosted on KDE's official infrastructure, initially using anonymous Git repositories on git.kde.org for version control and collaboration.[13] Community involvement was encouraged from the start, with Vaca soliciting feedback and contributions through his development blog and KDE channels, laying the groundwork for a collaborative open-source effort. The project has since benefited from additional GSoC students (five in total) and key contributors including Nicolas Fella.[13][14][2] The project targeted KDE Plasma on Linux desktops and Android devices (requiring version 4.1 or later) as its primary platforms, prioritizing secure WiFi-based pairing while planning future support for alternatives like Bluetooth and USB.[2][13]
Key Releases and Milestones
KDE Connect saw significant feature expansions between 2016 and 2020, including enhanced remote control capabilities for media playback and presentations. Limited iOS support was added in 2022 through a native port on the App Store, developed from earlier efforts originating in a 2014 GSoC project.[19][9] The project became part of the KDE Applications bundle around 2014, which was renamed to KDE Gear in April 2021, aligning its updates with the broader suite of KDE applications for synchronized biannual releases.In 2021, KDE Connect achieved a major milestone with the official stable release for Windows via the Microsoft Store on June 23, broadening accessibility to non-Linux desktop users.[20]The project announced its KDE Connect 2.0 roadmap in April 2023, emphasizing improvements to discovery and transport protocols, funded by an NLnet grant to modernize internals for better cross-device compatibility without immediate new features.[21] As of 2025, this initiative remains in development and unreleased.[22]From 2024 to 2025, KDE Connect received ongoing enhancements through the KDE Gear 25.08 series, which included bug fixes such as support for uppercase keysyms in portal input and translation updates in its October 2025 maintenance release (25.08.2).[23] The Android app reached version 1.33.9 in October 2025, focusing on bug fixes and improved translations.[24] macOS support advanced via improved nightly builds, enabling unofficial but functional use on Apple hardware.[2]Key milestones include widespread adoption in major Linux distributions such as Fedora and Ubuntu, where it is packaged by default for easy installation.[6] The Android version has surpassed 1 million downloads on Google Play, reflecting strong user uptake.[25] An active contributor base has been fostered through KDE Akademy conferences, where developers collaborate on enhancements and protocol improvements.[26]
Technical Implementation
Communication Mechanism
KDE Connect primarily relies on TCP/IP over local Wi-Fi networks for inter-device communication, utilizing dynamic ports in the range of 1714 to 1764 for both TCP and UDP traffic.[3] This setup enables secure and efficient data exchange between paired devices, such as smartphones and desktops, while requiring firewall configurations to allow the specified port range to prevent connectivity issues.[3]Device discovery occurs through multicast DNS (mDNS) and UDP broadcasts, allowing devices to advertise their presence on the local network automatically.[2] For initial pairing, when devices discover each other on the local network, users accept a pairing request notification displayed on both devices to establish trust, after which devices maintain a persistent connection for ongoing interactions.[3] This process ensures that only authorized devices can communicate, with pairing typically confined to the same subnet unless manual IP configuration or VPNs are employed.[3]Data transmission employs JSON-formatted packets for lightweight commands and small payloads, such as notifications or media controls, while larger file transfers leverage SFTP for secure and reliable handling.[2] On Linux desktops, the KDE Connect daemon interfaces with system services via DBus, facilitating integration with components like notification daemons and media players without direct network involvement for these interactions.[2] As an alternative to Wi-Fi, Bluetooth support is enabled by default since version 24.08.1 (as of 2025), allowing connectivity after pairing the devices via Bluetooth, particularly when wireless networks are unavailable.[3] The protocol incorporates encryption to protect transmitted data, with details on the specific mechanisms covered in the security section.[2]
System Integration
KDE Connect integrates deeply into desktop environments, particularly KDE Plasma, where it appears as an icon in the system tray displaying a list of paired devices and their connection status. This tray integration allows users to quickly access device management options and monitor real-time updates, facilitated by DBus signals that notify applications of events such as device pairing or notification arrivals.[3][27] On other desktops like GNOME or XFCE, it operates through Qt-based components without native Plasma-specific UI elements, ensuring broader compatibility while maintaining core functionality.[27]On mobile platforms, the Android version of KDE Connect runs as a persistent background service, enabling seamless, uninterrupted communication even when the app is not in the foreground. This service handles tasks like receiving notifications and syncing data without user intervention, leveraging Android's service architecture for reliability.[3][28] In contrast, the iOS implementation faces restrictions due to Apple's sandboxing policies, limiting it primarily to foreground notifications and basic pairing, without support for background processes or advanced syncing features.[3][29]Cross-application integration is achieved through system-level APIs, such as clipboardsynchronization that hooks into platform-specific mechanisms to share text content bidirectionally between devices. For media control on Linux desktops, KDE Connect utilizes the MPRIS (Media Player Remote Interfacing Specification) interface to interact with compatible players like VLC or Spotify, allowing remote playback commands from mobile devices.[3][27] Equivalent hooks on other platforms, such as Android's media session APIs, provide similar functionality for cross-device media management.[3]Browser extensions enhance web-related integration, with support for Firefox and Chrome through the Plasma Browser Integration framework, which enables sharing of links and tabs directly to paired devices via context menu options. These extensions also allow media control from browsers, such as pausing or skipping tracks in web-based players using desktop media keys or remote inputs.[30] This setup builds on KDE Connect's underlying communication protocol to facilitate smooth data exchange without disrupting browser workflows.[30]Customization of integration is handled through a graphical user interface in the desktop application, where users can configure auto-pairing rules based on device proximity and selectively enable or disable plugins to tailor system hooks. Mobile apps offer similar GUI options for managing connections and service behaviors, ensuring users can adapt the integration to their privacy and usability preferences.[3][27]
Features
Core Capabilities
KDE Connect's core capabilities center on seamless integration between mobile devices and desktops, enabling users to share information and control functions without additional extensions. These built-in features facilitate everyday workflows by bridging the gap between handheld and stationary computing environments, primarily through a wireless local network connection.[1]One of the primary functions is notification syncing, which forwards alerts from the connected phone to the desktop for immediate visibility. Users can view incoming messages, calls, and app notifications on their computer screen, with options to reply directly from the desktop or dismiss them to maintain synchronization across devices. This ensures that users do not miss important updates while working on their primary machine.[31][27]File and URL sharing provides straightforward transfer mechanisms, supporting drag-and-drop operations for sending photos, documents, or web links between devices. Additionally, remote file browsing allows users to access and retrieve files from the phone's storage directly from the desktop interface, streamlining content exchange without cables or third-party apps.[32][1]The shared clipboard feature enables copy-paste functionality across devices, allowing text, images, or other supported content copied on one device to be pasted on the other seamlessly. This bidirectional synchronization enhances productivity by eliminating the need to re-enter or re-capture information during multi-device sessions.[27][33]Remote input transforms the phone into a virtual peripheral for the desktop, offering a touchpad for mousecontrol and an on-screen keyboard for text entry. This capability is particularly useful for presentations or when the desktop's physical inputs are inaccessible, providing precise navigation and typing from the mobile device.[34][1]Multimedia control allows the phone to serve as a remote for desktop media playback, including commands to play, pause, skip tracks, and adjust volume levels. For slideshows, it extends to a presentation remote mode, enabling slidenavigation and basic pointer functions to support live demonstrations without interrupting the flow.[35][27]Device status monitoring displays the phone's battery level in the system tray, offering at-a-glance power insights. It also includes a "find my phone" option that triggers a ringing alarm on the device, even if set to silent, to locate it nearby. These utilities promote device awareness and quick recovery in daily use.[36][37][20]While these core capabilities form the foundation, KDE Connect supports optional plugins for further customization beyond standard functionality.[2]
Plugins and Customization
KDE Connect employs a modular pluginarchitecture that allows users to enable or disable over 20 optional plugins, extending its core functionality with specialized features such as contacts synchronization, screensaver inhibition, and connection pinging.[3] These plugins operate independently, enabling selective activation based on user needs, and are configured per connected device through the application's settings interface. For instance, the "Inhibit Screensaver" plugin prevents the desktopscreensaver from activating while devices are paired, while the "Ring My Phone" plugin triggers an alarm sound on the mobile device to aid in locating it.[3]A key aspect of customization lies in the "Run Commands" plugin, which permits users to define and execute shell scripts on the desktop from the mobile device, facilitating actions like locking the screen, shutting down the system, or adjusting volume levels.[3] To add a custom command, users access the plugin settings, specify a name and the corresponding shell script—such as systemctl poweroff for shutdown or loginctl lock-session for screen locking—and save the configuration.[38] Examples include capturing screenshots with spectacle -b and automatically sharing them to the phone, or toggling mute via desktop-specific shortcuts like qdbus org.kde.kglobalaccel /component/kmix invokeShortcut "mute".[39] This feature supports integration with device controls on Android 11 and later, allowing quick access to predefined actions from the phone's interface.[3]Telephony integration is handled through dedicated plugins that enhance call and messaging workflows on supported platforms. The "Telephone Integration" plugin displays incoming call notifications on the desktop, while the SMS plugin enables viewing, composing, and sending text messages directly from the computer, syncing with the phone's inbox for seamless management.[2] These capabilities rely on permissions granted to the mobile app and are primarily available on Android, where full access to telephony APIs is permitted.[3]However, plugin availability varies by platform, with some features restricted to Android due to iOS sandboxing and background execution limitations. For example, automatic clipboard sharing is limited on iOS requiring manual pushes, file receiving from desktop to iOS is not supported, and notifications require the app to remain in the foreground.[9] On Android, additional hurdles include scoped storage in version 10 and later, which necessitates manual clipboard pushes or ADB workarounds for full functionality.[3]Configuration options are managed within the KDE Connect app on both devices, where users can toggle individual plugins, set hotkeys for commands, and define rules for behaviors like pausing media during calls.[3] File sharing destinations can be customized beyond the default Downloads folder, and device renaming ensures clear identification across paired systems.[3] This in-app approach allows for tailored automation without external tools, though advanced scripting may require familiarity with shell commands.[38]
Security and Privacy
Encryption Protocols
KDE Connect secures all communications between paired devices using Transport Layer Security (TLS) version 1.2 as the primary encryption protocol. This applies to data in transit following the initial pairing process, protecting features such as notifications, clipboard sharing, and remote input against interception on the local network. The TLS layer ensures confidentiality and integrity for all packets exchanged over TCP connections established after discovery via UDP broadcasts.[40]File transfers in KDE Connect are conducted via SFTP over SSH, offering an independent encrypted channel for secure uploads, downloads, and remote file system browsing. This protocol uses SSH keys exchanged during pairing for authentication, ensuring end-to-end protection for binary data without relying solely on the main TLS stream. In 2024, the SSHD library in the Android app was updated via a Google Summer of Code project to enhance security for file sharing.[3][41]To support legacy devices, KDE Connect includes backward compatibility with older TLS versions, configurable by disabling stricter requirements in settings, though modern installations default to TLS 1.2 for improved security. Notifications and similar low-latency features leverage the TLS encryption but operate exclusively over the local network, without additional end-to-end measures beyond the device-to-device transport layer.[40][42]
Privacy Features
KDE Connect employs a granular permission model that allows users to enable or disable individual features on a per-device basis, ensuring control over data sharing. For instance, plugins such as notifications, clipboard synchronization, and contact access can be toggled independently through the application's settings interface, requiring explicit opt-in for each functionality. On Android devices, this extends to system-level permissions like storage access for file sharing, contacts for caller identification, and notifications for syncing alerts, all of which must be manually granted by the user.[40][3]Data handling in KDE Connect is designed to prioritize user privacy by restricting all communications to the local network, with no involvement of cloud storage or external servers. Information exchanged between paired devices—such as files, clipboard content, or SMS messages—remains confined to direct peer-to-peer transmission, and connections automatically terminate when devices leave the shared network, preventing unintended data exposure during network changes. Additionally, KDE Connect collects no telemetry data by default, aligning with KDE's broader policy of opt-in usage statistics only for select applications, and no personal information is transmitted to third parties.[40][43][3]Potential risks associated with KDE Connect primarily stem from its reliance on local network broadcasts for device discovery, which could expose it to snooping by other devices on the same network; however, this is mitigated through end-to-end TLS encryption for all traffic, ensuring that intercepted data remains unreadable. Remote access is impossible without explicit pairing, as devices must authenticate via a secure handshake before any features activate, and unpaired devices cannot initiate connections. For scenarios involving untrusted networks, integration with OpenVPN—introduced in documentation updates around 2024—enables secure tunneling by bridging the VPN in TAP mode for automatic discovery or using manual IP pairing in TUN mode, extending local-network-like privacy over wider connections.[40][3]Overall, these mechanisms support adherence to GDPR principles by emphasizing user consent, data minimization, and transparency, with no default collection of personal data and full control over shared information.[43][44]