Idiomdrottning’s homepage

Matrix and its bridges

Generally, people on Matrix can use its bridges to join rooms on other networks, even query individual people on that network. In other words, they can use Element or other Matrix clients as a fancy email client or a fancy IRC client or a fancy XMPP client. If they want to. Matrix users can join any room on Libera, for example.

What’s not as easy is vice versa, and that kind of makes sense. It’s not as if every Matrix user out there just automatically should get stuck with an account on every other protocol ever, like an email account anyone could just spam to. Instead, it’s the Matrix side that can use bridges, like how the main Matrix server is bridged to Libera.

However, that was how I misinterpreted Matrix’ original pitch. “Don’t worry, you can still use all your old networks.” I was like “OK, great, I don’t need Matrix. I’ll just join the rooms from IRC or email.” That’s what sent me down a road of frustration. Instead, it’s “You can use Matrix to reach all your old networks.” They can join our rooms, not vice versa. (For email, by rooms I mean threads.)

What’s the problem? Just that that’s not a particularly unique feature. XMPP had gateways way back when, and Pidgin can do IRC or email just fine. (Maybe this will get better: Gitter, which has been bought by New Vector, creators of Matrix and Element, had an IRC interface that any IRC client could just connect to straight up.) For now, this isn’t a unique selling point for Matrix at all.

Instead, the purpose of Matrix is the room-oriented data structure (as opposed to how IRC and XMPP have message-oriented data). You preserve a chat, sort of like on Mattermost or Gitter, as opposed to display a chat temporarily pieced together from messages. (This room structure is a bad fit for video/audio, which is why it shells out to XMPP for that.)

TL;DR: I’m probably not gonna hop on Matrix any time soon but I’ll check in from time to time to see if any good-quality reverse bridges are created, as opposed to bridges from the Matrix side.

This is a rewrite of an older, sprawling, exploratory post.

Reverse bridges I know of

matterircd — addmatrix branch.

A branch that was never merged into to main. Maybe the best starting point for future hacking efforts.


A currently pretty minimal IRC bridge. Aimed to support encryption.

Matrix IRCd.

An IRC server that connects to Matrix. Not sure if ready for production. Apparently obsoleted in favor of matrirc.


A Prosody plugin. Unfinished sketch/prototype.


A libpurple plugin in alpha state. No OLM encryption.


A double-puppeteer between a synapse server and a jabber server. You can’t operate the bridge from the jabber side yet.

Let me know if there are more.