P2P File Transfer
Send a file straight from your browser to someone else's, with nothing in between.
Setup happens in your browser and the files move directly between the two devices. ArrayKit never receives your file, your code or the name of anything you send.
Check a file's hash after it lands
About P2P File Transfer
Sending someone a file usually means putting a copy on somebody else's computer first — a drive, a transfer site, a chat provider — and hoping it is deleted later. This tool skips that middle step. Two browsers open a direct, encrypted connection to each other and the bytes cross it once, from your device to theirs. Setting it up needs one thing: you paste a short code into whatever chat you already use, they paste one back, and the connection opens. That exchange is the only part that involves anyone else, and it carries no file data at all — just the addresses the two browsers need to find each other.
Features
- Files move directly between the two browsers over an encrypted data channel
- Setup is a short code each way, sent through any chat you already trust
- The receiving side sees the file list and has to accept before any bytes move
- Several files at once, with live progress, transfer rate and time remaining
- A same-Wi-Fi mode that never looks up an external address at all
- Incoming file names are stripped of path tricks and disguising characters
- The finished files download individually or together as a ZIP
- Shows whether the connection ended up local, direct or relayed
How to use the P2P File Transfer
- On the sending device, pick the files and create an invitation code
- Send that code to the other person however you normally message them
- They paste it in, generate a reply code and send it back
- Paste the reply in to connect, then they accept and the transfer runs
Example
Input
A 480 MB video, both laptops on the same office Wi-Fi
Output
Connected on the local network · 480 MB in about 40 seconds at 12 MB/s
On one network the transfer never leaves the building — there is no upstream link to wait for.
Common errors & troubleshooting
- The two browsers never connect. — Two things cause this. Some networks — mobile data and large corporate ones especially — hide every device behind a strict NAT that two peers cannot punch through. Others block the local-name lookup that devices on one Wi-Fi use to find each other, which also stops two tabs on the same machine from pairing. Trying from a different network, or between two genuinely separate devices, usually tells you which one you are hitting.
- The code got cut in half when I pasted it. — Chat apps sometimes trim long messages or turn them into an attachment. Send it as a plain text message, or use the QR code, which the other device can scan from your screen.
- The transfer stopped part-way. — The connection lives in the two tabs. If either tab is closed, the device sleeps, or the network changes, the channel drops and the transfer has to start over — there is nowhere for a half-finished file to be stored.
- A very large file ran the browser out of memory. — The receiving side holds the file in memory until it is complete. Multi-gigabyte files are best split first, or sent as several smaller files.
Frequently asked questions
- Does my file get uploaded anywhere during a P2P transfer?
- No. The file data crosses one connection, from your browser to theirs. The only thing that travels through anyone else is the setup code you send them, and that contains network addresses, not file contents.
- What exactly is in the code I send?
- The addresses your browser thinks it can be reached on, plus the keys the two ends use to encrypt the channel. It is shown in full and the addresses are listed underneath it, so you can see what you are handing over before you send it.
- Is the transfer encrypted?
- Yes. WebRTC data channels are encrypted end to end by the standard itself — there is no unencrypted mode to fall back to. The keys are in the codes you exchanged, so only the two of you can read the stream.
- Why does it sometimes contact an external address server?
- To learn how your device looks from the outside, which is what lets two peers on different networks find each other. Tick the same-Wi-Fi option and that lookup is skipped entirely, at the cost of only working on one network.
- Do both people have to be online at the same time?
- Yes, and both tabs have to stay open. This is a live connection between two devices rather than a drop box, so there is no copy waiting anywhere for a recipient to collect later.
- How big a file can I send?
- There is no limit imposed here, and on a local network the speed is whatever the network can do. The practical ceiling is the receiving browser's memory, since it assembles the file before saving it.
Related tools
- WiFi QR Code Generator — Create a scannable QR code that joins a WiFi network, with correct escaping.
- QR Code Generator — Generate a QR code from text or a URL; download as PNG or SVG.
- File Hash Checksum — Compute MD5, SHA-1, SHA-256 and SHA-512 checksums of files and compare against an expected hash.
- AES Encrypt / Decrypt — Encrypt and decrypt text with AES-GCM and a passphrase, using Web Crypto in your browser.
- Image to PDF — Combine images into a single PDF (auto / portrait / landscape).
- CIDR / Subnet Calculator — Calculate network, broadcast, host range and mask from a CIDR block.
- User Agent Parser — Parse a User-Agent string into browser, engine, operating system and device, in your browser.
All ArrayKit tools