Linux Applications

Transfer Files Over Wireless Connection Using Qrcp in Linux

This article will cover a guide on using the “Qrcp” command line utility that can be used to share files between a Linux distribution and any mobile device capable of running a modern web browser. Qrcp can transfer files over a wireless connection when both devices are connected to the same wireless network. It works by launching a temporary web server that automatically shuts down when file transfer completes between two devices.

Main Features of Qrcp

Qrcp can be run from the command line and it generates a QR code that can be scanned through the camera of your mobile device. You can also manually open the URL generated by it in a web browser to send or receive s file from your Linux system. Since it can run in any terminal and QR code can also be viewed from the terminal, it can be used on Linux servers, Linux distributions without graphical desktop environments, and other such headless Linux systems. It can transfer files both ways and it creates a special web page for uploading files from mobile devices so that you can receive files on your Linux system. Other main features of Qrcp includes support for sending multiple files at once and ability to compress files into zip archives before sending them to mobile devices.

Installing Qrcp in Linux

You can download “deb” and “rpm” packages for Qrcp from its GitHub releases page. On the same page, you will also find executable binaries that can be run on any Linux distribution. You can move executable binaries to an appropriate “bin” folder by following instructions available here. Source code is available on GitHub.

Sending Files using Qrcp

You can send files using the “send” command available for the Qrcp executable binary. Here is an example:

$ ./qrcp send "$HOME/Downloads/test.txt"

You can replace the path in double quotes with the full path of any file you want to share. After running the above command you should get the following output in terminal:

Now there are two ways using which you can receive files on your mobile device. First way is to scan QR code by using a camera app available on your mobile device or any other such app capable of scanning QR codes. After scanning the QR code, the app should prompt you to open a transfer link in a web browser. Here is GIF demo showing this process (demo created by developers of the Qrcp app):

The second method is to manually input the URL listed just above QR code in a web browser on your mobile device.

Either way, you will receive a file download prompt in the web browser running on your mobile device. From there, download the file and save it on your mobile storage, just like you would do while downloading a file from any other website.

To compress a file into a zip archive before sending, run the above command using an extra “–zip” switch (replace file path as needed):

$ ./qrcp send --zip "$HOME/Downloads/test.txt"

To send multiple files at once, run a command in the following format:

$ ./qrcp send "$HOME/Downloads/test1.txt" "$HOME/Downloads/test2.txt"

You can specify multiple space separated file paths to send more than one file at once.

Receiving Files Using Qrcp

You can receive files using Qrcp by using its “receive” command line option. It creates a temporary web page that contains an upload button. Here is an example:

$ ./qrcp receive

You can open this webpage by scanning QR code generated by the Qrcp app or you can manually open the URL in a web browser on your mobile device. After opening the link, you should see the following webpage on your mobile device:

Click on the “Choose Files” or any other such browse button and select a file from your mobile device. Once done, click on the “Transfer” button to initiate the transfer. Wait for the process to finish, you will find the transferred file located in the directory from where the original command was run on your Linux system. If you want to save file to a specific folder on your Linux system, run the following command instead:

$ qrcp receive --output="$HOME/Downloads/"

You can replace the file path needed in the “output” command line switch. Qrcp developers have created a GIF demo showing the process of receiving files from your mobile device:

For further information on its command line options, use the following command:

$ ./qrcp help

You can find advanced usage examples on Qrcp GitHub page. However for most cases, the “send” and “receive” commands should be enough.


Qrcp provides a neat way to transfer files between Linux systems and mobile devices. Since it supports QR codes, file transfer becomes easier without much manual user input. You can also use this app on Linux distributions running without any GUI shell, as it can display QR code in a terminal emulator itself.

About the author

Nitesh Kumar

I am a freelancer software developer and content writer who loves Linux, open source software and the free software community.