Carbon: The Matrix client for Discord refugees.
Go to file
Cadence Ember 734506a300
2021-03-18 00:52:56 +13:00
src Sync with Dendrite 2020-12-15 01:05:12 +13:00
.drone.yml 💚 Fix drone build due to missing git 2020-11-25 08:18:46 +01:00
.gitignore Emacs files to gitignore 2020-10-29 17:27:38 +13:00
.npmrc dotfiles 2020-10-12 02:25:53 +13:00
LICENSE Add AGPL-3.0-only license 2020-10-21 00:30:35 +13:00 Abandoned 2021-03-18 00:52:56 +13:00
build.js Only hint modules once 2020-11-05 17:48:13 +13:00
jsconfig.json Revert "Add prettier" 2020-10-20 00:43:33 +13:00
package-lock.json Use minified discord-markdown 2020-11-26 01:55:49 +13:00
package.json Use minified discord-markdown 2020-11-26 01:55:49 +13:00
spec.js Render call events in timeline 2020-11-29 19:47:19 +13:00

Carbon Chat

Carbon is the Matrix client for Discord and Guilded refugees.

Visit the hosted instance on


Carbon is abandoned by its author, but it is still solid code to build on for anyone with the time and inclination to pick it up.

Report bugs and suggest features

Please briefly check this README and the issues page first to make sure that the issue/feature is not already known!

  • If you already have an account on Gitdab, use the issues page.
  • If you don't have an account, and don't wish to create one, you can send an email to the mailing list.

If something in the interface isn't working as you think it should, please provide a screenshot of any messages from the browser devtools console. If using the mailing list, attachments aren't supported, so you'll have to upload to some image host and post the link.

The dream

Carbon's planned features, compared to Discord and Guilded:

  • End to end encryption
  • Free of charge, per-account, custom emojis and custom emoji packs
  • No limit to number of groups you can join at a time
  • Uses the open Matrix and Mumble systems
  • Much better IRC layout
  • Probably more

Carbon's planned features, compared to Element:

  • Get rid of the unmanageable combined rooms list
  • Groups like Discord/Guilded guilds
    • Always have one group selected at a time
    • Synchronised membership, moderators, power levels and bans
    • Ordered channel list
    • Unread indicators
  • Add existing channels to groups
  • Pin any channel to the groups bar
  • Tidy Mumble integration to add voice channels
  • More reliable unreads
  • Per-account custom emojis (Ponies+FluffyChat integration) and custom emoji packs
  • Slightly better IRC layout
  • Probably more

The reality

Carbon is currently technically usable as a chat app, but is very early in development. These important features still need to be implemented:

  • Emojis
  • Reactions
  • Encryption
  • Groups v2
  • Group management
  • Pinned channels
  • Mumble integration

For more information, see issue #10.

The code

Downloading a CI build

Visit drone CI, select the branch you want to use, select b2 on the left, scroll down, and open the URL on the last line to download the build.

Building from source yourself


  • git
  • node
  • npm (bundled with node)


npm install -D
npm run rebuild

Hosting a build

Send the files from the build folder to a static file server. Apply a long cache-control header to everything served under /static, and no cache-control header to everything else.


npm run watch

Files will be rebuilt as you save them.

Use python3 -m http.server -d build to serve the build on http://localhost:8000.

(Avoid npx http-server, it caches too much stuff.)