mrkeyoor.com_
Wed 12 Aug 14:36 UTC
Self-Hostedevaluationupdated 12 Aug 2026

localsend

LocalSend is a free app for sending files and text directly between devices on the same local network. It removes cloud uploads, accounts, cables, and operating-system lock-in by giving Windows, macOS, Linux, Android, iOS, and Fire OS users the same transfer tool.

Verdict

LocalSend is the default recommendation for occasional file transfer across a mixed-device household or office. It is fast to understand, keeps ordinary transfers on the LAN, and now has a CLI as well as polished apps. Keep a fallback available after major releases and do not expect it to bypass restrictive network design or iOS background limits.

Setup5/5Install on both devices and it usually discovers peers immediately
Docs4/5Clear user troubleshooting and a separately documented protocol
Community5/5Huge adoption, active maintainers, and rapid issue responses
Maturity4/5Proven across six platforms, with occasional release regressions

Who it’s for

Households and small offices that regularly move files between different operating systems.
Privacy-conscious users who do not want a cloud service holding a copy of each transfer.
Support staff who need a simple transfer method that nontechnical users can understand.
Developers and automation users who want the new command-line client or an openly documented local protocol.

Who it’s NOT for

Devices separated by the internet, VLANs, or guest Wi-Fi client isolation: LocalSend discovers peers on the local network, and its README says AP isolation must be disabled.
iPhone or iPad workflows that must receive while the app is in the background: issue #1468 documents that the device disappears until LocalSend returns to the foreground.
Organizations that require encryption on every transfer route: normal app transfers use HTTPS, but the protocol documentation says browser-link downloads use unencrypted HTTP because browsers reject the self-signed certificate.
Anyone who cannot tolerate a fresh cross-platform regression: issue #3285 reports macOS 1.18.0 failing when sending to an iPhone, while the reverse direction and version 1.17.0 worked.
Users on locked-down networks who cannot change firewall rules or open TCP and UDP port 53317.

Setup reality

For ordinary users, setup is as easy as this category gets: install the app on two devices, join the same network, open LocalSend, and select the discovered receiver. Package-manager and store installs are preferable because the app has no built-in updater. The rough edge is network policy, not application configuration: firewalls must permit TCP and UDP on port 53317, Windows networks may need to be marked private, Apple devices need local-network permission, and guest networks with client isolation will prevent discovery. Building from source is substantially heavier because it requires the repository's pinned Flutter toolchain plus Rust.

The sensible AirDrop substitute for mixed households

LocalSend solves a small problem that becomes irritating as soon as your devices stop sharing one logo. AirDrop is excellent inside Apple’s ecosystem, Nearby Share covers a different subset, and messaging a file to yourself sends it through somebody else’s infrastructure. LocalSend puts the same simple send-and-accept interface on Windows, macOS, Linux, Android, iOS, and Fire OS. The devices discover each other on the local network and transfer files or text directly. No account or external server is required.

That scope is exactly right. LocalSend is not trying to synchronize your life, mount a remote filesystem, or become another collaboration platform. You open the app, choose what to send, select a nearby device, and approve the transfer. The friendly generated device names make discovery understandable without asking someone to find an IP address. For moving photos from Android to a Mac, an installer from Linux to Windows, or a copied link from a phone to a desktop, it is hard to beat.

Version 1.18.0 broadens the appeal with the first official CLI, built on the same Rust library as the Flutter app. It also adds receiving through a link, IPv6, checksums enabled by default, Android background transfers, Windows share-sheet support, and several platform-specific fixes. The completed Rust rewrite of networking and file I/O is intended to improve transfer speed, though the release provides no controlled figures, so users should judge it on their own network.

Privacy is strong, with a precise boundary

Normal LocalSend transfers stay on the LAN and use HTTPS. Each device creates its certificate on the fly, and the protocol uses its SHA-256 fingerprint to identify the peer. Before upload, the sender provides metadata and the receiver can accept or reject the request. File-specific tokens and a session ID guard the upload, and the current protocol can provide a SHA-256 checksum for the receiver to verify. A PIN can be required as another gate.

This design avoids the main privacy problem with emailing files or using cloud drives: there is no hosted copy in the middle. It does not make every person on a shared network trustworthy. Users should leave confirmation enabled around strangers and be deliberate about the newer option that automatically accepts files from favorite devices. A remembered laptop is only as trustworthy as whoever currently controls it.

