Skip to content

About

Modern IRC client that supports IRCv3, inline media, plugins, bouncer clients, Android, and much more

Topics

Resources

Security policy

Stars

11 stars

Watchers

0 watching

Forks

Latest commit

 

History

78 Commits

Folders and files

Repository files navigation

IRChatterbox

A modern IRC client for Windows and Android. The backend is Go; on Windows the UI runs in Wails (WebView2), and the Android app shares the same core and UI.

Highlights

  • Single exe: no installer, starts with Windows if you want, updates itself from GitHub
  • Android app: the same client on your phone, with notifications you can reply to and an option to stay connected in the background. Android guide →
  • Saved servers: SASL or NickServ login, auto-connect, auto-join and reconnect
  • Bouncer support: connect through soju or ZNC to stay online 24/7, get what you missed, and sync read status with your phone
  • Sidebar: collapsible servers, unread and mention badges, drag to reorder
  • Mentions you won't miss: Windows toasts, custom sounds, tray and taskbar flashing
  • Inline media: images, GIFs, video and audio files, YouTube, Vimeo, Streamable and Spotify
  • Themes: follows Windows light/dark; 26 built-in themes including Dracula, Nord, Catppuccin and throwbacks like Windows 98, XP and a CRT terminal; plus a theme editor
  • Split view: two or four channels on screen at once
  • Nick colours: automatic and stable (Andrew and Andrew|away match), with custom colours kept readable
  • Emoji picker and text shortcuts: $shrug → ¯\(ツ)/¯
  • Every IRC command: mIRC colours and formatting, tab completion, input history
  • Modern IRCv3: typing indicators, friends online alerts, message deletion, automatic TLS upgrade, chat history
  • Comfort features: marker line, jump to latest, Ctrl+K channel switcher, spellcheck
  • Logs: history reloads per channel; optional plain-text .txt logs
  • Older networks: per-server text encoding (Cyrillic, Japanese, Western and more)
  • Safe by design: IRC text never runs as HTML, paste protection, every release security-scanned
  • Plugins: built-in temperature bot, !music now-playing, URL commands, JavaScript plugins and mIRC scripts (.mrc)
  • 11 languages: English, French, Spanish, German, Portuguese, Italian, Russian, Polish, Turkish, Chinese and Japanese, following your system or picked in Settings (help translate)

Screenshots

IRChatterbox in dark mode: a channel with favourites, the new-messages line, a video preview, an inline image and colour-coded nicks

The same channel in light mode

Settings, Appearance: the theme editor with every colour of a custom theme, and custom nick colours kept readable in light and dark mode

Run it

  • Windows: double-click IRChatterbox.exe. No install is needed. It uses WebView2, which comes with Windows 10 and 11.
  • macOS: unzip and drag IRChatterbox.app into Applications. The app isn't signed with an Apple Developer ID yet, so the first time, right-click it and choose Open, then Open again.
  • Linux: unpack the .tar.gz and run ./install.sh to add it to your app menu, or just run ./IRChatterbox. It needs WebKitGTK 4.1 (sudo apt install libwebkit2gtk-4.1-0 on Debian/Ubuntu, webkit2gtk4.1 on Fedora; usually already installed).

Settings, logs, themes and plugins live in %APPDATA%\IRChatterbox on Windows, ~/Library/Application Support/IRChatterbox on macOS and ~/.config/IRChatterbox on Linux (Settings → Open data folder).

The tray icon, start-with-Windows and the MusicBee now-playing source are Windows-only; everything else works the same everywhere.

