Back to Blog

How to Share Files Between Linux and Windows

Marc·April 15, 2026

There's no native way to share files between Linux and Windows. No AirDrop, no Quick Share, nothing built in.

So most guides tell you to set up Samba. Install the daemon, edit /etc/samba/smb.conf, set user permissions with smbpasswd, open firewall ports, restart smbd. An hour later, maybe it works.

You don't need any of that.

The fastest way to share files between a Linux machine and a Windows PC is to install Zynk on both and sign in. Files move directly over your network, end-to-end encrypted, no config files. The rest of this post covers that method plus three alternatives.

Zynk

Zynk is a file transfer app that works on Linux, Windows, macOS, iOS, and Android. Files go directly between the two machines over your network, encrypted end-to-end. No cloud hop, no SMB share, no shared folder.

One-time setup:

  1. Get Zynk for Linux from the download page. Packages for Debian/Ubuntu, Fedora, Arch, and a generic AppImage.
  2. Get Zynk for Windows from the Microsoft Store or the download page.
  3. Sign in with your phone number on both. Your phone number is your identity. Verify via SMS or by sending a code to your other device.

That's it. Both machines show up in each other's device list automatically. Pick files, select the other machine, send. Works in both directions.

On a local network, Zynk moves files as fast as your network allows. A 20 GB project folder that would spend hours round-tripping through OneDrive transfers in minutes over a direct gigabit connection. Speeds depend on your network, but the point is the same: no upload step, no cloud stopover, no size limit.

This also works when your devices aren't on the same network. Same office, different buildings, different cities. If the network blocks a direct connection, Zynk falls back to encrypted relay servers while keeping end-to-end encryption intact.

There's also a CLI if you'd rather live in a terminal. Search files with zs, then send <contact> <file> from the prompt fires them over. Good for servers without a screen, tmux sessions, and cron jobs.

The free plan covers unlimited direct transfers. No trial, no ads, no size cap.

Requirements: Linux (most major distributions), Windows 10 or later.

Samba

The standard answer. Samba exposes a Linux folder over SMB, which Windows speaks natively. Windows File Explorer connects to \\linux-hostname\share and you get a network drive you can open like any local folder.

It works. It's also a pain to set up.

  1. Install Samba: sudo apt install samba (or the equivalent for your distro).
  2. Edit /etc/samba/smb.conf to declare a share. Set path, read only, valid users.
  3. Add a Samba user: sudo smbpasswd -a yourname.
  4. Open the SMB ports on your firewall: sudo ufw allow samba.
  5. Restart the service: sudo systemctl restart smbd.
  6. On Windows, open File Explorer, enter \\linux-hostname in the address bar, authenticate.

Six steps assumes nothing goes wrong. In practice, SELinux blocks home directory access on Fedora until you run a specific setsebool command. Windows 11 disabled SMBv1 guest access by default. Workgroup mismatches silently fail to resolve hostnames. Windows Credential Manager caches bad credentials across reboots.

Once configured, Samba is fine for an always-on shared folder between two machines that don't move. For a one-off "send this file", you've spent an hour on config to move a 200 MB folder.

Warpinator

Warpinator is a LAN-only file transfer tool built for Linux Mint, now packaged for most distros. Windows support exists through WinPinator, a community-built Windows client that speaks the Warpinator protocol.

  1. Install Warpinator on Linux (flatpak install flathub org.x.Warpinator or your distro's package).
  2. Install WinPinator on Windows.
  3. Both apps discover each other on the local network. Pick the other machine, drop files in.

Fine for small LAN transfers. No internet support. If you're not on the same WiFi, Warpinator can't see the other device. WinPinator is a community reimplementation, not an official Windows port, so it lags behind Linux and occasionally breaks on new Windows updates.

OneDrive or Dropbox

Upload on one machine, download on the other. Both have Linux support (Dropbox officially, OneDrive through third-party clients like OneDriver or rclone).

  1. Upload the files from one machine.
  2. Wait for the sync.
  3. Download on the other.

For a shared documents folder that syncs in the background, this works. For ad-hoc "send this folder to my other machine", your files take two trips over your internet connection: up to the cloud, down to the other device. A 20 GB project folder uploads for an hour, then downloads for another hour. Two hours to move a file between two machines in the same room.

Free tiers are small: 2 GB on Dropbox, 5 GB on OneDrive. Files sit on the provider's servers during and after transit.

Side by side

ZynkSambaWarpinatorOneDrive / Dropbox
SetupInstall and sign insmb.conf + user + firewallInstall on bothAccount + client install
Works over internetYesLAN onlyLAN onlyYes
End-to-end encryptedYesOptional, off by defaultTransport (TLS)No
File size limitNoneNoneNone2–5 GB free
SpeedNetwork speedNetwork speedNetwork speedUpload + download
CLIYesmount.cifs / smbclientNorclone (third-party)
Resumes on disconnectYesNoNoPartial

Common questions

Does Zynk work on WSL?

Install the Linux build inside WSL if you need it there, but it's usually more useful to install the Windows build and the Linux build separately. Each environment shows up as its own device, and you can send files between them without leaving the terminal.

What about SFTP or SSH?

Fine if you already run an SSH server on the Linux box. scp file user@host:/path works for a quick file. For anything larger, resumable, or involving multiple files, SSH gets clunky fast. No progress bars, no resume on disconnect without extra tooling like rsync, and every transfer starts with a password or key dance.

Which Linux distributions does Zynk support?

Debian, Ubuntu, Fedora, Arch, and others through the AppImage. See the download page for the full list and package formats.

Can I script transfers from the command line?

Yes. The Zynk CLI runs on Linux, macOS, Windows, and FreeBSD. Search files with zs, then send <contact> <file> fires them over. Pipe into it, chain it in shell scripts, drop it into cron or CI jobs.

Is Zynk free?

The free plan includes unlimited direct transfers with no file size limit. Pro adds higher cloud relay bandwidth and bigger web shares.

What about Wi-Fi Direct?

Wi-Fi Direct works between supported devices but Windows and Linux implementations barely talk to each other. In practice, hardly anyone uses it for Linux-Windows transfer. Samba, Zynk, or a USB stick are all better options.


Download Zynk for Linux and Windows. Send your first file.