Skip to main content

File Sharing Tools Compared

A look at how different file sharing tools work, what they're good at, and where they fall short, including SpectrShare.

Published March 5, 2026

The Landscape

There are dozens of ways to send a file to someone. Email started supporting file transfer in the early 90's, Google Drive and Dropbox have been around for over a decade. WeTransfer built a business on making it simple. And in recent years, a crop of P2P tools have appeared that skip the cloud entirely, sending files straight from one browser to another.

Each approach makes different trade-offs. Cloud services give you persistence and collaboration but require accounts and store your data on someone else's servers (sometimes permanently). P2P tools give you privacy and speed but require both parties to be online at the same time. CLI tools give you automation but assume you're comfortable with a terminal.

This article compares eight file sharing tools across the dimensions that actually matter: privacy, ease of use, file type support, and what happens when something goes wrong mid-transfer. SpectrShare is one of them. Where it's strong, I'll say so. Where it's weak, I'll say that too.

Cloud Storage: Google Drive, Dropbox, WeTransfer

The cloud services are the default for most people, and for good reason. Upload a file, get a link, send the link. The recipient downloads whenever they want. Nobody needs to coordinate timing.

Google Drive & Dropbox

Both require accounts. Google gives you 15 GB free (shared across Gmail, Photos, and Drive); Dropbox gives you 2 GB. Both handle files up to multiple terabytes on paid plans.

One feature of both services is their in-browser preview. You can view images, PDFs, Office documents, and play video up to 1080p without downloading anything. Google Docs takes this further with real-time collaboration. For shared workspaces and persistent storage, SpectrShare is not trying to compete with them.

Of course, the trade-off is that your files live on their servers, encrypted with keys they control. Google and Dropbox can access your data if compelled to (or if they choose to). For most people sharing holiday photos, this is fine. For sensitive documents, it's worth thinking about.

WeTransfer

WeTransfer used to be the simplest option: no account, drag files in, send. That changed after Bending Spoons acquired the company in mid-2024. The free tier now requires an account to send, caps you at 10 transfers or 3 GB per month, and files expire after 3 days. The paid tier ($10/month) makes it 300GB.

WeTransfer does offer file previews for images, videos, PDFs, and some design formats (including Adobe Illustrator files). It's not as comprehensive as Google Drive's preview, but it's there.

None of these services are P2P. Your files are uploaded to their servers, stored there, and then downloaded by the recipient. They're encrypted in transit (TLS), but the provider holds the data and the keys.

P2P Browser Tools: FilePizza, PairDrop, Wormhole

These tools skip the cloud. Files go directly from one browser to another using WebRTC, with a signaling server handling only the initial connection setup. No accounts, no storage, no retention policies to worry about.

FilePizza

FilePizza is pure P2P via WebRTC. Drop a file in, get a link, the other person opens it and the file streams directly between browsers. No file size limit beyond what the browser can handle. Multiple files get bundled into a ZIP.

It's open source (BSD 3-Clause), self-hostable via Docker, and supports password protection. There's no in-browser preview, no CLI, and no resume if the connection drops. The share only exists while the sender's tab is open. Close the tab, the link dies (common to SpectrShare also, and a feature in many cases.)

PairDrop

PairDrop is a fork of the now-inactive Snapdrop, designed primarily for local network transfers (think AirDrop for any device). Devices on the same Wi-Fi discover each other automatically. It also supports cross-network transfers via 6-digit pairing codes, though that's a secondary use case.

It's open source (GPL-3.0), self-hostable, and has no enforced file size limit. There's a basic preview for images, video, and audio at the receiving end before you accept the file. PairDrop does list a "CLI" (pairdrop-cli), but it's a bash script that opens the web UI in your browser with files pre-staged. It won't do headless transfers from a server or a script.

Where PairDrop shines is the zero-friction LAN use case. Walk into a room, open the page, see the other devices, tap to send. For that specific workflow, it's hard to beat.

Wormhole

Wormhole markets itself as P2P, but the reality is more nuanced. Files under 5 GB are uploaded to Wormhole's servers (encrypted with 128-bit AES-GCM in the browser first, so the server can't read them). Only files over 5 GB actually transfer peer-to-peer. The 10 GB maximum applies either way.

