Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
October 24, 2023 16:18
September 20, 2023 14:05
August 25, 2021 19:19
August 25, 2021 19:19
August 22, 2023 16:55
October 27, 2022 05:57
August 22, 2023 16:37
February 10, 2015 00:38
October 25, 2023 02:05
October 31, 2023 15:26
August 12, 2023 00:18
July 31, 2017 12:29
October 27, 2022 05:57
August 12, 2023 00:18
September 18, 2023 17:35
September 19, 2023 21:58

Magic Wormhole

PyPI Tests Windows Build Status Docs Irc Matrix

Get things from one computer to another, safely.

This package provides a library and a command-line tool named wormhole, which makes it possible to get arbitrary-sized files and directories (or short pieces of text) from one computer to another. The two endpoints are identified by using identical "wormhole codes": in general, the sending machine generates and displays the code, which must then be typed into the receiving machine.

The codes are short and human-pronounceable, using a phonetically-distinct wordlist. The receiving side offers tab-completion on the codewords, so usually only a few characters must be typed. Wormhole codes are single-use and do not need to be memorized.

For complete documentation, please see or the docs/ subdirectory.

This program uses two servers, whose source code is kept in separate repositories: the mailbox server, and the transit relay.

License, Compatibility

Magic-Wormhole is released under the MIT license, see the LICENSE file for details.

This library is compatible with Python 3.8 and higher (tested against 3.8, and 3.9). It also still works with Python 2.7 although that is no longer supported by upstream libraries like Cryptography, so it may stop working at any time.

Packaging, Installation

Magic Wormhole packages are included in many operating systems.

Packaging status

To install it without an OS package, follow the Installation docs.