Croc: The Easiest Way to Send Files Between Computers
Ever needed to send a file to someone and immediately started a mental debate? Email has size limits. Google Drive requires accounts and uploads. USB drives mean getting up. For developers, it's even more common: you need to move a log file from a server, send a build artifact to a teammate, or grab a config from your local machine to a remote one. You just want it to work, without the ceremony.
That's where croc comes in. It's a command-line tool built on the simple, powerful idea that transferring data should be as easy as running a single command on both ends. No setup, no accounts, just a secure, direct line from point A to point B.
What It Does
In a nutshell, croc lets you send files or folders from one computer to another using a secure, peer-to-peer connection. You run croc send on the machine with the file, it gives you a magic code phrase, and then you (or your colleague) run croc receive <code> on the destination machine. That's it. The transfer happens directly between the two computers when possible, falling back to a relay only if necessary.
Why It's Cool
The beauty of croc is in its straightforward design and clever features:
- Zero Configuration: There's nothing to set up. Install it and you're ready to go. It "just works" on your local network and across the internet.
- Secure by Default: All transfers are encrypted end-to-end using PAKE (Password-Authenticated Key Exchange). The code phrase you share is the key; no one intercepting it can decrypt the data.
- Resumable Transfers: Got a flaky connection on a huge file? No problem. You can resume an interrupted transfer, which is a lifesaver.
- Platform Agnostic: It works on Windows, macOS, Linux, and even Android. Sending a file from your Linux server to a Windows laptop is the same simple command.
- It's Just a Single Binary: No dependencies, no runtime. It's a Go project, compiled down to a single, portable binary you can drop anywhere.
It essentially gives you the ease of a one-time AirDrop or Nearby Share, but for any two computers that can talk to each other, all from your terminal.
How to Try It
Getting started takes about a minute. The easiest way is to use the install script:
curl https://getcroc.schollz.com | bash
On macOS, you can also use Homebrew:
brew install croc
For other platforms (Windows, Linux packages), check the official installation instructions.
Once installed, sending a file is as simple as:
# On the sender's machine
croc send my-cool-project.zip
It will generate a code phrase like board-fish-guitar. Then, on the receiver's machine:
# On the receiver's machine
croc receive board-fish-guitar
And the transfer begins. It's that easy.
Final Thoughts
In a world of overly complex SaaS solutions, croc is a refreshingly simple tool that solves a specific, common problem exceptionally well. As a developer, I find myself reaching for it constantly: to pull a file from a headless Raspberry Pi, to send a quick screenshot to a coworker without leaving the terminal, or to move data between my desktop and laptop. It removes the friction from a task that shouldn't have any. If you live in the command line and ever need to move data around, croc deserves a spot in your toolkit.
Find more useful developer tools and projects at @githubprojects.
Repository: https://github.com/schollz/croc