Academy

Magic Wormhole review: send a file with a short code

Two people talking at a kitchen table, with laptops turned away and a USB stick between them.

Magic Wormhole is a free file-transfer tool for a file, a folder, or a short note.16 You read a short code aloud, and the other person types it into their copy.1 That code builds a shared key, so the mailbox that introduces the computers cannot read the encrypted messages.4

Last checked October 28, 2026.

At a glance

  • What it is: A command-line program that sends a file, folder, or short text when both people use the same code.1
  • Works on: Linux, macOS, and Windows, on Python 3.10, 3.11, 3.12, or 3.13. The docs also list a GNOME app and an Android app.1
  • Price: Free. The public mailbox stays up for as long as the project can run it.16
  • Licence: MIT.16
  • Best for: A one-off handoff while you can talk, with both programs left open.1
  • Official site: magic-wormhole.readthedocs.io

What Magic Wormhole does (and how it protects your privacy)

The command-line tool is named wormhole. It moves a file, a folder, or a short text.1 The sender shows a code and the receiver types it. Codes are short, taken from a word list, and each one works once.1 The documented example is 7-crossover-clockwork. The receiver sees the name and size and is asked ok? (y/n) before the file is written.1

The protection is a password-authenticated key exchange, or PAKE: a short shared password becomes a strong key during the connection, so a guess has to happen live, not offline later. Magic Wormhole uses SPAKE2.1 A malicious mailbox gets one guess.1 If that guess works, one of the two people sees the connection fail, usually with a “crowded” or “scary” error.1 Later traffic uses keys from that secret. File data uses NaCl secretbox, from libsodium.15

On the same local network, or when one computer has a public address, they connect directly. If both can only call out, a transit relay carries bytes that are already encrypted.1 The relay joins the two connections and copies what arrives on one out to the other.5 Setup messages use a mailbox. The default is relay.magic-wormhole.io.4 In May 2026 the docs still called version 1 the only deployed version.4 Both sides must use the same mailbox, and you can run your own.1

Key Magic Wormhole features

  • A spoken code: Short, single-use words, with tab-completion.1
  • Files, folders, or a note: wormhole send takes a file, a folder, or --text. wormhole receive accepts it.1
  • Direct when it can: Same-network transfers try a direct link. Otherwise the encrypted relay is the fallback.1
  • One guess: The default code has 16 bits of randomness, a 1-in-65,536 chance on that try.13
  • A stricter check: --code-length adds words. --verify prints an extra string to compare.1
  • Your own servers: --relay-url picks the mailbox. --transit-helper overrides the transit relay.1
  • A window instead: The docs list Warp, a GNOME app that works with the command line, and Wormhole for Android.1
  • The latest numbered release: Version 0.24.0, dated 5 May 2026.2

Magic Wormhole pros and cons

Pros

  • The MIT licence is free of charge and allows copying and modification.6
  • After the key is set, the mailbox cannot read the messages. Only the PAKE setup sits outside that encryption.4
  • On one local network the file can go straight between the computers.1
  • A successful guess shows up: one of the two people sees the connection fail.1
  • You can run the mailbox and the transit relay yourself.1

Cons

  • Both people need the program, and both copies must stay open until the end. There is no built-in timeout.1
  • This package is a command line. Warp and the Android app are separate programs.1
  • Anyone who hears the code can connect. On an insecure channel, that person can step in for certain.3
  • A network attacker, or the mailbox operator, gets one guess in 65,536.3
  • The public mailbox is a single point of failure, and the author calls the public relay best-effort.3
  • The mailbox learns your IP address. A relay can see sizes, timing, and addresses, and the other person is sent your address inside the encrypted channel.145

Is Magic Wormhole safe and private?

The licence copyright names Brian Warner, from 2015.6 The latest numbered release is 0.24.0, from 5 May 2026, and the docs list Python 3.10, 3.11, 3.12, and 3.13.12 The docs open with “Get things from one computer to another, safely.”1

