DevPik Logo
open sourcefile sharingandroidiphoneprivacy

LocalSend: Like AirDrop, but for Every Device, Free and Open Source

LocalSend is a free open source app that sends files, photos, and messages between any of your devices over your local network. It works like AirDrop, but it covers Android, iPhone, Windows, Mac, and Linux, and it never touches the internet.

ByMuhammad Tayyab8 min read
All open source picks
localsend/localsend
The official repository — this write-up is not affiliated with the project.
98.9kDartApache-2.0

What LocalSend Is: AirDrop Without the Walled Garden

LocalSend is a free, open source app for sharing files and messages with nearby devices over your local network, and it needs no internet connection to do it. It is the cross-platform answer to AirDrop: send a photo from an Android phone to an iPhone, a document from a Windows laptop to a Mac, or a video from a Linux desktop to a tablet, all without a cable, an account, or a cloud service in the middle. It has 98,900 stars on GitHub, it is licensed under Apache 2.0, and it runs on Android, iOS, Windows, macOS, Linux, and Fire OS. The pitch is simple. Every phone already knows how to share with its own kind, and almost none of them know how to share with the other kind. LocalSend fills that gap with one app on every device, and it does it without asking you to trust a server you have never heard of, because there is no server at all.

How It Works: Your Wi-Fi Is the Only Infrastructure

LocalSend devices find each other on the same local network and talk directly, using a REST API over HTTPS. Every device generates its own TLS certificate on the fly, so the transfer is encrypted end to end even though nothing ever leaves your network. There are no third-party servers, no upload step, and no account to create. The app listens on port 53317 for TCP and UDP traffic, which is the one detail worth knowing before you use it: if a device does not show up, your firewall is the usual suspect. On Linux, allow the port with your firewall tool, for example sudo ufw allow 53317, and check that AP isolation is off on your router, since some routers, especially on guest networks, block devices from seeing each other. A VPN can also hide local devices, so allow local traffic or pause it while you send. If discovery still fails, LocalSend lets you send to a device by its exact address instead, and the command line client can target an IP Check result directly. When devices on the same network cannot see each other at all, a DNS Lookup can help confirm whether the network itself is resolving names the way it should.

What You Can Send: Files, Folders, and Messages

LocalSend moves more than files. You can send photos, videos, documents, and whole folders, and directories are collected recursively with their folder names and nested paths preserved on the receiving side. You can also send a short text message, a link, or a snippet of text, which is handy when you want to move a URL or a code from your phone to your computer without emailing it to yourself. Text longer than 64 KB is sent as a .txt file instead, and you can read text from standard input on the command line. Sharing works from other apps too: use the system share sheet on your phone to send a photo or a file straight into LocalSend, and it appears on the destination device as a normal download. There is no file size limit in the app itself, so the only real constraint is your Wi-Fi. The README is upfront about one speed quirk on Android and recommends 5 GHz Wi-Fi, with encryption off on both devices if a transfer feels slow.

Every Platform, Every Store

LocalSend is on every major platform, and it is in the stores and package managers people already use. Windows users can install it from Winget, Scoop, Chocolatey, or the Microsoft Store, or grab the EXE installer or a portable ZIP from the releases page. On macOS it is in the App Store and Homebrew, with a DMG installer as well. Linux users get Flathub, Snap, Nixpkgs, the AUR, DEB packages, AppImages, and TAR archives. Android has the Play Store, F-Droid, and a direct APK, and iOS has the App Store. There is even a Fire OS build for Amazon tablets. The README recommends installing from a store or a package manager rather than a manual download, because the app has no auto-update. Minimum versions are reasonable: Android 7, iOS 15, macOS 12 Monterey, and Windows 10, with older releases still available for older systems. That breadth is the point. AirDrop works because Apple controls both ends, and LocalSend works because it refuses to care which ends you have.

The Command Line Client: LocalSend in a Terminal

