Peer-to-peer, editor-agnostic collaborative editing of local text files.
Peer-to-peer, editor-agnostic collaborative editing of local text files.
Multiplayer mode for your text editor!
For complete end-user documentation see the Teamtype Documentation site.
[!NOTE] Until October 2025, this project was known as "Ethersync". The motivation for the rename was explained in this PR.
Teamtype enables real-time peer-to-peer collaborative editing of local files using your own text editor or other tools. For example, you can use it for pair programming sessions, brainstorming, or note-taking. It's the missing real-time complement to Git and other version control systems!
We also maintain a list of other collaborative text-editing software.
We are not a company and do not have anything to sell. We do not require you to create an account. We do not have access to your data, and do not use it to train AI algorithms. We do not serve you ads or track you in any way.
We are just a bunch of people building something we want to use ourselves and share with others.
We're currently maintaining Teamtype in our free time. We're often using it for pair programming ourselves, but there's still some bugs to be aware of.
teamtype commandTeamtype works on Linux, macOS, Android, and on the Windows Subsystem for Linux.
Binary releasesThe releases on GitHub come with precompiled static binaries.
Download the asset archive for your platform, extract the teamtype binary file from the archive, and put it somewhere in your shell's PATH:
x86_64-linux-static for Linuxuniversal-apple-darwin for macOSaarch64-aarch64-linux-static for Android (use a terminal emulator like Termux)sudo pacman -S teamtypebrew install teamtypeTo put teamtype in your PATH temporarily, run:
nix shell nixpkgs#teamtypeMake sure to also have it in your PATH when you run the editors, or install it to your environment in your preferred way.
Via Cargocargo install --locked teamtypeTo save some compilation time, you can use cargo-binstall, which will install a precompiled binary attached to our latest release:
cargo binstall teamtypeIn the directory you want to share:
$ teamtype share
To connect to you, another person can run:
teamtype join 5-hamburger-endorse
Peer connected: adfa90edd932732ddf242f24dc2dcd6156779e69966d432fcb3b9fe3ae9831abAnother person, in a separate directory (also works on the same computer):
$ teamtype join 5-hamburger-endorse
Derived peer from join code. Storing in config (overwriting previous config).
Storing peer's address in .teamtype/config.
Connected to peer: 5e6b787fff79074735eb9b56939269100de1e37bc7f7a4d29c277cc24f7ee53dThe directories are now connected, and changes will be synced instantly. You can open text files (using editors with a Teamtype plugin), and start collaborating in real time! :sparkles:
Plugins:
Work-in-progress plugins:
Bridges:
We'd love to receive your patches and other contributions! Small patches are very welcome as PRs. Before starting to implement a new big feature, please briefly check in with us so we can discuss how it fits in with our ideas for the project. We have a CONTRIBUTING.md file that gives more guidance. Please take note of our strict no-LLM policy.
If you're interested in building new editor plugins, read the editor plugin development guide. For more information about Teamtype's design, refer to the list of decision records.
If you find bugs, please open an issue on Github!
Feel free to join us on Zulip to ask us anything! Other good channels:
Teamtype received funding from NLNet's NGI0 Core Fund throughout 2024.
Thanks to the Prototype Fund and the Federal Ministry of Research, Technology and Space for funding this project in 2025.
Teamtype is based on Automerge, Iroh, and Magic Wormhole.
And finally, thanks to everyone who helped us beta-test, or reported issues!
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This project is REUSE compliant, see the headers of each file for licensing information.
No open issues yet, or sync has not completed.