Choosing an IRC client
One interacts with IRC through an IRC client. There are many well-established IRC clients and countless more that exist as hobbyist projects. This page exists as an opinionated list of clients recommended by Libera.Chat staff for newcomers to IRC. These are free, open-source, and have maintainers who can respond to potential security issues.
Once you have chosen a client to use and have an account, we recommend setting up SASL to log in to your account, which is supported by every client recommended below. If you’re interested in ensuring the security of your connection, please refer to our connection guide.
Connecting without installing anything
If you cannot or do not wish to install a client on your computer, you can use a web client. We provide two web clients that are pre-configured to connect to Libera.Chat:
Using a web client tends to be less reliable than using native client on a desktop or server. Many browsers like to stop web apps from running in the background indefinitely, which means you may spuriously disconnect if you tab away from the client.
You can also use IRCCloud’s web client which partially mitigates this, but be aware of caveats.
Bouncers
On most IRC networks — including Libera.Chat — your session is tied to your connection to the server. Once you disconnect, your session ends, and you miss out on any messages that were sent while you weren’t connected. Bouncers connect to IRC servers on your behalf and keep your connection alive even when your client disconnects. They incorporate some form of message playback to allow reconnecting clients to catch up on missed messages. They are hosted on devices that have stable internet connections, like VPSes or (sometimes) home computers. While a bouncer isn’t always necessary for a good user experience, it can be helpful if you prefer to chat from a mobile device.
Any well-made IRC client can work with any well-made bouncer, but some clients integrate with specific bouncer software, most commonly with Soju. Other clients have a bouncer-like component that is specifically designed for them. The recommendations below will note when a client either benefits from a particular bouncer or has an optional bouncer-like component.
Desktop Clients
These are clients that are best-used on desktop operating systems (Windows, macOS, etc). They have graphical user interfaces that are designed to be navigated with your mouse cursor or touch.
- Halloy
- IRC client with first-class support for multiple views.
- Runs on Windows, macOS, Linux.
- Channel:
#halloy
on Libera.Chat
- Konversation
- User-friendly KDE IRC client.
- Runs on Linux.
- Channel:
#konversation
on Libera.Chat
- KVIrc
- Themeable IRC client with a custom scripting language.
- Runs on Windows and macOS.
- Channel:
#kvirc
on Libera.Chat
- Quassel
- IRC client designed around having a bouncer-like “core”.
- Runs on Windows, macOS, and Linux.
- The core needs to be set up separately from the client. If you would prefer to avoid this, consider using a standalone “Mono” build of Quassel.
- Other clients that can connect to a Quassel core exist, such as Quasseldroid.
- Channel:
#quassel
on Libera.Chat
Mobile Clients
Using IRC on a mobile device tends to be less reliable than using it on a desktop. Mobile operating systems like to stop applications from running in the background indefinitely, which means you may spuriously disconnect after switching applications.
At this time, there seems to be only one mobile client which meets the prerequisites for recommendation.
- goguma
- Simple user-friendly IRC client.
- Available on:
- Integrates with Soju.
- Channel:
#goguma
on Libera.Chat.
Terminal Clients
Terminal clients, as the name suggests, run in a terminal emulator. They are typically navigated using the keyboard exclusively, though some have mouse support. Terminal clients can be run on servers and used remotely thanks to terminal multiplexers, thus reducing the need for a bouncer. However, they tend to have significant learning curves and can be cumbersome to use on mobile devices.
Note that unless otherwise noted, the following options only support xterm-like terminals. If in doubt, your terminal emulator probably is xterm-like unless it’s Windows Console. If you are on Windows, consider using Windows Terminal or running these clients under WSL.
- glirc
- An IRC client designed for efficient display of information.
- Runs on macOS and Linux.
- No persistent state. All settings changes require editing its runtime-reloadable config file.
- Channel:
#glirc
on Libera.Chat
- Irssi
- Robust chat client with an extensive Perl scripting API.
- Runs on Windows, macOS, Linux, and FreeBSD.
- Channel:
#irssi
on Libera.Chat
- senpai
- Simple, user-friendly IRC client.
- Runs on Windows, macOS, Linux, and FreeBSD.
- Integrates with Soju.
- Channel:
#senpai
on Libera.Chat
- WeeChat
- Highly modular chat client (not to be confused with WeChat).
- Runs on Windows, macOS, Linux, and FreeBSD.
- Can be run in a bouncer-like relay mode. Other clients for this relay mode exist, such as the Glowing Bear web client and weechat-android.
- Can integrate with Soju via a script.
- Channel:
#weechat
on Libera.Chat
IRCCloud
IRCCloud essentially provides bouncers as a service, though their server software is closed-source at the time of writing. It is fairly popular as it serves as a convenient and possibly cheaper alternative to setting up a bouncer yourself on a VPS. In addition to its webchat, it also has apps for Android and iOS.
IRCCloud has a limited free plan. While on the free plan, you may be required to have a Libera.Chat account to connect or join some channels. IRCCloud will also disconnect you if you are inactive for more than a couple of hours on the free plan. Finally, using a traditional IRC client with IRCCloud is limited to paying users. Free users will typically use one of the apps or the webchat. IRCCloud has a WebSocket API for the technically adventurous, but it is not currently stable.
Other Clients
In order to be recommended on this page, clients must:
- Be free/open-source software.
- Either have binaries available or a simple documented build process.
- Support TLS 1.2 or later.
- Support SASL PLAIN.
- Support the
server-time
IRCv3 capability. - Support conventional
/
-style commands - Not require users to set up a server component.
- Have maintainers who can respond to security issues in a timely manner.
There are many clients that don’t meet these criteria, or do meet these criteria but cannot be recommended for other reasons. For a more complete list of IRCv3 clients, please see the IRCv3 client support table. Information on the SASL mechanisms supported by each client can be found here.