How to transfer files between devices in the browser
A PDF on the phone that belongs on the laptop. A log file on a server that you want to look at on your desktop. A photo for a colleague on the other side of the building. All of these are two-minute jobs if both ends have a browser - and only a browser is needed.
Drag, drop, download
-
Open a board on the sending device - any name, for example
clipboard2.com/myboard. - Drop your files onto the upload area, or tap it to pick them. On a phone this opens the photo library or the file picker.
- Open the same URL on the receiving device. The files are listed with their size and a countdown; click one to download it.
The file list is live. A file uploaded on the phone appears in the list on the desktop without a reload, and a deleted file disappears the same way.
The limits, and why they exist
- 10 files per board, with 100 MB in total. A single file may use the whole budget.
- Uploads are rate limited per network. If you hit the limit, the board says so and the upload is refused; try again a little later.
- Files expire. They are deleted together with the board content after 1 minutes, and each file carries its own countdown so you can see how long it is still available.
These limits are what keeps the service free and fast. It is built for the file you need on the other device right now - not as a place to park a backup.
From a server without a desktop
This is where a board beats every sharing app: a machine you only reach over SSH has no
AirDrop and no file manager, but it has curl.
curl -L -F "files=@myfile.pdf" clipboard2.com/myboard/files
Invoke-RestMethod -Method Post -Form @{files = Get-Item myfile.pdf} https://clipboard2.com/myboard/files
wget cannot send a file upload - use curl or PowerShell
the standard library has no multipart helper - use curl or PowerShell
Open the board in your browser and the log is there. The other direction works just as well:
curl -L -OJ clipboard2.com/myboard/file/<file-id>
Invoke-WebRequest -OutFile myfile.pdf https://clipboard2.com/myboard/file/<file-id>
wget --content-disposition clipboard2.com/myboard/file/<file-id>
python3 -c "import urllib.request as u;u.urlretrieve('https://clipboard2.com/myboard/file/<file-id>','myfile.pdf')"
-OJ keeps the original file name. Every file row on the board has a button that
copies the ready-made command, so you do not have to assemble the file ID by hand. The
API reference has the full set of endpoints.
Phone to laptop, in both directions
To get the board onto the phone in the first place, point its camera at the QR code shown next to the board name - no typing, no sending yourself a link.
On iOS, tapping the upload area offers the photo library, iCloud Drive and anything else in the Files app. Downloads land in Files under Downloads. On Android, the picker shows the gallery and local storage, and downloads land in the Downloads folder as usual. Nothing special is needed on either system, because it is an ordinary browser upload.
When to use something else
- Large videos or archives. Over 100 MB, this is the wrong tool.
- Anything that has to stay available. Files are deleted automatically; that is the point, but it makes them unsuitable as a permanent link.
- Confidential documents. Anyone who knows the board name can download the files while they exist. Use a long random board name, and for genuinely sensitive material use an encrypted channel instead.
- Two devices in the same room, same ecosystem. AirDrop or Nearby Share is faster and stays local.
Getting rid of a file early
Each file row has a delete button, and the Clear button at the top of the board removes the text and every file at once. Both take effect immediately on all connected devices - the file is removed from the server's disk, not just from the list.