You have a large video on your phone. You need it on your laptop.
You don’t need a shared drive, another account, or a permanently stored copy. You just need the file on the other device.
That’s the problem I’m working on with ButterShare: a free, browser-based file transfer tool built around peer-to-peer sharing.
I’m the developer behind it. Here’s what it does, why I chose this approach, and the tradeoffs worth understanding.
What is ButterShare?
ButterShare lets you send files between devices through a web browser, without signing up or installing an app.
The main features are:
- Browser-to-browser file transfers using WebRTC.
- No product-imposed file-size cap.
- No cloud storage of your transferred files.
- Sharing through a link or QR code.
- No compression of the files you send.
- Support for cross-platform workflows using compatible browsers.
The important distinction: this is a live transfer, not an upload-and-download-later service. Both devices need to stay connected until the transfer finishes.
How to transfer files with ButterShare
The workflow is straightforward:
- Open ButterShare on the sending device.
- Select the files you want to share.
- Share the generated link or let the recipient scan the QR code.
- Open the link on the receiving device and connect.
- Keep both browser tabs open until the transfer completes.
You don’t need to create an account for a one-time transfer.
This is useful when moving photos to another device, sharing a screen recording, or sending an exported video to someone who is available to receive it.
Why use WebRTC for file transfer?
WebRTC is often associated with video calls, but its data channels can carry binary data too.
An RTCDataChannel lets browsers exchange data over a peer connection. Data channels use DTLS encryption, and their APIs expose buffering information that applications can use to manage outgoing data.
For developers exploring the underlying technology, MDN’s guide to WebRTC data channels is a useful starting point.
Large-file transfers also involve practical engineering decisions: splitting files into manageable chunks, controlling how much data is queued, and handling the receiving browser’s storage and memory constraints.
That’s why “no product-imposed file-size cap” shouldn’t be confused with “every browser can handle an arbitrarily large file under any conditions.”
No cloud storage does not mean no infrastructure
These are different claims.
A browser-to-browser application can still need infrastructure to help devices discover and connect to each other. Depending on a WebRTC application's configuration and network conditions, connectivity may also involve relay servers.
Temporarily relaying encrypted traffic is different from storing a file for someone to download later.
ButterShare’s file-sharing model is about live delivery without maintaining a cloud-stored copy—not about pretending that networking infrastructure disappears.
When browser-based file sharing makes sense
Moving files between different operating systems
If you’re looking for a browser-based alternative to an AirDrop-style workflow, ButterShare is designed for sharing across devices such as Windows PCs, Macs, Android phones, iPhones, and iPads.
It does not use Apple’s AirDrop protocol. Both devices connect through their browsers instead.
Sending videos without compression
Sometimes you need to send the original exported video, not a smaller version.
ButterShare transfers the selected file without deliberately re-encoding it. That makes it useful when preserving the original file matters.
Sharing files without creating accounts
A quick handoff shouldn’t always require inviting someone into a shared workspace.
A link-based session is useful when both people are already online and just need to exchange files.
The limitations are important
Peer-to-peer transfer is not the right answer for every situation.
Keep these constraints in mind:
- Both devices must remain connected. Closing a tab, putting a device to sleep, or losing connectivity can interrupt the transfer.
- Speed depends on the connection. Your network, the recipient’s network, and the connection path all matter.
- Browser behavior matters. Mobile background restrictions and available memory or storage can affect large transfers.
- There is no stored copy waiting for an offline recipient. If someone needs to download tomorrow after you disconnect, a cloud-based transfer service is a better fit.
I don’t want to market this as a replacement for every file-sharing workflow. It solves a specific one: moving files between people or devices that can connect at the same time.
Try it and tell me what breaks
ButterShare’s live file-transfer tool is free to use.
If you try it, I’d appreciate concrete feedback:
- Which devices and browsers did you use?
- What size and type of file did you transfer?
- Did the connection work on the first attempt?
- Was anything confusing about sending or receiving?
Please don’t include private filenames or sharing links in your feedback.
What’s the most frustrating part of transferring files between your devices?
Top comments (0)