The browser-link path has a different security property. LocalSend’s protocol documentation says browser downloads use HTTP because a browser will reject the sender’s self-signed certificate. That is a practical compatibility choice, but an organization that requires encrypted transport for every file should not use that route. The README also suggests disabling encryption when diagnosing slow transfers. Treat that as a conscious test on a trusted LAN, not a harmless performance toggle for airports, hotels, or shared offices.

The network decides whether setup feels magical

Installing the application is easy. LocalSend is distributed through the major mobile stores and a long list of desktop channels, including Winget, Homebrew, Flathub, Nix, Snap, AUR, installers, and portable archives. The project recommends stores or package managers because it has no automatic updater. This matters for a network-facing tool, and it also avoids guessing which download matches a device.

Discovery is where trouble appears. LocalSend uses multicast UDP by default and listens for TCP and UDP traffic on port 53317. Guest Wi-Fi commonly enables AP isolation, which deliberately prevents clients from seeing each other. Windows can block discovery when the network is marked public, macOS and iOS can deny local-network access, and desktop firewalls may need an explicit rule. None of that is a LocalSend account problem because there is no account to fix. It is the cost of direct local communication.

The project documents these cases clearly. It also notes a known Android speed issue and recommends 5 GHz Wi-Fi for slow transfers. If devices live on separate VLANs or a corporate network filters multicast, use a tool designed around a relay or configure a different network path. LocalSend is not a covert tunnel through administrator policy.

Cross-platform breadth creates cross-platform bugs

Supporting six operating systems means every release crosses app permissions, background rules, packaging systems, and network stacks. The current issue tracker shows the consequence. Issue #1468 documents that an iPad in the background disappears from discovery until the app returns to the foreground. That is a serious limitation if an iPad is supposed to behave like an unattended receiver.

Fresh release reports deserve attention too. Issue #3285 says macOS 1.18.0 reaches the verification stage and then fails when sending to an iPhone, while iPhone-to-Mac works and downgrading the Mac app to 1.17.0 restores the transfer. Another current report covers Android-to-Arch Linux connection failures. These reports are specific configurations, not proof that the release is broadly broken, but they justify keeping an alternate transfer method when a deadline matters.

The response pace is reassuring. A new Android 17 discovery regression received extensive discussion and was closed on the same day it was filed. The repository was pushed on August 11, 2026, one day after the v1.18.0 release. GitHub’s open count was 1,054 issues and pull requests combined, a large queue that reflects both the project’s reach and the support burden. High issue volume should not be mistaken for inactivity when maintainers are shipping and replying this quickly.

The recommendation

LocalSend is the best first install for manual transfers among devices you control on one ordinary network. Its interface is simpler than KDE Connect, its platform reach is wider than vendor tools, and its direct-transfer model is easier to explain than a synchronization service. The Apache 2.0 license and published protocol also keep the core behavior inspectable.

Choose something else when your actual need is continuous folder synchronization, remote transfer across the internet, background receipt on iOS, or operation across isolated network segments. For its intended job, LocalSend gets the balance right: minimal ceremony, useful privacy, and enough troubleshooting detail to diagnose most failures without becoming a network engineer.

Alternatives

ProjectWhat it isPick it when
KDE ConnectA device-integration suite with file transfer, notifications, remote input, and phone controls.pick this instead when you want deep phone and desktop integration, especially on Linux, rather than only straightforward transfers.
PairDropA browser-based peer-to-peer sharing service inspired by AirDrop and Snapdrop.pick this instead when opening a web page is easier than installing an app, or when paired transfers must cross networks.
SyncthingA continuous peer-to-peer file synchronization system for folders across devices.pick this instead when the same folders should stay synchronized automatically rather than be sent manually.

What people are saying

  1. [github-trending] localsend/localsend

Sources

  1. LocalSend repository and README
  2. LocalSend v1.18.0 release notes
  3. LocalSend protocol v2.2
  4. Issue #1468: iOS and iPadOS background receiving
  5. Issue #3285: macOS 1.18.0 to iPhone transfer failure
  6. Issue #2985: Android to Arch Linux connection failure
  7. Issue #3274: Android 17 discovery regression