LocalSend is a free, open-source app that allows you to securely share files and messages with nearby devices over your local network without needing an internet connection.

  • About
  • Screenshots
  • Download
  • How it Works
  • Getting Started
  • Contributing
    • Translation
    • Bug fixes and improvements
  • Building
    • Android
    • iOS
    • macOS
    • Windows
    • Linux

About

LocalSend is a cross-platform app that enables secure communication between devices using a REST API and HTTPS encryption.

Unlike other messaging apps that rely on external servers, LocalSend doesn’t require an internet connection or third-party servers, making it a fast and reliable solution for local communication.

Screenshots

Setup

In most cases, LocalSend should work out of the box.

However, if you are having trouble sending or receiving files, you may need to configure your firewall to allow LocalSend to communicate over your local network.

Traffic TypeProtocolPortAction
IncomingTCP, UDP53317Allow
OutgoingTCP, UDPAnyAllow

Also make sure to disable AP isolation on your router. It should be usually disabled by default but some routers may have it enabled (especially guest networks).

Portable Mode

(Introduced in v1.13.0)

Create a file named settings.json located in the same directory as the executable. This file can be empty.

The app will use this file to store settings instead of the default location.

How It Works

LocalSend uses a secure communication protocol that allows devices to communicate with each other using a REST API.

All data is sent securely over HTTPS, and the TLS/SSL certificate is generated on the fly on each device, ensuring maximum security.

For more information on the LocalSend Protocol, see the documentation.

Getting Started

To compile LocalSend from the source code, follow these steps:

  1. Install Flutter.
  2. Clone the LocalSend repository.
  3. Run cd app to enter the app directory.
  4. Run flutter pub get to download dependencies.
  5. Run flutter run to start the app.

The issue may be caused by a mismatch between the required Flutter version and the installed Flutter version.

LocalSend uses fvm to manage the project Flutter version (specified in .fvm/fvm_config.json). After you install it, run fvm flutter instead of flutter.

For more information click here