Features

  • Saved servers and auto-login. Each server can use SASL PLAIN (recommended) or NickServ IDENTIFY, connect on startup, auto-join channels (with keys) and run commands on connect. It reconnects automatically with backoff.
  • Bouncers (soju, ZNC). When adding a server, choose Through a bouncer. Missed messages load when you connect and are logged, but bots and CTCP never answer old messages; you get one "while you were away" notification instead of a toast per line. With soju, channels you read here also show as read on your other devices (and the other way round). Closing the app leaves you online. Setting up soju →
  • Sidebar. Servers collapse to show the channels and queries under them. Unread counts appear in grey. Pings and PMs appear in red, and a collapsed server shows a combined badge.
  • Highlights. Your nick and any highlight words trigger three things: a coloured line, a red badge and a Windows toast. Clicking the toast opens that channel.
  • Inline media. Images (PNG, JPG, GIF, WEBP, AVIF, SVG, plus imgur and Giphy links) show in the chat. Video files (MP4, WEBM, MOV) and imgur GIFV get a player, and audio files (MP3, OGG, WAV, FLAC) get a play bar. YouTube, Vimeo, Streamable and Spotify links show a preview that plays in the chat when clicked. Each kind can be turned off in Settings → Media.
  • Nick colours. Colours are automatic per nick. Override one with /color nick #ff8800, /color nick orange or /color nick reset, or right-click a nick.
  • Commands. Every IRC command works, and /help lists the built-in ones. Anything the client doesn't recognise is sent to the server as-is (/knock #chan → KNOCK #chan).
  • Themes. Automatic mode follows Windows light/dark (Settings → Personalisation → Colours → app mode) and switches live. Built-in themes: Dark, Light, Midnight and Classic; popular palettes (Dracula, Nord, One Dark, Monokai, Gruvbox, Catppuccin, Tokyo Night, Solarized, GitHub, Rosé Pine, Everforest, High Contrast); and throwbacks with their own look: Windows 98 (grey bevels, blue title bars), Windows XP (Luna blue), mIRC Classic, and green or amber CRT terminal with scanlines. Settings → Appearance has a theme editor, and you pick which light and dark theme auto mode uses.
  • Logs and history. Recent history reloads when you open a channel. You can also save plain-text .txt logs per channel ([2026-10-16 09:41:22] <@Andrew> hello) to a folder you choose, with a per-channel line limit (Settings → General).
  • IRCv3. SASL, server-time, message tags, batches, chat history and read markers, plus: your messages appear as the server confirmed them (echo-message, labeled-response); servers that require TLS are switched to it automatically (STS); "Bob is typing…" both ways (can be turned off in Settings → General → Sending); a friends list that tells you when people come online (MONITOR, Settings → Notifications); /setname to change your real name; logged-in account names on hover; and deleting your own messages (right-click → Delete message) where the server allows it.
  • Split view. Show two channels side by side, one above the other, or four in a 2 × 2 grid (the layout button in the header). Click a pane to type there, drag a channel from the sidebar onto a pane, or right-click a channel → Show in split view. F6 moves between panes.
  • Remembers the window. Size, position, monitor, maximised and full-screen state (F11) are restored on launch.
  • Channel right-click. "Join on connect" adds a channel to the auto-join list. "Show at startup" opens IRChatterbox on that channel instead of where you left off.
  • Start with Windows. Optionally start minimised (Settings → General).
  • Auto-update. New releases are found on GitHub and installed with one click. The download is checked against its SHA-256 sum, and the app restarts itself.
  • System tray. The tray icon and taskbar button flash when you're mentioned or messaged while in another app. Optionally, closing the window hides it to the tray.
  • Notification sounds. Five built-in sounds or your own .wav/.mp3/.ogg, set separately for highlights and private messages, with a volume control.
  • Auto-away. You're marked away on every network after a set number of idle minutes, and back when you return.
  • Paste protection. Before you send a big paste you can send it, join it into one line, or cancel.
  • Older networks. Text encoding can be set per server: automatic UTF-8 with a Western fallback, or Cyrillic, Central European, Greek, Turkish, Japanese, Chinese, Korean and more.
  • Drag to reorder. Drag servers and channels in the sidebar into any order. Channels are also joined in that order.
  • Quit confirmation. Closing the window asks before disconnecting you. Tick "Don't ask me again" or turn it off in Settings → General.
  • Topics. Double-click a channel topic to change it.
  • Marker line. A red line divides messages you've read from ones that arrived while you were in another channel or another app. You can turn it off in Settings → General.
  • Jump to latest. When you scroll up, a round arrow takes you back to the newest messages and counts new lines below. Ctrl+End does the same.
  • Emoji picker. The smiley button beside Send (or Ctrl+E) opens a searchable picker with categories and a recently-used row. Shift+click adds several. It works offline.
  • Text shortcuts. Type $whatever and it becomes ¯\_(ツ)_/¯. Shortcuts expand when you press space or send, and typing $ lists them. Edit them in Settings → Shortcuts or with /shortcut add $name text. The replacement can also be a command, such as /me waves.
  • Resizable nick column. Drag the line between nicks and messages, or double-click it to fit the longest nick.
  • Keyboard. Ctrl+K jumps to a channel. Ctrl+F filters the buffer. Alt+↑/↓ and Ctrl+Tab switch buffers, and Alt+A goes to the next unread. Tab completes nicks, ↑/↓ recall input history, and Ctrl+B/I/U add bold, italic and underline.

