Even in 2026, we still need to transfer files between computers all the time. Sure, there are plenty of cloud storage services out there. But sometimes you just want something fast, secure, and peer-to-peer — no sign-ups required. That's exactly where croc shines.

What Is Croc?

croc is a command-line tool written in Rust that lets you securely transfer files and folders between any two computers. Unlike other file transfer tools, croc stands out with several unique advantages:

  • End-to-end encryption: All transfers use the PAKE (Password-Authenticated Key Exchange) protocol
  • Relay-assisted connections: Public relay servers help establish connections through NAT and firewalls
  • Resumable transfers: Pick up right where you left off if a transfer gets interrupted — even for large files
  • Cross-platform: Works on Windows, macOS, Linux, and BSD
  • No open ports needed: Zero firewall or port-forwarding configuration required

Installing Croc

Linux

Fedora/RHEL/CentOS:

sudo dnf install croc

Debian/Ubuntu:

curl https://getcroc.schollz.com | bash

Arch Linux:

yay -S croc

macOS

Via Homebrew:

brew install croc

Windows

Via Chocolatey:

choco install croc

Or grab a pre-compiled binary from GitHub Releases.

Basic Usage

Using croc is dead simple. File transfers take just two steps: the sender generates a code, and the receiver enters it.

Sending Files

On the sender's machine:

croc send /path/to/file.txt

Or send an entire folder:

croc send /path/to/folder/

croc will spit out a code that looks something like this:

Sending 'file.txt' (2.5 MB)
Code is: 1234-abcd-efgh-5678

Receiving Files

On the receiver's machine, just type:

croc 1234-abcd-efgh-5678

The file will start downloading to your current directory.

Advanced Tips

Custom Password

Want to set your own transfer password instead of letting croc generate one?

# Sender
croc send --pass mysecretpassword file.txt

# Receiver
croc --pass mysecretpassword 1234-abcd-efgh-5678

Custom Relay Server

croc uses a public relay server by default, but you can host your own:

# Sender
croc --relay myrelay.example.com send file.txt

# Receiver
croc --relay myrelay.example.com 1234-abcd-efgh-5678

Transferring Multiple Files

croc send file1.txt file2.txt file3.txt

Or use a wildcard:

croc send *.pdf

Transfer from Standard Input

# Sender
cat secret.txt | croc send

# Receiver
croc > received.txt

Security Features Deep Dive

PAKE Encryption Protocol

croc uses the SPAKE2+ protocol for password-authenticated key exchange. Here's what that means in practice:

  1. Passwords never travel over the wire: Only encrypted proofs of the password are exchanged
  2. MITM protection: Even if the relay server is compromised, attackers can't decrypt your files
  3. Forward secrecy: Each transfer uses a fresh session key

End-to-End Encryption Flow

Sender                      Relay Server                      Receiver
  |                               |                               |
  |---- Encrypted file data ----->|                               |
  |                               |---- Forward encrypted data -->|
  |<--- Key exchange confirm -----|                               |
  |                               |<--- Key exchange confirm -----|
  |======= Direct P2P connection established =====================|

Once the connection is established, files transfer directly between the two machines. The relay server's job is done after the initial handshake.

Real-World Use Cases

Scenario 1: Quickly Share a Large File

Need to send a 2 GB video to a coworker, but your company email caps attachments at 25 MB? Croc makes it easy:

croc send presentation-video.mp4
# Share the code with your coworker over chat
# They enter the code and receive the file

Scenario 2: Cross-Network Server Transfers

Transfer log files between servers in two different data centers:

# Server A
croc send /var/log/application.log

# Server B (via SSH)
croc [code]

Scenario 3: Back Up to Your Home NAS

Securely transfer sensitive files from your work machine to a home NAS:

croc --pass "strong-password" send confidential/

Performance Benchmarks

Based on real-world testing across different network conditions:

Network Average Speed Notes
LAN 50–100 MB/s Direct P2P connection
Same-city broadband 10–30 MB/s Limited by upstream bandwidth
International 2–8 MB/s Latency affects handshake speed

How Croc Compares

Feature croc scp rsync Magic Wormhole
End-to-end encryption
NAT traversal
Resumable transfers
Ease of use ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐
Cross-platform

Running Your Own Relay Server

If you're worried about the privacy implications of using the public relay, you can run your own:

# Install
go install github.com/schollz/croc/v10/src/croc@latest

# Start the relay
croc relay

# Default ports: 9009, 9010, 9011, 9012, 9013

Or run it in Docker:

docker run -d \
  -p 9009:9009 -p 9010:9010 -p 9011:9011 \
  -p 9012:9012 -p 9013:9013 \
  --name croc-relay \
  schollz/croc:latest relay

FAQ

Q: What happens if a transfer gets interrupted?

A: No worries — croc supports resumable transfers. Just re-run the same command and it'll pick up from where it left off.

Q: How can I verify file integrity?

A: croc uses SHA-256 checksums by default. Files are automatically verified after transfer completes.

Q: Can I limit transfer speed?

A: Yes, use the --rate parameter:

croc --rate 1mbps send file.txt

Q: Does it support multiple receivers?

A: Yep. The same code can be used by multiple people, and each one gets a full copy of the file.

Wrap-Up

croc is one of the best command-line file transfer tools available in 2026. It nails the combination of security, ease of use, and functionality — whether you're a developer, a sysadmin, or just someone who needs to move files around.

Key strengths: - 🛡️ Enterprise-grade encryption - 🚀 Fast and dead simple to use - 🌐 Transfers across the internet with zero network config - 📦 Handles files and folders of any size

Project links: - GitHub: https://github.com/schollz/croc - Official site: https://croc.schollz.com - Documentation: https://github.com/schollz/croc/blob/main/README.md

Next time you need to move files quickly and securely, give croc a shot!