Local File Transfer is a free tool that sends files directly between browsers on the same local network. Connect a phone to a laptop with one QR, choose your files, and watch their progress. UtilTray exchanges temporary connection information to help the browsers meet; it never uploads, stores or proxies the file contents.
How to transfer files between devices
- Open this page on the receiving device and select Receive files.
- Keep both devices on the same Wi-Fi. Scan the receiver’s QR with the sending phone, or use Copy connection link.
- Wait for Device connected. On the sender, choose files and select Send selected files.
- On the receiver, save verified downloads. For large files, use Choose save folder for large files before sending.
- Use Reset / disconnect when finished. No second scan or manual handshake is required.
Signaling is separate from file transfer
The QR contains a private, high-entropy room link, not the file or a public download URL. Cloudflare’s temporary signaling service exchanges WebRTC descriptions, host candidates and connection state. These messages contain normal network/session metadata. File names, chunks and checksums are exchanged only inside the encrypted peer connection. Share the QR only with the intended sender: the first sender claims the slot, and a third device cannot join.
Unclaimed rooms expire after five minutes. The signaling room has an absolute ten-minute limit and normally closes shortly after both peers confirm their direct connection. Transfers can continue without that room. There is no account, permanent room database or transfer history.
Direct-only connections and large files
No STUN or TURN servers are configured. Guest Wi-Fi isolation, VPNs, firewalls or browser address-resolution restrictions may prevent a direct connection even on the same network. Failure shows an error instead of sending files through a relay. Keep screens awake, and try another trusted network if necessary.
Send up to 50 files sequentially. The sender reads small slices and pauses when network buffers or receiver acknowledgments require it. Incremental SHA-256 verifies each complete file without loading a large source file into RAM. With folder-streaming support, the receiver can save files up to 64 GiB; partial writes are aborted on cancellation or corruption. Without it, the receiver has a 100 MiB combined memory budget. Save and clear downloads to reclaim that budget. Files are not opened automatically or scanned for malware. UseFile Checksum when comparing a download with a trusted published digest.
Frequently asked questions
Do my files pass through UtilTray servers?
No. UtilTray temporarily exchanges SDP, host candidates and connection state through Cloudflare signaling. File names, hashes and bytes travel only over the encrypted browser-to-browser DataChannel.
Does this work between iPhone and Mac?
Current Safari supports WebRTC data channels, but successful local connections depend on the browsers and Wi-Fi. Keep both screens awake. Safari uses a memory fallback capped at 100 MiB total; larger files need a receiving desktop browser with folder-streaming support.
Can I transfer large files?
A supported receiving desktop browser can stream files up to 64 GiB into a folder you choose. Sender reads small slices; incremental SHA-256 avoids reading a whole file into RAM. Other browsers have a 100 MiB total received-content memory budget.
Do both devices need to be on the same Wi-Fi?
Yes, or another mutually reachable local network. No STUN or TURN servers are configured. Guest-network isolation, VPNs, firewalls and browser mDNS restrictions can block direct pairing.
Why does UtilTray need signaling?
Browsers need to exchange temporary connection details before connecting. A short-lived signaling room handles that automatically, so the receiver can show one QR. The room is separate from the file path and closes after the direct connection is established.
What happens if the direct connection fails?
The tool shows a direct-connection error. It never falls back to server uploads or a relay. Check that both devices share the network, leave their pages open and retry with a new room.
Is WebRTC encrypted?
The DataChannel uses WebRTC transport encryption. SHA-256 checks that received bytes match the sent bytes; it does not scan files for malware or prove the sender’s identity. Share the QR/link only with the person you intend to connect.
Last updated