Plugins

Temperature converter (built in). "Today it feels like 18c" → [Bot] 18 C = 64.4 F. It also handles °C, F, "fahrenheit", decimals and negatives. It reacts to your messages and other people's (each can be switched off), can be limited to certain channels, and never replies to lines that start with the bot prefix, so two bots won't loop.

Now playing (!music, /np). When anyone types !music, the bot replies with your current song: [Bot] Now playing: Artist - Title. /np sends * you is listening to Artist - Title. The song is read from Windows media controls, from MusicBee's window title, or from the text file written by MusicBee's Now Playing to External Files plugin. Settings → Plugins → Test now shows which of these works on your PC.

URL commands (!solar). Settings → Plugins. Set a trigger and a URL. By default only you can trigger them; untick "Only I can trigger it" to let others use one. Plain text or HTML replies are posted as up to N lines. JSON can be shaped with a Go template:

Solar: {{.power}} W · today {{round .today_kwh 1}} kWh · {{kw .power}} kW

{args} in the URL is replaced by whatever follows the trigger (!weather london). Use the Test button to preview the output.

JavaScript plugins. Put .js files in %APPDATA%\IRChatterbox\plugins, then type /reload. Plugins can react to messages, joins, parts, kicks, nick changes, topics and more, add their own /commands, use timers, store data and fetch web pages. Plugin guide and API reference →

mIRC scripts. Drop your .mrc files in the same folder and /reload. Aliases, on TEXT/JOIN/KICK/INPUT and other events, raw, %variables, if/while, hash tables, timers and the common identifiers work as in mIRC; dialogs and file access are skipped. What's supported →

Download

Get it from the Releases page. Once it's installed, the app tells you about new versions.

Platform Download
Windows 10/11 IRChatterbox.exe
macOS 11+ (Apple silicon and Intel) IRChatterbox-macos.zip
Linux (x86-64) IRChatterbox-…-linux-amd64.tar.gz
Android IRChatterbox.apk

Releases

Every push to main that passes the build and security checks is released automatically as the next patch version (v0.3.1, v0.3.2, …). To start a new minor or major version, change source/VERSION (for example to 0.4.0) and push. Pull requests and other branches are built too; the exe is on the Actions run page for 30 days. See docs/BUILDING.md for details.

Security

IRC text is never rendered as HTML, and the app has a strict Content Security Policy. Dependencies and code are scanned daily, and findings are opened as issues automatically. To report a problem privately, see SECURITY.md.

License

IRChatterbox is free and open source under the MIT License.

Build from source

See docs/BUILDING.md for requirements, building, live-reload development, running the tests and how releases work.

cd source
wails build

About

Modern IRC client that supports IRCv3, inline media, plugins, bouncer clients, Android, and much more

Topics

Resources

Security policy

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages