How to Easily Transfer Files Between Linux Windows and Mac

A smartphone with the Linux Tux logo in front of a laptop.
Transfer files from Linux computer to any other computer quickly and easily with Snapdrop. It is browser-based, so it works with any operating system, but the files remain within your own local network and never go “to the cloud.”

Sometimes simple is best

There are many ways to transfer files from one Linux computer to another. Moving files to a computer with a different operating system takes a little more effort. If the requirement is a one-time file move, that does not justify creating a Small message block (SAMBA) or Network file system (NFS) network share. And you may not have permission to make changes on the other computer.

You can put the files in a cloud-hosted storage and then log into the storage from the other computer and download the files. That means transferring the files twice over the Internet. This will be much slower than sending them over your own network. The files may be confidential and you don’t want to risk sending them to cloud storage.

If the files are small enough, you can send them by email. You have the same problem with email – it leaves your network over the Internet only to be retrieved over the Internet on the other computer. So your files still go off your network. And email systems don’t like attachments that are binary executables or other potentially dangerous files.

You have the option of using a USB stick, but that quickly becomes tedious if both of you are working on a set of files and frequently sending versions to each other.

Snapdrop is a simple solution for cross-platform file transfer. It is open source, safe and free. It is also an impressive example of the simplicity that a well-designed tool or service can provide.

What is Snapdrop?

Snapdrop is an open source project launched under the GNU GPL 3 License. Can look at the source code or check it online. With systems that claim to be safe, Snapdrop gives you a sense of comfort. It is like being in a restaurant that has open views to the kitchen.

Snapdrop runs in your browser, but file transfers take place over its own network. Use the Progressive web app and Real-time web communications technologies. WebRTC allows processes running in browsers to use from peer to peer communication. Traditional web application architecture requires the web server to handle communications between two browser sessions. WebRTC removes that roundtrip bottleneck, shortening transmission times and increasing security. It also encrypts the communication flow.

Using Snapdrop

You don’t have to sign up for anything or create an account to use Snapdrop, and there is no sign-in process. Just turn on your browser and go to Snapdrop website.

You will see a minimalist web page. You are represented by an icon made up of concentric circles at the bottom of the screen.

The Snapdrop website with a single computer connected

It will be assigned a name consisting of a combination of a randomly selected color and a type of animal. In this case, we are the Aqua Basilisk. Until someone else joins, there isn’t much we can do. When someone else in the same network open the Snapdrop website, they will appear on your screen.

The Snapdrop website with two connected computers

Ivory Louse is using the Chrome browser on a Windows computer that is on the same network as us. They are displayed in the center of the screen. As more teams join, they will be displayed as a group of named icons.

The Snapdrop website with multiple computers connected, showing your browser and operating systems

The operating system and browser type are displayed for each connection. Sometimes Snapdrop can recognize the Linux distribution that a person is using. If it can’t, use a generic “Linux” tag.

To initiate a file transfer to one of the other computers, click on the computer icon or drag and drop a file from a file explorer onto the icon. If you click the icon, a file selection dialog appears.

File selection dialog with a selected file

Find the location of the file you want to send and select it. If you have a lot of files to send, you can highlight several of them at once. Click the “Open” button (located off-screen in our screenshot) to submit the file. A “File Received” dialog box will appear on the destination computer informing the recipient that a file has been sent to them.

File Received dialog box with ignore and save buttons

They can choose to ignore the file or save it. If they decide to save the file, a file browser will appear so they can select where to save the file.

If the “Request to save each file before downloading” check box is selected, you will be prompted to select the location to save each individual file. If not selected, all files from a single stream will be saved in the same location as the first stream.

Surprisingly, there is no indication of where the file came from. But then how do you know who is the ivory louse or the blue chicken? If you are sitting in the same room, it is quite easy. If it is on different floors of the building, not so much.

It makes sense for people to know that you are sending them a file rather than leaving them one out of nowhere. If you right-click on a computer icon, you can send them a short message.

Send a Snapdrop message dialog

By clicking the “Send” button, the message will appear on the destination computer.

Snapdrop Message Received Dialog

That way, the person you’re sending the file to doesn’t need to find out the Blue Chicken’s secret identity.

Snapdrop on Android

You can open the Snapdrop web app on your Android smartphone and it will work fine. If you prefer to have a dedicated application, there is one available on the Google Play Store, but there is no iPhone or iPad app. Presumably this is because iPhone users have AirDrop, but you can still use Snapdrop in a browser on an iPhone if you want.

The Android app is still in development. We had no trouble using it while researching this article, but you should be aware that you may experience occasional glitches.

The interface is the same as the standard web browser interface. Touch an icon to send a file or long touch an icon to send a message to someone.

The Android Snapdrop application interface

Snapdrop Settings

With its minimal, stripped-down design, Snapdrop doesn’t have a lot of settings. To access settings (as is), use the icons in the upper right corner of your browser or Android app.

Snapdrop options icons

The bell icon allows you to enable or disable system notifications. A dialog box with two buttons will appear. Click or tap the “Never allow” or “Allow notifications” button depending on your preferences.

Snapdrop Notification Options Dialog

The moon icon turns dark mode on and off.

Snapdrop in dark mode

The information symbol, the lowercase “i” in a circle, gives you quick access to:

An elegant solution to a common problem

Sometimes you will find yourself in situations where you need to find a solution that fits directly into the other person’s technical comfort zone. There is no reason why someone should find Snapdrop difficult to understand.

In fact, you will probably spend more time explaining why they have been dubbed the Beige Capybara than explaining what they should do.

Leave a Reply