croc is a free, open-source CLI tool for sending files securely between computers using PAKE encryption. See features, pros, cons, and FAQs.
Category
Hosting
Pricing
Free and open source (no license fees), from Free
Verified
Not yet
Last updated
July 19, 2026
Founded
2019
Headquarters
Not applicable (open-source project; maintainer publicly associated with the United States)
How croc Transfers Files Securely
croc lets a sender offer a file, folder, or text snippet from the command line, generating a short code phrase that the receiver enters on their own machine to start the transfer. Behind the scenes, croc uses password-authenticated key exchange (PAKE) so both sides derive a strong encryption key from that code phrase without ever sending the phrase itself over the network.
Once the key exchange completes, croc encrypts the file data and metadata with AES-256 before transmission, so the transfer is end-to-end encrypted between sender and receiver, even though the traffic passes through an intermediary relay server along the way.
Relay Servers and Self-Hosting
Because most networks block direct inbound connections between two arbitrary computers, croc relays the already-encrypted data through a relay server that only passes bytes back and forth and cannot read the underlying file contents. By default, croc uses a public relay operated by the project.
Users and organizations that prefer not to route data through a public third-party relay, or that need croc to work inside restricted networks such as certain VPNs, can self-host their own relay, including through a simple Docker deployment, and configure croc to use it at runtime.
Who croc Is Built For
croc is a command-line tool, so it is aimed primarily at developers, system administrators, and technically comfortable users who are comfortable working in a terminal. It fits well into scripted workflows, server-to-server transfers, and situations where installing a graphical file-sharing app is impractical.
It is less suited to non-technical users who want a graphical drag-and-drop interface, though its simple code-phrase-based workflow is still considerably easier to use than manually configuring SCP, FTP, or a local file server.
Key Features
Code-phrase-based transfers — Generates a short, human-readable code phrase that the receiver uses to securely connect and receive a file, folder, or text snippet.
PAKE-based key exchange — Uses password-authenticated key exchange so both sides derive a strong session key from the code phrase without transmitting it directly.
AES-256 end-to-end encryption — Encrypts file data and metadata with AES-256 before transmission, keeping transfers private even when routed through a relay.
No server setup or port forwarding required — Works out of the box using croc's relay infrastructure, avoiding manual server configuration for the average user.
Self-hostable relay servers — Supports running a private relay, including via Docker, for organizations with policy or network restrictions on the public relay.
Resumable transfers — Can resume interrupted transfers rather than restarting large file sends from scratch.
Cross-platform support — Runs on Windows, macOS, and Linux, and supports transferring multiple files or entire folders at once.
Proxy and IPv6 support — Supports routing through a proxy such as Tor and prefers IPv6 connections with automatic IPv4 fallback.
Pros & Cons
Pros
Free and open source with no licensing cost
Strong end-to-end encryption by default using PAKE and AES-256
No need to configure a server, port forwarding, or upload files to third-party cloud storage
Cross-platform support for Windows, macOS, and Linux
Simple, memorable code-phrase workflow that is fast to use from the command line
Can self-host a private relay for organizations with data policy requirements
Cons
Command-line only, with no official graphical interface, which limits accessibility for non-technical users
Relies on a relay server, public or self-hosted, rather than always connecting two computers directly
Requires opening specific TCP ports, default range 9009 to 9013, in some network configurations
No official enterprise support, SLA, or customer service organization since it is a community open-source project
Less discoverable and less polished onboarding than mainstream consumer file-sharing apps
Frequently Asked Questions
Is croc free to use?
Yes, croc is free and open-source software with no licensing fees.
How does croc keep file transfers secure?
croc uses password-authenticated key exchange (PAKE) to derive a strong encryption key from a shared code phrase, then encrypts the file data and metadata with AES-256 before sending it.
Do I need to configure a server to use croc?
No, croc uses a relay server, public by default or self-hosted, to route encrypted traffic between sender and receiver without requiring manual server setup or port forwarding in most cases.
Can the relay server read my files?
No, because files are encrypted end-to-end before reaching the relay, the relay only passes encrypted bytes and cannot read the file contents.
What platforms does croc support?
croc supports Windows, macOS, and Linux.
Can I self-host a croc relay?
Yes, croc supports self-hosting a private relay server, including via Docker, for users or organizations that prefer not to use the public relay.
Can croc resume an interrupted transfer?
Yes, croc supports resuming transfers that are interrupted partway through.
Who created croc?
croc was created by developer Zack Scholl, published under the GitHub username schollz, as the open-source schollz/croc project.