Voice & text for friends and communities

Talk freely.
Nobody in between.

Hang out in spaces with text channels and voice rooms, or call a friend. What you say goes straight to the people you're talking to, end-to-end encrypted. No server ever reads it, and there's no phone number, email or password to hand over.

Free and open source · Windows, macOS and Linux · public beta

A space called Night Owls: four friends plan a game night in a text channel, with their voice rooms in the sidebar.
A voice room with four people: two talking, two muted.

Private by design, friendly by default

Peer-to-peer

Voice and messages travel only between the people in the conversation. In groups, the member with the best connection passes on the encrypted audio, and a backup takes over if they leave.

End-to-end encrypted, post-quantum

Every message and voice frame is encrypted on your device with keys that change constantly. Key exchange is hybrid with ML-KEM, so today's traffic stays safe from tomorrow's quantum computers.

No account to lose

Pick a name and you're in. Your account is a key on your devices; add your laptop by typing a short code. Keep the recovery key in case you lose them all.

Rooms you can see into

Voice rooms show who's inside before you join. Push-to-talk works even while you're in a game. Light and dark themes, and your own accent colour.

Messages that wait for you

Wrote while your friend was offline? The message waits on your device and goes out as soon as you're both online. If you like, a server can hold it for them, sealed so only they can read it.

Open to everyone

The code is open source. Coordination servers only introduce people to each other, and anyone can run one, with Docker or a single switch in the app.

How it works

  1. Find the fastest server. The app gets the list of coordination servers from this site's directory and connects to the quickest, keeping the runner-up on standby.
  2. Meet your people. The server tells your app who's online and which member has the best connection to host a room. It sees who talks to whom, never what is said.
  3. Talk directly. Your app connects to the host (or straight to your friend) and everything flows peer-to-peer, encrypted end to end.

Behind a network that blocks direct connections? You can let a server relay your already-encrypted traffic, an hour at a time. Read the security model

Download

Get an installer from the releases page, or install the latest version with one line in a terminal:

macOS & Linux curl -fsSL https://raw.githubusercontent.com/pwalda/crocodile/main/scripts/install.sh | sh
Windows (PowerShell) irm https://raw.githubusercontent.com/pwalda/crocodile/main/scripts/install.ps1 | iex

Our builds aren't code-signed yet, so Windows and macOS show a one-time warning for downloaded installers (the one-line install avoids it). On Windows, choose More info → Run anyway. On macOS, open System Settings → Privacy & Security → Open Anyway. Signed builds are on the way. The app keeps itself up to date.

Run a coordination server

Coordination servers are the phone operators of Crocodile: they connect calls but never listen in. Running one gives the people near you faster connections.

Docker docker run -d --name crocodile --restart unless-stopped -p 7443:7443/tcp -p 7443:7443/udp -p 7444:7444/udp -v crocodile-data:/data -e CROC_PUBLIC_URL=https://croc.example.org -e CROC_DIRECTORY=https://crocodilechat.com ghcr.io/pwalda/crocodile-coordinator

Put an HTTPS reverse proxy in front of TCP 7443 and set CROC_PUBLIC_URL to its address. Or open the app and turn on Settings → Host a server. The self-hosting guide has the details.

Questions

Is it free?

Yes. Crocodile is free and open source, and talking and privacy will stay free.

What does "beta" mean here?

Crocodile works, but expect rough edges, and please tell us about them. The encryption design is public and the code is open, but it hasn't had an independent security audit yet. Until it has, don't rely on it where your safety depends on it.

Can the servers read my messages?

No. Messages and voice never pass through coordination servers, except when you turn on the relay or the mailbox, and even then they stay end-to-end encrypted and unreadable to the server. Servers do see profiles and who talks to whom; our privacy notice lists exactly what.

What happens if my friend is offline?

Your message waits on your device and is delivered as soon as you're both online. If you turn on the mailbox, a server holds it for a few days, sealed so only your friend's devices can open it.

How do I use it on more than one computer?

On the new computer choose I already use Crocodile → Link from another device, type the code it shows into a computer where you're signed in, and check that both show the same security code.

How do I delete my account?

In the app, Settings → Profile → Delete account. It's erased from the coordination servers and signed out on all your devices. Spaces you own are deleted for everyone.

Is there a phone or web version?

Not yet. Crocodile runs on Windows, macOS and Linux today; phones come later.

Why does my computer warn me about the download?

Windows and macOS warn about apps that aren't code-signed yet. The one-line installers avoid the warning, and signed builds are coming.

I found a bug. Where do I report it?

Open an issue on GitHub. In the app, Settings → About → Copy diagnostics gives us useful details without any of your messages. Please report security problems privately.