Cross-platform file transfer between Android, iOS, Linux, macOS and Windows over ad hoc WiFi or a shared network, with no internet connection needed.
claudiodangelis/qrcp
A Go command-line tool that sends files from your computer to a phone over Wi-Fi by showing a QR code to scan in the terminal.
Open-source alternative to:AirDrop
- Stars
- 10,522
- Forks
- 549
- Open issues
- 6
- Last commit
- last month
What is it?
qrcp is a command-line tool written in Go for moving files between a computer and a mobile device without cables, cloud accounts or a separate app. It starts a small web server bound to the address of your Wi-Fi interface on a random port, then prints a QR code that encodes the URL. Scanning the code with a phone's camera opens the URL in the mobile browser, which downloads the files.
The same flow works in reverse. Running qrcp receive serves an upload page, so a phone can send files back to the computer, saved to the current directory or a directory given with --output. By default the server exits after a transfer completes, and it can be configured to keep running.
Behavior can be tuned through flags, a YAML config file, or QRCP_ prefixed environment variables. Options include choosing the network interface or port, setting a custom URL path or domain name, zipping before sending, and enabling HTTPS with a provided certificate and key.
Key features
- 01Sends one or more files or a whole folder to a phone by scanning a QR code.
- 02Receives files from a phone through an upload page with qrcp receive.
- 03Can zip content before transferring.
- 04Supports choosing a network interface, port, URL path, or FQDN.
- 05Enables HTTPS with a user-supplied TLS certificate and key.
- 06Provides shell completion for Bash, Zsh and Fish.
Use cases
- Quickly moving a photo or document from a laptop to a phone without a USB cable.
- Sending a folder of files to a phone on a shared local network.
- Receiving files from a phone onto a server or development machine from the terminal.
Quick start
- 1
Install via Homebrew (macOS)
brew install qrcp - 2
Or install with Go (requires Go 1.18+)
go install github.com/claudiodangelis/qrcp@latest - 3
Verify the installation
qrcp --help - 4
Send a file and scan the QR code with your phone
qrcp MyDocument.pdf
Things to know
- Transfers only work over the same Wi-Fi network as the phone.
In collections
Topics
FAQ
- What is qrcp?
- A Go command-line tool that sends files from your computer to a phone over Wi-Fi by showing a QR code to scan in the terminal. qrcp is a command-line tool written in Go for moving files between a computer and a mobile device without cables, cloud accounts or a separate app. It starts a small web server bound to the address of your Wi-Fi interface on a random port, then prints a QR code that encodes the URL. Scanning the code with a phone's camera opens the URL in the mobile browser, which downloads the files.
- Is qrcp free to use? What license does it have?
- qrcp is open source under the MIT license. Check the license terms before using it in commercial products.
- Is qrcp still maintained?
- Updated within 6 months. The last commit to qrcp was on Oct 1, 2026.
- What can I use qrcp for?
- Quickly moving a photo or document from a laptop to a phone without a USB cable. Sending a folder of files to a phone on a shared local network. Receiving files from a phone onto a server or development machine from the terminal.
- How do I install qrcp?
- Install via Homebrew (macOS): brew install qrcp Or install with Go (requires Go 1.18+): go install github.com/claudiodangelis/qrcp@latest Verify the installation: qrcp --help Send a file and scan the QR code with your phone: qrcp MyDocument.pdf
- Where can I get qrcp?
- The source code and installation instructions are on GitHub: https://github.com/claudiodangelis/qrcp
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Command-line AirDrop for Linux, letting iPhones and Linux machines send files to each other over AWDL on supported non-Apple Wi-Fi cards.
A GTK Linux client for Google's Quick Share protocol, for sending and receiving files wirelessly with Android devices.
A command-line tool and library for transferring data to or from servers using URLs, covering HTTP, FTP, SFTP, SMTP and many other protocols.
Terminal network scanner and diagnostic tool written in Rust, with a TUI for scanning hosts, WiFi networks and packets.
An open-source Python command-line tool that sends and receives files with Apple AirDrop over Wi-Fi, using reverse-engineered protocol compatibility.