explaingit

claudiodangelis/qrcp

10,449GoAudience · generalComplexity · 1/5Setup · easy

TLDR

A command-line tool that transfers files between your computer and phone over local Wi-Fi using a QR code, scan the code with your phone's camera and the file downloads instantly in the browser, no accounts or cloud required.

Mindmap

mindmap
  root((qrcp))
    What it does
      File transfer
      QR code sharing
      No cloud needed
    How it works
      Temp web server
      Random port
      Auto-shutdown
    Features
      Send and receive
      Folder zip option
      HTTPS support
      YAML config
    Installation
      Homebrew macOS
      Scoop Windows
      AUR Linux
      Go install
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Send a large video, folder, or set of files from your laptop to your phone without a cable or cloud upload.

USE CASE 2

Transfer files from your phone to your computer by running qrcp receive and scanning the QR code that appears.

USE CASE 3

Quickly share a file with someone else on the same Wi-Fi network by letting them scan the QR code from the terminal.

Tech stack

Go

Getting it running

Difficulty · easy Time to first run · 5min

Both devices must be on the same Wi-Fi network, transfers happen directly between devices, not through the internet.

In plain English

qrcp is a command-line tool that lets you transfer files between your computer and a phone using your local Wi-Fi network and a QR code. The idea is simple: you run a command on your computer naming the file you want to send, the tool displays a QR code in the terminal, you scan it with your phone's camera, and the file downloads in your phone's browser. No cables, no accounts, no cloud storage in between. Under the hood, qrcp starts a small temporary web server on your computer and binds it to your Wi-Fi network address on a randomly chosen port. The QR code encodes the URL for that server. When your phone scans the code and opens the link, it connects directly to your computer over the local network and downloads the file. Once the transfer finishes, the server shuts itself down. You can also go the other direction: running qrcp receive puts up an upload page so you can send files from your phone to your computer. The tool handles single files, multiple files, and folders. There is an option to zip a folder or large file before sending, which can be useful for slow connections. Configuration is optional but available via a YAML file or environment variables if you want to lock in a specific port, network interface, or output directory. HTTPS is supported if you provide your own certificate and key. Installation is available through most common package managers: Homebrew on macOS, Scoop or Chocolatey or WinGet on Windows, and package files or the AUR on Linux. You can also install it directly with the Go toolchain or download a prebuilt binary from the releases page. The project is written in Go and works on macOS, Windows, and Linux. Both the computer and the phone need to be on the same Wi-Fi network for the connection to work, since the transfer happens directly between the two devices rather than through the internet.

Copy-paste prompts

Prompt 1
I want to send a folder of images from my Mac to my Android phone over Wi-Fi. Walk me through using qrcp to zip and transfer the folder.
Prompt 2
How do I configure qrcp to always use a specific port and network interface by setting up a YAML config file?
Prompt 3
I want qrcp to use HTTPS instead of HTTP for encrypted transfers. How do I provide my own certificate and key?
Prompt 4
Help me write a shell script that uses qrcp to automatically send a daily backup archive from my Linux server to my phone.
Open on GitHub → Explain another repo

← claudiodangelis on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.