teamtype is a free, open source collaboration & communication project written in Rust and released under AGPL-3.0. It has 1,956 GitHub stars, 58 forks and 113 open issues, and was last pushed 3 days ago. On this registry it ranks #36 of 62 tracked projects in Collaboration & Communication, with 5 head-to-head comparisons available. It gained 26 stars over the last 30 tracked days.

What is teamtype?

Teamtype is a peer-to-peer, editor-agnostic collaboration tool that keeps real-time editing of local text files in sync across multiple people and multiple text editors, aimed at developers, writers, and note-takers who want live collaboration without hosting a server or giving up ownership of their files.

What it is

Teamtype is a Rust command-line program distributed under the AGPL-3.0 licence. It connects two or more machines directly to each other and synchronizes edits to files and whole directories that already exist on each participant's disk. Each person keeps using their own editor — Neovim, VS Code or Codium, or any other editor for which a plugin exists — and the synchronization runs underneath, driven by CRDT and local-first techniques and published under the topics automerge, crdt, local-first, and peer-to-peer. The project was known as "Ethersync" until October 2025 and was renamed in pull request #436.

The concrete problem it solves is that live collaborative editing has historically required a hosted service: a shared document account, an upload step, or a cloud workspace that owns the canonical copy. Teamtype removes that middle layer by connecting peers directly over encrypted connections, so no server has to be run and no account has to be created. It sits inside the broader text-editing and version-control ecosystem as the real-time complement to Git, covering the simultaneous-editing case that a commit-and-push workflow cannot address, while leaving version history to Git itself.

Key capabilities

  • Concurrent editing of the same files by several users who are running different text editors.
  • Live presence: peers' cursors, selections, and edits are visible as they happen.
  • Collaboration over complete directories rather than one file at a time.
  • Encrypted peer-to-peer connections, so no server is required to relay traffic.
  • Local-first storage model that keeps all content on disk, including while offline.
  • Editor plugin development through a simple JSON-RPC protocol.
  • Command-line sharing: teamtype share prints a join code such as 5-hamburger-endorse, which the other side passes to teamtype join, with peer addresses and settings written to .teamtype/config.

Who uses it and how

  • Pair programming sessions in which two developers work in the same repository from different editors, for example one in Neovim and one in VS Code.
  • Brainstorming and note-taking, where a directory of plain text files is shared for the duration of a session.
  • Remote collaborators who want shared access to a working directory without standing up a server, creating accounts, or handing data to a third party.
  • Offline-tolerant workflows: because the model is local-first, content remains on disk and available when the connection drops.
  • Users on Linux, macOS, Android through a terminal emulator such as Termux, and Windows Subsystem for Linux, plus plugin authors extending editor support through the JSON-RPC interface and the existing teamtype-nvim and VS Code extensions.

Getting started

Install the teamtype binary, either from the precompiled static release assets (x86_64-linux-static, universal-apple-darwin, or aarch64-aarch64-linux-static), through a package manager (sudo pacman -S teamtype, brew install teamtype, nix shell nixpkgs#teamtype), or with Cargo (cargo install --locked teamtype, or cargo binstall teamtype for a precompiled binary), then add an editor plugin. In the directory to be shared, run teamtype share and pass the printed join code to the other participant, who runs teamtype join .

How it compares

No list of paid products that Teamtype replaces is provided in these facts, and no comparable tools are named here either, so it stands alone in this registry. The project does maintain its own list of other collaborative text-editing software on its documentation site, but none of those projects are identified in the material available for this page.

When to use it — and when not to

A self-hoster needs to place the teamtype binary in PATH for every editor that will use it and to exchange join codes out of band; no database, object storage, or mail service is required, which keeps the operational surface small. Users who cannot accept the AGPL-3.0 copyleft terms, who need native Windows support rather than Windows Subsystem for Linux, or who require central administration, managed hosting, and audit controls should look elsewhere. The honest weakness is maturity: the maintainers state that they work on Teamtype in their free time, that it is used for their own pair programming, and that there are still bugs to be aware of, with 113 open issues at the time of writing.

project readme (upstream, from github) — read inline

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!

Demo video for how to make a connection and of collaborating in Neovim

Features

  • 👥 Edit files concurrently by multiple users using different text editors
  • 📍 See your peers' cursors, selections, and edits in real time
  • 🗃️ Collaborate on entire directories, not just single files
  • 🔒 Rest easy with encrypted peer-to-peer connections, no need for a server
  • ✒️ Maintain full access with a local-first model that retains all content on disk even if you go offline
  • 🧩 Write new editor plugins using a simple JSON-RPC protocol

We also maintain a list of other collaborative text-editing software.

What Teamtype is not

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.

🚦 Project status

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.

📥 Installation

1. Install the teamtype command

Teamtype works on Linux, macOS, Android, and on the Windows Subsystem for Linux.

Binary releases

The 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 Linux
  • universal-apple-darwin for macOS
  • aarch64-aarch64-linux-static for Android (use a terminal emulator like Termux)
Arch Linux
sudo pacman -S teamtype
Homebrew
brew install teamtype
Nix

To put teamtype in your PATH temporarily, run:

nix shell nixpkgs#teamtype

Make sure to also have it in your PATH when you run the editors, or install it to your environment in your preferred way.

Via Cargo
cargo install --locked teamtype

To save some compilation time, you can use cargo-binstall, which will install a precompiled binary attached to our latest release:

cargo binstall teamtype

2. Install an editor plugin

  • Neovim
  • VS Code/Codium: Install the "Teamtype" extension from the marketplace

📖 Basic usage

In the directory you want to share:

$ teamtype share

    To connect to you, another person can run:

    teamtype join 5-hamburger-endorse

Peer connected: adfa90edd932732ddf242f24dc2dcd6156779e69966d432fcb3b9fe3ae9831ab

Another 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: 5e6b787fff79074735eb9b56939269100de1e37bc7f7a4d29c277cc24f7ee53d

The 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:

🎓 Learn more

🏘️ Community projects

Plugins:

Work-in-progress plugins:

Bridges:

🔨 Contributing

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!

☎️ Contact

Feel free to join us on Zulip to ask us anything! Other good channels:

💚 Thanks

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.

Logo of the NLnet Foundation          Logo of the Prototype Fund         Logo of the Open Knowledge Foundation Germany    Logo of the German Federal Ministry of Research, Technology and Space

Teamtype is based on Automerge, Iroh, and Magic Wormhole.

And finally, thanks to everyone who helped us beta-test, or reported issues!

📜 License

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.

Frequently asked questions

Is teamtype free to use?

teamtype is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does teamtype do?

Peer-to-peer, editor-agnostic collaborative editing of local text files.

What is teamtype written in?

teamtype is primarily written in Rust. Its source is publicly available at https://github.com/teamtype/teamtype, and it has 1,956 GitHub stars.