easysync next to other tools
Facts about easysync, LocalSend, Syncthing, KDE Connect and PairDrop, side by side. Every cell names its source, and the sources are at the bottom of the page.
Status of this page: . The versions compared are LocalSend 1.18.2, Syncthing 2.1.6, KDE Connect 26.08.2 and PairDrop 1.11.2. The statements about these tools are to our knowledge and without warranty of completeness. The other tools change, so check their own documentation.
Found a mistake? Write to hello@easysync.me and we will check the source and correct the page. (Security problems go to security@easysync.me, see Open source.)
easysync is pre-release software: there is no release yet and no external security review. We make easysync, so read the sources rather than taking our word for it.
The facts, tool by tool
The table scrolls sideways on a narrow screen; its first column stays in view. Where a source does not say something, the cell says "not described" or "not checked", which is not the same as "no". For these cells the source is the document we looked in.
| Topic | easysync pre-release | LocalSend version 1.18.2 | Syncthing version 2.1.6 | KDE Connect version 26.08.2 | PairDrop version 1.11.2 |
|---|---|---|---|---|---|
| Connection on the local network | Direct QUIC over UDP between the paired devices. The end-to-end encryption (Noise) sits inside the connection and does not depend on the transport. [R1] | REST API over HTTPS (the encrypted mode; an HTTP mode exists too) on TCP port 53317 by default. [S1] | Block Exchange Protocol over TLS. [S6] | A TCP connection that is upgraded to TLS, on TCP ports 1716 to 1764. UDP port 1716 is used for discovery. [S15, S16b] | WebRTC between browsers. [S19] |
| Connection over the internet | Through a relay over WSS (WebSocket over TLS), or to an address the other device can reach directly. Relays are self-hosted: the relay server is part of the repository, a deployment has its own access token, and the documents describe no hosted relay. [R1, R11] | No relay server is described in the protocol, which states that it does not rely on any external servers. The README describes sharing with nearby devices over the local network. [S1, S3] | Relays from a public pool, or private relays. Relaying is on by default and is used when two devices cannot connect directly. [S4, S8] | Documented: running over an OpenVPN network, and adding a device by its IP address. A relay server is not described in the protocol reference. [S17, S15] | Paired devices and temporary public rooms. Devices behind a NAT connect through a TURN server. A WebSocket fallback is an optional server setting; it is off by default and is not used on pairdrop.net. [S19, S20] |
| What the relay or server can see | The relay sees IP addresses, which addresses are connected through it, connection timing and duration, and data volume. IP addresses can link sessions. It does not receive clipboard text, file contents or keys. [R2] | Not applicable as far as the protocol goes: it describes no relay server. [S1] | A relay learns the device IDs and IP addresses of the devices that connect to it, and the amount of traffic. The data stays end-to-end encrypted. [S4, S8] | Not applicable as far as the protocol reference goes: it describes no relay server. [S15] | Data travels between the devices where possible, and through the TURN server for devices behind a NAT. What the TURN and signalling servers can see is not described in the README or the deployment notes. With the optional WebSocket fallback, traffic is routed through the server and the server can read it. [S19, S20] |
| Pairing | An invitation valid for up to 3 minutes carries a single-use 128-bit capability. Both users compare and confirm a six-digit code. [R3] | No pairing step is described in the protocol README. A transfer request can require a PIN. [S1] | The ID of the other device (an identifier in groups with check digits) is added in the configuration, and the connection is checked against it. [S5] | One device sends a pairing request and the user of the other device accepts or rejects it. The prompt may show a short authentication string of 8 hexadecimal characters. [S15] | A 6-digit code or a QR code for persistent pairing. Temporary public rooms use a 5-letter code. [S19] |
| Visibility on the local network | An mDNS advertisement with the protocol version, a rotating discovery tag (one-hour epochs) and the QUIC port. The same tag can be linked across networks within one hour. IP address and port are visible to the network. [R4] | A UDP multicast announcement with alias, device model, device type and fingerprint. [S1] | Local discovery announcements (IPv4 broadcast, IPv6 multicast, port 21027) carry the device ID and the addresses of the device. [S11] | UDP broadcast and mDNS announce a device ID and the TCP port. Device name and device type are sent after the upgrade to TLS. [S15] | Devices on the same network are shown to each other. Behind a reverse proxy the server needs the client IP address (X-Forwarded-For); without it all clients see each other. [S19, S20] |
| Clipboard | Text only. On desktops with a clipboard backend it is automatic (not on Wayland compositors without a data-control protocol, such as GNOME at the time of writing); receiving is off by default for each peer and is asked at pairing. On mobile and in the browser the user starts it. Text that the source application marked as concealed is not sent. There is no heuristic for passwords. [R5] | Text can be sent as a message. Clipboard synchronisation: not checked. [S3] | Not described. The project describes itself as a file synchronization program, and the protocol specification and the FAQ name no clipboard feature. [S13, S6, S10] | A clipboard plugin shares the clipboard between devices. In the desktop plugin source (master branch), automatic sharing and sharing of content classified as a password are settings that both default to on. Android 10 and later restrict clipboard access. [S17, S16] | Text can be sent by hand, like a file. Automatic clipboard synchronisation is not described in the README. [S19] |
| Resuming interrupted transfers | A transfer continues from the last offset the receiver stored durably, also after a restart or a switch between direct and relay. [R6] | Not described in the protocol README. [S1] | Not described as resuming. Partial downloads are kept in temporary files, which are removed after 24 hours by default. Files are described by blocks with hashes. [S10, S6] | Not checked. [S15] | Not described in the README. [S19] |
| Folder synchronisation | Not offered. The features are clipboard text and file transfer. [R7] | Not described in the README, which describes sharing files and messages. [S3] | Yes. The project describes itself as a continuous file synchronization program. [S13] | Not described as a feature. The list of plugins includes a remote file system browser that uses SFTP. [S17] | Not described in the README, which describes sending files and text. [S19] |
| Platforms | Windows: command line tested, desktop app not yet run. macOS: built, not yet tested on this system. Linux: built, tested on Linux. Android: built, not yet run on a device. iOS: not started. Web app: built, browser tests on Linux only. [R8] | Windows, macOS, Linux, Android and iOS. [S2] | macOS, Windows, Linux, FreeBSD, Solaris, OpenBSD and others. The README of the Android app says that it is discontinued, with the December 2024 Syncthing version as its last release. [S13, S14] | Linux, Windows, macOS, Android and iOS are named on the page. [S17] | Browsers; the README describes a progressive web app that works on devices with a web browser. [S19] |
| Release as read on the date above | No release yet. Pre-release software, with no external security review. [R8, R9] | 1.18.2, published 21 August 2026. [S3a] | 2.1.6, published 6 October 2026. [S13a] | 26.08.2 is the newest tag. [S17a] | 1.11.2, published 24 February 2025. [S19a] |
easysync: what its documents state
These are properties that the project's own documents describe, each with its source.
- Encrypted end to end on every path. Noise sessions between the devices protect the content when they connect directly and when they connect through a relay. [R1]
- Pairing with a code both users compare. A single-use capability, a commitment and a six-digit code that both users compare. [R3]
- Transfers resume. A transfer continues from the last offset the receiver stored durably, after a restart or a change of transport. [R6]
- Discovery without a device name. The mDNS advertisement carries no device name and no peer ID, only a rotating tag, the protocol version and the port. [R4]
- Clipboard receiving is off until you agree. Receiving is off for each peer by default and is asked at pairing. Text that the source application marked as concealed is not sent. [R5]
- A relay without content. The relay does not receive plaintext, does not hold the keys of the devices and does not write payload data to disk. [R2]
easysync: limits today
What easysync does not do, or has not shown, at the date of this page.
- No release yet. There is no release and no download. easysync is pre-release software. [R8]
- Not run on every system. The Windows and macOS desktop apps have not been run on those systems, the Android app has not been run on a device, the iOS app is not started, and the web app was tested in headless browsers only (Safari is untested). [R8]
- No external security review. The design and the code have had no external security review. [R9]
- No folder synchronisation. easysync transfers files and clipboard text. It does not keep folders in step. [R7]
- The relay sees IP addresses, timing and volume. Content is encrypted end to end; the relay also sees which addresses are connected through it and for how long. [R2]
- You run the relay yourself. Relays are self-hosted, and the documents describe no hosted relay. Without one, only an address that the other device can reach directly works across networks. [R1, R11]
- The discovery tag can be linked for an hour. Within one hour the same mDNS tag can be seen on different networks. IP address and port are visible. [R4]
- Clipboard: text only, no password heuristic. Only text is synchronised. Marked content is skipped, but easysync does not guess which text is a password. On Wayland compositors without a data-control protocol there is no automatic synchronisation. [R5]
- The web app depends on its host. The browser runs the code that the host of the web app delivers, so that host is part of what you trust. [R10]
When to use which tool
The tools differ in what they are for. This is a list of purposes, not a ranking.
- Syncthing. Folders that should be mirrored between computers over a long time: Syncthing is built for that, and it describes itself as a continuous file synchronization program. [S13]
- LocalSend. Sending files or messages to nearby devices on the same network, with apps for Windows, macOS, Linux, Android and iOS and no internet connection needed. [S3, S2]
- KDE Connect. Using a phone together with a desktop beyond file transfer: its plugins include notifications, messages, battery state and the clipboard. [S17]
- PairDrop. Exchanging something right now when a browser is all you have: PairDrop runs in the browser. [S19]
- easysync. Connecting your own devices for a long time, sending clipboard text and files that resume after interruptions, with a compared pairing code and a relay you run yourself. Today it is pre-release software with no release and no external security review, and the limits above apply. [R3, R6, R8, R9]
How the table was made
- On 13 October 2026 we read the documents of the other tools that are listed under Sources: their protocol descriptions, documentation pages, READMEs, release pages and, for KDE Connect, two source files. We used no comparison articles and no third-party summaries.
- Every statement about another tool restates what one of these sources says. If a source does not say something, we wrote "not described", or "not checked" where we did not look. We did not test the programs ourselves.
- Every statement about easysync is checked against the project's own documents, linked at the file; the section is named in the title of the source. The status of the platforms is generated from the project's implementation plan, the same way as on the home page.
- The tool names belong to their owners and are used here only to name the tools. This page has no affiliation with them and uses none of their logos.
- Documentation pages state their own version, which can differ from the version of the tool in the table (the Syncthing pages, for example, say which release they were written for), and a protocol version is not an app version. The KDE Connect version is the tag of the desktop app.
- The page is a snapshot. The links go to each source as it is now, which may have changed since.
Sources
Every source was read on .
easysync (the project's own documents)
- R1 Concept §0, §1.3, §3.3, §3.4: goals, transport paths, direct QUIC, relay: https://git.example.org/easysync/easysync/-/blob/dev/docs/syncengine-concept-v4.md, read on .
- R2 Concept §1.1, §6.4: what the relay is and what it can see: https://git.example.org/easysync/easysync/-/blob/dev/docs/syncengine-concept-v4.md, read on .
- R3 Concept §5.2, §5.5, §5.6: pairing capability, handshake, six-digit code: https://git.example.org/easysync/easysync/-/blob/dev/docs/syncengine-concept-v4.md, read on .
- R4 Concept §3.2: mDNS advertisement and rotating tag: https://git.example.org/easysync/easysync/-/blob/dev/docs/syncengine-concept-v4.md, read on .
- R5 Concept §12.1 to §12.4, §13.2: clipboard: https://git.example.org/easysync/easysync/-/blob/dev/docs/syncengine-concept-v4.md, read on .
- R6 Concept §9.6, §10: durable offset and resume: https://git.example.org/easysync/easysync/-/blob/dev/docs/syncengine-concept-v4.md, read on .
- R7 Concept §19: features of the first version: https://git.example.org/easysync/easysync/-/blob/dev/docs/syncengine-concept-v4.md, read on .
- R8 Implementation plan: Progress at a glance: https://git.example.org/easysync/easysync/-/blob/dev/docs/implementation-plan.md, read on .
- R9 Concept §24, item 5: security review before public use: https://git.example.org/easysync/easysync/-/blob/dev/docs/syncengine-concept-v4.md, read on .
- R10 Concept §2.4: web app delivery and what the host is trusted with: https://git.example.org/easysync/easysync/-/blob/dev/docs/syncengine-concept-v4.md, read on .
- R11 Concept §11.4, §11.9: relay access token and configuration: https://git.example.org/easysync/easysync/-/blob/dev/docs/syncengine-concept-v4.md, read on .
LocalSend
- S1 LocalSend Protocol v2.2 (README): https://github.com/localsend/protocol/blob/main/README.md, read on .
- S2 localsend.org: https://localsend.org/, read on .
- S3 LocalSend repository README: https://github.com/localsend/localsend, read on .
- S3a LocalSend release v1.18.2: https://github.com/localsend/localsend/releases/tag/v1.18.2, read on .
Syncthing
- S4 Syncthing documentation: Relaying: https://docs.syncthing.net/users/relaying.html, read on .
- S5 Syncthing documentation: Understanding Device IDs: https://docs.syncthing.net/dev/device-ids.html, read on .
- S6 Syncthing documentation: Block Exchange Protocol v1: https://docs.syncthing.net/specs/bep-v1.html, read on .
- S8 Syncthing documentation: Security Principles: https://docs.syncthing.net/users/security.html, read on .
- S10 Syncthing documentation: FAQ: https://docs.syncthing.net/users/faq.html, read on .
- S11 Syncthing documentation: Local Discovery Protocol v4: https://docs.syncthing.net/specs/localdisco-v4.html, read on .
- S13 syncthing.net: https://syncthing.net/, read on .
- S13a Syncthing release v2.1.6: https://github.com/syncthing/syncthing/releases/tag/v2.1.6, read on .
- S14 syncthing-android repository README: https://github.com/syncthing/syncthing-android, read on .
KDE Connect
- S15 KDE Connect protocol reference (protocol.md): https://invent.kde.org/network/kdeconnect-meta/-/raw/master/protocol.md, read on .
- S16 KDE Connect source: clipboardplugin.cpp (desktop plugin, master branch): https://invent.kde.org/network/kdeconnect-kde/-/raw/master/plugins/clipboard/clipboardplugin.cpp, read on .
- S16b KDE Connect source: lanlinkprovider.h (master branch): https://invent.kde.org/network/kdeconnect-kde/-/raw/master/core/backends/lan/lanlinkprovider.h, read on .
- S17 KDE Connect page of the KDE UserBase wiki: https://userbase.kde.org/KDEConnect, read on .
- S17a KDE Connect tags (API listing of kdeconnect-kde, the desktop app): https://invent.kde.org/api/v4/projects/network%2Fkdeconnect-kde/repository/tags, read on .
PairDrop
- S19 PairDrop README: https://github.com/schlagmichdoch/PairDrop, read on .
- S19a PairDrop release v1.11.2: https://github.com/schlagmichdoch/PairDrop/releases/tag/v1.11.2, read on .
- S20 PairDrop documentation: Deployment Notes (host-your-own.md): https://github.com/schlagmichdoch/PairDrop/blob/master/docs/host-your-own.md, read on .