LocalSend Guide: Cross-Platform Local File Sharing
Learn about LocalSend, an open-source tool for sharing files and messages across platforms over your local network without internet servers.
What it is
LocalSend is a free, open-source application designed for sharing files and messages between nearby devices across a local network without requiring an active internet connection. Positioned as a cross-platform alternative to proprietary services like AirDrop, the software functions without relying on external cloud infrastructure or third-party servers.
The application handles communication between devices using a REST API—an established software architecture for transferring requests and structured payloads across network connections. Data is transmitted securely using HTTPS encryption, with TLS/SSL security certificates generated on the fly directly on each individual device. This decentralized approach ensures that data stays private and encrypted directly between the participating endpoints.
According to the project’s official website, LocalSend has accumulated more than 93,000 GitHub stars, over 35 million downloads, and contributions from upwards of 230 individual contributors. Furthermore, according to the official website, the software includes zero advertisements and zero tracking scripts. The codebase is distributed under the open-source Apache License 2.0.
What it can do
LocalSend provides several practical features for moving data and communicating across a local area network:
- Broad File Transfer: The application accommodates photos, videos, text files, and standard documents. There are no built-in bandwidth limitations, allowing transfers to operate across the local Wi-Fi or wired network.
- Message and Link Sharing: Beyond sending traditional files, users can transmit plain text messages and website links directly to other devices on the same network.
- Custom Storage Folders: Incoming files are saved to the operating system’s default Downloads folder, but users can designate an alternative storage directory in the application settings.
- Transfer Security: In addition to standard HTTPS encryption, the software allows users to enable optional PIN verification to confirm incoming transfers before acceptance.
- Portable Operation: The application supports a portable mode. When an empty or populated file named
settings.jsonis placed in the same directory as the executable, the software stores its configuration settings there instead of the default operating system location. - Minimized Startup: On desktop platforms, the program can launch directly into the system tray without displaying the primary window. To start the application hidden, users can execute:
localsend_app.exe --hidden
- Command Line Client: For automation, headless environments, or users who prefer the terminal, the project includes
localsend-cli, a command-line interface based on LocalSend Protocol v2. The CLI can send individual files, collections of files, or entire directory trees:
localsend-cli send report.pdf photo.jpg ./project-backup
When sending directories, nested folder paths are preserved on the receiver, though empty folders are omitted because the transfer system tracks individual files. Users can pick destinations interactively from a discovered device list or target a device directly by specifying its alias or local IP address:
localsend-cli send --to "Cute Tomato" report.pdf
localsend-cli send --to 192.168.27.26 report.pdf
The terminal client can also dispatch text messages using the --text parameter:
localsend-cli send --to "Cute Tomato" --text "https://localsend.org"
Terminal input can be piped from standard input (stdin) by supplying -:
echo "Hello" | localsend-cli send --to "Cute Tomato" --text -
When piping text, a single trailing line break is automatically dropped. Standard input must be UTF-8 encoded and cannot exceed 16 MB. Text payloads exceeding 64 KB are automatically transmitted as .txt files. To view all command-line arguments and hotkeys, users can run:
localsend-cli --help
How to get started
To begin using LocalSend, users need to download and install the software across their devices. Because the application does not include an internal auto-update mechanism, the project README recommends acquiring the app from an established app store or package manager to ensure seamless future updates.
The application is packaged for multiple operating systems:
- Windows users can install via Winget, Scoop, Chocolatey, standalone EXE installers, portable ZIP archives, or the Windows Store.
- macOS packages are offered via the Mac App Store, Homebrew, and standalone DMG disk images.
- Linux distributions can obtain the app through Flathub, Snapcraft, Nixpkgs, AUR, DEB installers, TAR archives, and AppImage bundles.
- Mobile platforms are supported via the Google Play Store, F-Droid, and APK files on Android, the Apple App Store on iOS, and the Amazon Appstore on Fire OS.
Once installed on at least two devices on the same local network, using the application requires zero account registration, login credentials, or server setup. Users open the application, select their chosen documents, media, or text, select the target device from the discovery screen, and initiate the transfer.
Network Configuration and Troubleshooting: LocalSend generally works out of the box, but local network restrictions can occasionally prevent device discovery. The software communicates over port 53317 (using both TCP and UDP protocols) for incoming connections, while outgoing traffic requires access to any port.
On Linux systems utilizing ufw, open the necessary port by running:
sudo ufw allow 53317
On Linux systems using firewalld, run:
sudo firewall-cmd --permanent --add-port=53317/tcp
sudo firewall-cmd --permanent --add-port=53317/udp
sudo firewall-cmd --reload
Additional troubleshooting measures documented in the project repository include:
- Router AP Isolation: Access Point Isolation blocks direct communication between wireless devices. Users must ensure AP isolation is disabled on their Wi-Fi router.
- Network Profiles: Windows machines should have their active connection designated as a “private” network, as public profiles apply restrictive local firewall rules.
- Privacy Permissions: On iOS and macOS, users can toggle the “Local Network” permission found under system privacy settings.
- VPN Settings: Virtual Private Networks can block local network traffic. Users should enable local LAN traffic in their VPN client or temporarily pause the VPN connection.
- Direct IP Entry: If automated discovery fails, users can manually enter the destination IP address and add the device to favorites for direct probing.
- Transfer Speed: According to the project troubleshooting table, connecting over 5 GHz Wi-Fi or disabling encryption on both endpoints can help when transfer speeds are slow.
Building from Source:
Developers interested in building the application from source code require Flutter (managed using fvm) and Rust. From the project directory, run:
cd app
flutter pub get
flutter run
Pricing and requirements
LocalSend is released as free, open-source software under the Apache License 2.0, with no integrated advertising, third-party trackers, or hidden fees. Specific details regarding project pricing and plans are subject to the official page.
The project documentation outlines the following platform compatibility requirements:
- Android: Requires Android 7.0 or higher. According to the project README, version 1.17.0 was the final release supporting Android 5 and 6.
- iOS: Requires iOS 13.0 or later. Version 1.17.0 was the final version to support iOS 12, and sharing files directly from other installed apps requires iOS 14 or above.
- macOS: Requires macOS 11 Big Sur or newer. Users on older hardware can utilize OpenCore Legacy Patcher 2.0.2 as noted in the project documentation.
- Windows: Requires Windows 10 or later. Version 1.15.4 was the final build supporting Windows 7.
- Linux: Supported across standard distributions. Desktop environments require desktop portal packages: GNOME setups require
xdg-desktop-portalandxdg-desktop-portal-gtk, while KDE setups requirexdg-desktop-portalandxdg-desktop-portal-kde. - Fire OS: Compatible with devices running supported builds from the Amazon Appstore.
Who it is for
LocalSend is designed for users who regularly move files, images, and text across different operating systems, including Windows, macOS, Linux, Android, iOS, and Fire OS. It is particularly well suited for individuals who prioritize privacy and local data security, as files never pass through third-party cloud servers or external networks. The tool is also ideal for environments with limited or no internet access, allowing seamless file transfers over a local router or offline Wi-Fi network. Additionally, developers and system administrators can take advantage of the dedicated command-line interface to integrate local file and text transfers directly into terminal workflows.
Alternatives
KDE Connect provides device integration and file sharing capabilities across multiple platforms.
Syncthing is an open-source decentralized file synchronization program for multiple operating systems.
Sources
Related
Espanso: What It Is and How to Get Started with Text Expansion
A guide to Espanso, the open-source, cross-platform text expander written in Rust. Explore its features, configuration steps, and getting-started tips.
An Introduction to LibreOffice: Features, Tools, and Getting Started
Explore LibreOffice, an open-source productivity suite featuring six dedicated tools for word processing, spreadsheets, presentations, graphics, and more.
Make right-click “Run with PowerShell” use PowerShell 7 (one command)
Windows still sends “Run with PowerShell” to the old 5.1. Switch it to PowerShell 7 with one no-admin command, or a custom ProgID — plus how it works and how to undo it.