Matrix (also written [matrix]) is an open source project and a communication protocol. The protocol standard is open and it is free to use or implement. Matrix is being recognized as a modern successor to the older Internet Relay Chat (IRC) protocol. Mozilla, KDE, FOSDEM and GNOME are among several large projects that have started using chat clients and servers that operate over the Matrix protocol. Members of the Fedora project have discussed whether or not the community should switch to using the Matrix protocol.

The Matrix project has implemented an IRC bridge to enable communication between IRC networks (for example, freenode) and Matrix homeservers. This article is a guide on how to register, identify and join freenode channels from a Matrix client via the Matrix IRC bridge.

Check out Beginner’s guide to IRC for more information about IRC.


You need to set everything up before you register a nick. A nick is a username.

Install a client

Before you use the IRC bridge, you need to install a Matrix client. This guide will use Element. Other Matrix clients are available.

First, install the Matrix client Element from Flathub on your PC. Alternatively, browse to to run the Element client directly in your browser.

Next, click Create Account to register a new account on (a homeserver hosted by the Matrix project).

Create rooms

For the IRC bridge, you need to create rooms with the required users.

First, click the ➕ (plus) button next to People on the left side in Element and type in the field to create a new room with the user.

Second, create another new room with

Register a nick at freenode

If you have already registered a nick at freenode, skip the remainder of this section.

Registering a nickname is optional, but strongly recommended. Many freenode channels require a registered nickname to join.

First, open the room with appservice-irc and enter the following:

!nick <your_nick>

Substitute <your_nick> with the username you want to use. If the nick is already taken, NickServ will send you the following message:

This nickname is registered. Please choose a different nickname, or identify via /msg NickServ identify <password>.

If you receive the above message, use another nick.

Second, open the room with NickServ and enter the following:

REGISTER <your_password> <>

You will receive a verification email from freenode. The email will contain a verification command similar to the following:

/msg NickServ VERIFY REGISTER <your_nick> <verification_code>

Ignore /msg NickServ at the start of the command. Enter the remainder of the command in the room with NickServ. Be quick! You will have 24 hours to verify before the code expires.

Identify your nick at freenode

If you just registered a new nick using the procedure in the previous section, then you should already be identified. If you are already identified, skip the remainder of this section.

First, open the room with and enter the following:

!nick <your_nick>

Next, open the room with and enter the following:

IDENTIFY <your_nick> <your_password>

Join a freenode channel

To join a freenode channel, press the ➕ (plus) button next to Rooms on the left side in Element and type #freenode_#<your_channel> Substitute <your_channel> with the freenode channel you want to join. For example, to join the #fedora channel, use For a list of Fedora Project IRC channels, see Communicating_and_getting_help — IRC_for_interactive_community_support.

Further reading


My name is Hari Rana. I’m known as TheEvilSkeleton, TheEvilSkely, Skelly, and Tesk. I am an information activist, which means I promote free and accessible information to the general population, like free and open source software, open research, open science, etc. I am 19 years old, and I am very passionate about computers.

Posted by Contributor