Skip to content

qrcp

Send files from your computer to a phone over Wi-Fi by scanning a QR code, from the terminal.

Stars
10.5k
Forks
550
Licence
MIT
Language
Go
Last update
1 months ago
Type
CLI

What it is

qrcp is a command-line tool that serves a file from your computer over your local Wi-Fi network and prints a QR code. You scan the code with your phone, and its browser downloads the file. It can also run in reverse, serving an upload page so a phone can send files to your computer. The README says it works without prior configuration.

  • Send a PDF to a phone: qrcp MyDocument.pdf
  • Send several files at once: qrcp MyDocument.pdf IMG0001.jpg
  • Send a folder, or zip it first with --zip
  • Receive files from a phone into the current directory with qrcp receive

Great for

  • People who want to move a file to a phone without email, cables, or cloud storage
  • Developers who already work in a terminal and want a quick transfer step
  • Users on the same Wi-Fi network as their phone
  • Anyone sending a folder or several files at once

Not ideal for

  • Transfers between devices on different networks, since the README describes transfers over the local Wi-Fi interface
  • Users who need a graphical app, since it is used only from the terminal
  • Situations needing a persistent sync or cloud backup, since it is a one-off transfer tool
Step-by-step guide: how to use qrcpInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    Install with Go (latest development version, requires Go 1.18+)

    go install github.com/claudiodangelis/qrcp@latest

    Install with Homebrew (macOS)

    brew install qrcp

    Confirm installation

    qrcp --help
  2. 2

    Run it

    • Install qrcp using one of the methods above.
    • Run qrcp --help to confirm it works.
    • Run qrcp MyDocument.pdf in the folder with your file.
    • Scan the printed QR code with your phone's camera or a QR app, and the file downloads in the phone's browser.
  3. 3

    Get the most out of it

    • Use a config file at $XDG_CONFIG_HOME/qrcp/config.yml, or pass one with --config, to set defaults such as port, output directory, and interface.
    • Use -i to choose a network interface, for example qrcp -i tun0 MyDocument.pdf, or -i any to bind to all interfaces.
    • Use qrcp receive --output=/tmp/dir to pick where received files are saved.
    • Enable HTTPS with --tls-cert and --tls-key if you have a certificate.
    • Enable shell completion for Bash, Zsh, or Fish using the commands in the README.

Downloads

Strengths

  • Simple workflow: one command prints a QR code and the phone does the rest
  • Works with common platforms via prebuilt binaries and many package managers
  • Configurable through a config file, environment variables, and flags

Trade-offs

  • The README describes it as a local Wi-Fi tool, so it does not cover transfers beyond the local network
  • Secure HTTPS mode requires you to supply your own TLS certificate and key
  • The README is truncated, so some details of behavior and limits are not confirmed here

How it compares

ProjectStarsTypeLevelUpdatedBest for
qrcp (this)10.5kCLIbeginner1 months agoPeople who want to move a file to a phone without email, cables, or cloud storage
micro29.8kAppbeginner4 days agoPeople who work mostly in a terminal and want an easy editor
shiori11.7kAppbeginner10 days agoPeople who want a self-hosted alternative to Pocket for saving articles
usql10.2kCLIbeginner4 days agoDevelopers who use several different databases and want one tool for all of them
croc40.8kCLIbeginner4 days agoPeople who need to send a file to someone without setting up a server, accounts, or port forwarding
broot13.1kCLIintermediate4 days agoDevelopers who work in a terminal and often jump between project folders

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.