The encryption model is solid: the decryption key lives in the URL fragment (the part after the #), which browsers don't send to servers. No account required. Links expire after 24 hours. No preview, no CLI, no resume. The full application code isn't open source, though the underlying encryption library is. Personally I find the wormhole animation when you share to be a bit OTT, but each to their own.

Wormhole positions itself as a spiritual successor to Firefox Send, which Mozilla shut down in 2020. The pitch is similar: encrypted, ephemeral, no account. But since most transfers go through their servers, it's closer to "encrypted cloud" than true P2P for typical use.

CLI & Developer Tools: Magic Wormhole, OnionShare, Send

Magic Wormhole

Magic Wormhole is a CLI-only tool (Python) that generates human-readable codes like 7-crossover-clockwork. You run wormhole send photo.jpg, read the code to the recipient over the phone, and they type wormhole receive 7-crossover-clockwork. The transfer is encrypted with SPAKE2 key exchange and NaCl SecretBox.

It tries direct TCP first and falls back to a transit relay if NAT gets in the way. You can self-host both the relay and the rendezvous server. Directories are supported (zipped automatically, unzipped on the other end). No file size limit. No GUI, no preview, no browser component at all. Both parties must be online at the same time.

If you're a developer who needs to move a file between two machines and you're already in a terminal, Magic Wormhole is about as frictionless as it gets, though SpectrShare with the CLI client is pretty similar, and supports browser-to-cli and vice versa.

OnionShare

OnionShare takes a fundamentally different approach: it turns your computer into a Tor hidden service. Recipients open the .onion link in Tor Browser and download directly from your machine. No relay, no cloud, no intermediary of any kind.

This gives it the strongest privacy model of any tool on this list. Neither the sender nor recipient needs to reveal their IP address. The trade-off is speed: Tor adds multiple layers of encryption and routing, so transfers are significantly slower than clearnet alternatives.

OnionShare has both a GUI and a CLI (onionshare-cli). It's GPL-3.0, preserves folder structure (recipients can browse directories in Tor Browser), and has no file size limit. It comes pre-installed in Tails and is packaged for most Linux distributions.

It's built for a specific threat model: journalists, whistleblowers, activists. For casual file sharing, Tor speeds make it impractical for large files.

Send (Firefox Send fork)

timvisee/send is a community-maintained fork of Mozilla's Firefox Send. Files are encrypted in the browser (AES-128-GCM) and uploaded to a server. The decryption key stays in the URL fragment. Public instances typically allow 1-2.5 GB per file. Self-hosted instances can set whatever limit they want.

The companion CLI tool, ffsend, is still actively maintained and lets you upload and download from the terminal. Self-hostable via Docker. Links can be set to expire after a number of downloads or a time period.

Send is not P2P (files go through a server), but the server never sees the unencrypted content. Development has slowed, though the project remains functional.

Where SpectrShare Fits

SpectrShare is a P2P tool built on WebRTC Data Channels. Files transfer directly between browsers, encrypted with DTLS. No account, no upload, no storage. Like FilePizza and PairDrop, both parties need to be online at the same time.

What makes it different from other P2P tools is what happens after the connection is established. Most P2P sharing tools are download-only: you get a file and open it locally. SpectrShare lets recipients preview files in the browser before (or instead of) downloading. Images render inline. PDFs display in a viewer. Word documents and spreadsheets render with formatting. RTF and markdown get rendered. Emails display with headers and attachments. Ebooks open in a reader with chapter navigation. Code files get syntax highlighting. Audio plays in an inline player.

The most unusual feature is video. If the sender enables background conversion, SpectrShare converts video files to a streamable format using WebCodecs (entirely in the browser, no server processing), then streams them to viewers with seek, quality selection, and adaptive buffering. It's a YouTube-like VOD experience over a direct P2P connection. As far as I know, no other P2P file sharing tool does this. More on how it works in the video streaming article. Of course, Google Drive does support this, at the cost of having your videos on their servers.

SpectrShare also preserves folder structure. Drop a folder in and recipients see a collapsible file tree. Downloads can use the File System Access API to recreate the directory hierarchy on disk, or download as a ZIP with paths intact.

Transfer resume is another differentiator. If a connection drops mid-transfer, the download can pick up where it left off. The partial hash state is saved and restored so the final integrity check covers the entire file. This works on browsers that support the File System Access API (Chrome, Edge) or the Service Worker download strategy.

There's also a Go CLI that can host and download files from the terminal. It uses the same WebRTC protocol as the browser, so a CLI host can serve files to browser viewers and vice versa.

Where SpectrShare is weak

The biggest limitation is the same one shared by all P2P tools: both parties must be online. You can't send a link and close your laptop. If the sender's tab closes, the share is gone. For async transfers where you want to upload and walk away, cloud services or Wormhole (for files under 5 GB) are better choices.

Video conversion happens in the browser, which means it's limited by the sender's device. A phone or a low-end laptop will be slow to convert to the needed streaming format. Google Drive and Dropbox transcode on their servers with dedicated hardware, so there is no reliance on your own hardware.

And there's no real-time collaboration, no shared folders, no sync. If you need any of that, Google Drive and Dropbox are the right tools.

Feature Comparison

A side-by-side look at what each tool does and doesn't do. "Partial" means the feature exists but with significant caveats noted in the sections above.

FeatureGoogle Drive / DropboxWeTransferFilePizzaPairDropWormholeMagic WormholeOnionShareSpectrShare
P2P (no server storage)NoNoYesYesPartialYesYesYes
No account requiredNoNoYesYesYesYesYesYes
In-browser file previewYesPartialNoPartialNoNoNoYes
Video streaming / playbackYesNoNoNoNoNoNoYes
Transfer resumePartialNoNoNoNoNoNoYes
Folder structureYesNoNoNoNoYesYesYes
CLINoNoNoNoNoYesYesYes
Open sourceNoNoYesYesNoYesYesNo
Self-hostableNoNoYesYesNoYesN/ANo
Password protectionNoPaidYesNoNoNoNoYes
Async (sender can close)YesYesNoNoPartialNoNoNo
Max file size (free)15 GB3 GBNo limitNo limit10 GBNo limitNo limitNo limit

Picking the Right Tool

The right tool depends on the situation, not on which one has the most checkmarks in a table.

"I need to share a folder with my team and we'll all edit the files over the next month."

Google Drive or Dropbox. Nothing else here does collaboration.

"I need to send a 500 MB file to someone and I don't want to make an account."

Wormhole if they're not online right now. FilePizza or SpectrShare if they are.

"I want to share photos and video that people can browse and watch without downloading."

SpectrShare, or Google Drive if you need the link to work after you close your laptop.

"I'm moving a file between my phone and laptop on the same Wi-Fi."

PairDrop has better local discovery - it's built for exactly this. SpectrShare and FilePizza will also give you full LAN speed though.

"I need to transfer something sensitive to a source, and anonymity to state-level actors matters."

OnionShare. The Tor routing overhead is worth it when the threat model requires it.

"I'm SSH'd into a server and need to send a file to a colleague."

Magic Wormhole or SpectrShare CLI. Both work from a terminal with no GUI.

"I want to self-host the whole thing and not depend on any third-party service."

FilePizza, PairDrop, Send, Magic Wormhole. All are open source and self-hostable. OnionShare doesn't need a server at all.

Final Thoughts

File sharing isn't a solved problem with one right answer. Cloud services are unbeatable for persistence and collaboration. P2P tools are unbeatable for privacy and simplicity. CLI tools are unbeatable for automation. Each category exists because the others leave gaps.

I built SpectrShare initially because I wanted to be able to stream videos, and then because I wanted something that combined P2P privacy with the kind of rich file browsing experience that only cloud services offered. Being able to preview images, read documents, and stream video without uploading anything to a server seemed like it should exist. That's the niche it fills.

But if you need async sharing, use a cloud service. If you need anonymity, use OnionShare. If you're already in a terminal, Magic Wormhole is great. The best file sharing tool is whichever one fits what you're actually trying to do. Give SpectrShare a try.

Give it a go.