The documented commands are send and receive, and the example never asks you to sign in.1 The mailbox welcome may include your-address, the IP address and port you appear as.4 It keeps messages across a restart, and it records a mood such as “happy”, “lonely”, or “scary”.4

Transit uses NaCl secretbox. A passive watcher can learn record sizes, timing, and the IP addresses, and cannot change a record without the link dropping.5 Say the code on a channel you already trust.3 --verify adds a comparison that does not depend on that channel staying secret,1 and --code-length=4 lengthens the code if failures pile up.3

Use a current release. On 10 March 2026, version 0.23.0 fixed a path-name bug in 0.21 and 0.22, and the notes say to upgrade.2 On 5 May 2026, version 0.24.0 fixed a related case, CVE-2026-42448, when --output pointed at an existing folder.2

How to get started with Magic Wormhole

  1. Install from the project’s instructions. Debian and Ubuntu: sudo apt install magic-wormhole. macOS: brew install magic-wormhole. Windows: winget install -e --id magic-wormhole.magic-wormhole. The docs say those Windows binaries come from the separate magic-wormhole-exe project. With no package, run pip install magic-wormhole on Python 3.10, 3.11, 3.12, or 3.13. The latest numbered release is 0.24.0.12
  2. The other person runs it too, while you are already talking.1
  3. Run wormhole send and the file or folder. For a note, use wormhole send --text. Read the code on a channel you trust.3 Add --verify or --code-length for a stricter handoff.1
  4. They run wormhole receive, type the code, and answer yes only if the name and size match.1
  5. Leave both programs open until the transfer finishes. The docs expect both sides within about an hour, and there is no timer.1 On “crowded” or “scary”, start again. If your copy is older than 0.24.0, update first.2

Who should use Magic Wormhole (and who might prefer something else)

It fits a one-time send to someone you can talk to now. The project’s examples are a file for a friend, a password over the phone, and an SSH key for a later login.1 For a new password, use BellCrier’s generator: bellcrier.com/password-generator. It fits less well when the other person cannot install software, or the file must wait online for hours.

For a browser send with nothing to install, use PairDrop. For a lasting link between your own phone and computer, use KDE Connect. For a short note that should stay on a page, use PrivateBin.

Frequently asked questions

Is Magic Wormhole free?

Yes. The MIT licence is free of charge and allows use, copying, and modification.6 The built-in public mailbox is offered until volume or abuse makes that impossible.1

Is Magic Wormhole safe?

The file is encrypted with a SPAKE2 key and NaCl secretbox.15 A network attacker or a malicious mailbox gets one guess at the default code.3 Use 0.24.0, the latest numbered release: it includes the fix for CVE-2026-42448, and 0.23.0 fixed an earlier path bug in 0.21 and 0.22.2

Does Magic Wormhole work on Windows and phones?

Yes. The install notes cover Windows, macOS, Debian, and Ubuntu. Fedora removed the package starting with Fedora 37.1 The same page lists Wormhole for Android and Warp, a GNOME app that works with the command line.1

Does the Magic Wormhole server see my file?

It cannot read the encrypted messages. It handles the PAKE setup and does not learn the shared secret.4 The relay forwards those records, but a watcher can see sizes, timing, and IP addresses.5 Your address is also sent to the other computer inside the encrypted channel.1

Sources

  1. Magic Wormhole docs: Welcome
  2. GitHub: magic-wormhole release notes
  3. Magic Wormhole docs: Known Vulnerabilities
  4. Magic Wormhole docs: Mailbox Server Protocol
  5. Magic Wormhole docs: Transit Protocol
  6. GitHub: magic-wormhole licence

BellCrier breach check

Is your email already in a data breach?

Most people are, and never hear about it. BellCrier checks your email against known data breaches for free, then alerts you when it turns up in a new one, with exactly what leaked and how to fix it.

  • Free instant check
  • No password needed
  • Alerts for you and your family

Opens bellcrier.com with your email filled in. Nothing is checked until you confirm there.