There is also a terminal client, localsend-cli, built on LocalSend Protocol v2. On macOS and Linux you install it with Homebrew, then send files with a single command: localsend-cli send report.pdf photo.jpg ./project-backup. The command opens the discovered-device list so you can pick a destination interactively, or you can skip the list and target a device by its exact alias or IP address, for example localsend-cli send --to "Cute Tomato" report.pdf. To send text instead of a file, add --text, and pass a dash to read the text from standard input. That makes the CLI useful in scripts: pipe a command's output into a file on another machine, or move a build artifact to a phone without touching a GUI. The same 64 KB text rule applies, and standard input must be UTF-8 and no larger than 16 MB. The CLI is a separate small install from the app, and it speaks the same protocol, so a terminal on one machine and the app on another work together without any extra setup.

Portable Mode, Hidden Starts, and Staying Out of the Way

LocalSend has a few quiet features for people who run it all day. Portable mode, added in version 1.13.0, stores settings next to the executable instead of in the system settings folder: create an empty file called settings.json beside the app and it keeps everything there, which makes it easy to carry on a USB stick. You can also start the app hidden, so it sits in the system tray without opening a window, using the --hidden flag, and an autostart option does the same at login. Windows binaries are signed, and the signing policy is published in the repo, which is a small detail that matters for an app that opens a network port on your machine. The project is actively maintained, with CI, translations through Weblate, and a Discord community, and it is also mirrored on Codeberg for anyone who prefers it. None of this changes the core idea, which is that moving a file between your own devices should not require the internet, an account, or a subscription.

Getting Started in Two Minutes

Install LocalSend on the two devices you want to move files between, then open it on both. Each device shows its own name and the devices it can see on the network. Pick the destination, choose the files, and the transfer starts over HTTPS with a progress bar on both ends. If a device does not appear, check the three usual causes in order: the firewall on port 53317, AP isolation on the router, and an active VPN blocking local traffic. The receiver can save files to a chosen folder or let LocalSend pick the default download location. That is the whole setup. There is no account to make, no QR code to scan, no cable to find, and nothing to upload first. For anyone who regularly moves files between an Android phone and a Windows PC, or an iPhone and a Linux desktop, LocalSend removes a daily friction that most people have quietly accepted as normal.

Frequently Asked Questions

What is LocalSend?

LocalSend is a free open source app that shares files, photos, folders, and messages between nearby devices over a local network. It works across Android, iPhone, Windows, Mac, Linux, and Fire OS, like AirDrop but for every device, and it needs no internet connection, no account, and no outside servers.

Is LocalSend free?

Yes. LocalSend is free and open source under the Apache 2.0 license. There is no paid tier, no account, and no subscription. It is available in the Play Store, App Store, Flathub, Homebrew, Winget, and other package managers at no cost.

Does LocalSend need an internet connection?

No. LocalSend works entirely over your local network. Devices discover each other on the same Wi-Fi and transfer files directly over HTTPS, with a TLS certificate generated on the fly on each device. Nothing is uploaded to the internet and no outside server is involved.

Is LocalSend secure?

Transfers are encrypted with HTTPS, and each device generates its own TLS certificate on the fly, so traffic is encrypted even though no central server exists. Your files never pass through a third-party server. The app listens on port 53317, so if a device does not show up, check your firewall, router AP isolation, and VPN settings.

Which devices does LocalSend work on?

Android 7 and newer, iOS 15 and newer, macOS 12 Monterey and newer, Windows 10 and newer, Linux, and Fire OS. It is available from the Play Store, App Store, F-Droid, Flathub, Snap, Homebrew, Winget, Scoop, Chocolatey, and direct downloads from the releases page.

Can I use LocalSend from the command line?

Yes. The localsend-cli terminal client is available through Homebrew on macOS and Linux. Run localsend-cli send followed by files or folders, pick a device from the list or target one by alias or IP address, and use --text to send a message instead of a file.

Related DevPik tools

Muhammad Tayyab

Written by

Muhammad Tayyab

Founder of DevPik

Muhammad Tayyab founded DevPik and builds its free developer tools. He writes about developer tools, AI and web technology.

More open source picks