The IRC Era: Channels, mIRC, and the Original Chat Culture
It is 11:47 PM on a school night in 1999. You are sitting in a dark bedroom in suburban New Jersey, the glow of a 15-inch CRT monitor painting your face in pale blue light. Your parents think you are asleep. You are not asleep. You are on IRC. Specifically, you are on EFnet, in a channel called #mp3z, watching lines of text scroll by at a speed that would be incomprehensible to anyone who had not spent the last six months of their life in this exact chair, in this exact channel, learning the rhythms and rituals of a world that exists entirely in monospaced text.
A line appears: <xDCCBot> [NEW] 042 - Eminem - My Name Is.mp3 [3.2MB]. You type /msg xDCCBot xdcc send #42 and wait. A DCC transfer window opens in mIRC. The progress bar begins to crawl. 3.2 megabytes at 4 KB/s. Thirteen minutes. You alt-tab back to the channel and keep talking. Someone is arguing about whether Slackware or Red Hat is better. Someone else just got kicked for flooding. The channel operator, whose nick starts with @, is threatening to set the channel to +m if people do not calm down. You have no idea what any of these people look like. You know their handles, their quit messages, their away nicks. That is enough. That is everything.
This is the story of Internet Relay Chat. IRC. The protocol that invented online chat as we know it. Before AIM, before MSN Messenger, before Slack, before Discord, there was IRC: a sprawling, decentralized, text-based universe of channels and servers and bots and scripts that connected millions of people across the planet in real time. It was messy. It was chaotic. It was beautiful. And it shaped every chat platform that came after it, whether those platforms know it or not.
This is a love letter to the hash sign. To the @ symbol next to a nickname. To the sound of a new DCC transfer starting. To the green-on-black text that scrolled through the nights of a generation that learned to type fast because the conversation would not wait for you.
1. Born in Oulu
The story of IRC begins in Finland, in a city most people outside of Scandinavia have never heard of. Oulu sits on the coast of the Gulf of Bothnia, about 600 kilometers north of Helsinki, a university town where winter darkness lasts for months and the cold drives people indoors, to their computers, to their networks. It was August 1988, and a young computer science student at the University of Oulu named Jarkko Oikarinen was working as a summer trainee in the university's Department of Information Processing Science. His job involved administering a BBS called OuluBox, and he had been thinking about ways to improve its chat functionality.
The existing chat options were limited. There was talk, a Unix utility that allowed two users on the same system to have a split-screen conversation. There was Bitnet Relay, a chat system that ran on the BITNET academic network. And there were MUDs, multi-user dungeons, which were technically chat systems wrapped in a game. But none of them did what Oikarinen wanted: real-time, multi-user, multi-channel group chat that could span multiple servers across different networks.
So he built it. Working on a Sun-3 server at the university, Oikarinen wrote the first IRC server and client software. The initial version was crude. It supported channels (group conversations), private messages, and a basic set of commands. The server could link to other servers, forming a network. Users could join channels, leave channels, change their nicknames, and send messages. That was about it. But that was enough.
The first IRC server, tolsun.oulu.fi, went online in August 1988. Oikarinen convinced friends at other Finnish universities to set up their own servers and link them together. By November 1988, IRC had spread beyond Finland to servers in other Scandinavian countries. By 1989, it had crossed the Atlantic to servers at MIT, Oregon State University, and the University of Denver. The network grew organically, one server at a time, as system administrators at universities and research institutions heard about this new chat system and decided to run a server of their own.
The timing was perfect. The internet in 1988 was still largely an academic and research network, but it was growing fast. Email and Usenet newsgroups were the dominant forms of communication, but they were asynchronous. You posted a message and waited hours or days for a reply. IRC was synchronous. You typed something and people saw it immediately. In a world of email and newsgroups, this felt like magic. It felt like the future.
The protocol itself was elegant in its simplicity. IRC used TCP connections on port 6667 (later expanding to a range of ports). Messages were plain text, terminated by carriage return and line feed characters. Commands started with a forward slash. The entire protocol specification eventually fit into RFC 1459, published in May 1993, a document that is remarkably readable even today. Oikarinen and his co-author Darren Reed laid out a protocol that was simple enough for a student to implement in a weekend, yet flexible enough to scale to hundreds of thousands of simultaneous users.
IRC's first major moment in the spotlight came during the 1991 Gulf War. As coalition forces launched Operation Desert Storm in January 1991, IRC became a real-time news source. Users in the Middle East relayed information from the ground as it happened, and channels dedicated to the conflict attracted hundreds of simultaneous users, an enormous number for the time. For many people, it was the first time they had experienced real-time, crowdsourced news coverage. CNN was on television, but IRC was faster. The same pattern would repeat during the 1993 Russian constitutional crisis and the 1994 Northridge earthquake. IRC was becoming the world's first real-time information network.
2. How IRC Worked
To understand IRC culture, you have to understand the protocol. IRC was not a product. It was not a service. It was a protocol, a set of rules for how computers could talk to each other, and anyone could implement it. This distinction is fundamental. There was no IRC company. There was no IRC headquarters. There was no IRC CEO making decisions about features or policies. There were just servers, run by volunteers, linked together into networks, serving users who connected with whatever client software they preferred.
The basic architecture was a tree of servers. Each IRC network consisted of multiple servers linked together. When you connected to an IRC server, you were connecting to one node in that tree. Your messages were relayed from your server to every other server in the network, and from those servers to every connected client. This is where the "Relay" in Internet Relay Chat came from. The servers relayed messages between each other so that a user on a server in California could chat in real time with a user on a server in Germany.
Channels were the heart of IRC. A channel was a named group conversation, always prefixed with a # hash sign. #linux. #music. #mp3. #warez. #help. #chat. Anyone could create a channel simply by joining one that did not exist yet. The first person to join an empty channel automatically became its operator, marked with an @ symbol before their nickname. Channel operators had power: they could kick users, ban users, set the channel topic, and control channel modes.
Channel modes were the governance system of IRC. Each mode was a single letter that toggled a specific behavior. +i made a channel invite-only. +m made it moderated, meaning only operators and voiced users (marked with +) could speak. +s made it secret, invisible in channel listings. +k required a password to join. +l set a user limit. +b banned a specific hostmask. These modes could be combined, and a skilled channel operator could use them to shape the character of a channel with surgical precision.
Nicknames were your identity. When you connected to IRC, you chose a nick. That nick was yours for as long as you were connected. If you disconnected, someone else could take it. There was no built-in nickname registration on the original IRC protocol. Your identity was ephemeral, tied to your connection, not to an account. This created an entire subculture around nickname ownership, theft, and protection that would define IRC politics for decades.
DCC (Direct Client-to-Client) was IRC's peer-to-peer layer. DCC allowed two users to establish a direct TCP connection between their computers, bypassing the IRC servers entirely. DCC Chat gave you a private, lag-free conversation channel. DCC Send let you transfer files directly from one computer to another. DCC was how files moved on IRC, from MP3s to software to images. It was also a security nightmare, since accepting a DCC connection revealed your IP address to the other party, but in the 1990s, nobody cared about that.
The command structure was simple and memorable. Every command started with a forward slash. /join #channel to enter a channel. /part #channel to leave. /msg nick message to send a private message. /nick newnick to change your name. /whois nick to look up information about a user. /kick nick reason to remove someone from a channel. /mode #channel +b nick!*@* to ban someone. These commands became second nature to regular users. You could type them faster than you could click through a GUI menu. They were the vocabulary of IRC, and knowing them marked you as someone who belonged.
The hostmask system was IRC's version of identity. Every user on IRC had a hostmask in the format nick!user@host. The nick was your chosen name. The user was your system username (or ident response). The host was your hostname or IP address, sometimes cloaked by the server. Bans, ignores, and access lists all worked on hostmask patterns using wildcards. A ban on *!*@*.aol.com would block every AOL user. A ban on troll!*@* would block anyone using the nick "troll" regardless of their host. Understanding hostmasks was essential knowledge for anyone who wanted to run a channel.
/me in Slack or Discord, you are using an IRC command. When you type /join or /leave, same thing. IRC established the convention that a forward slash means "this is a command, not a message," and that convention has survived unchanged for nearly four decades. The next time you type a slash command in any chat app, tip your hat to Jarkko Oikarinen.
3. The Great Split
In the beginning, there was one IRC network. By the mid-1990s, there were dozens. The story of how a single network fractured into competing fiefdoms is one of the great dramas of early internet history, a tale of egos, philosophy, and the fundamental tension between freedom and order that would play out again and again across every online platform that followed.
The original IRC network had no official name. It was just "IRC." As the network grew through the early 1990s, it attracted more users, more servers, and more problems. Channel takeovers became common: someone would exploit a netsplit (a temporary disconnection between servers) to seize operator status in a channel and kick everyone out. Flooding, where a user would send massive amounts of text to disrupt a channel, was rampant. Abuse was everywhere, and there was no central authority to deal with it.
The first major split came in 1992, when a group of servers broke away to form what would become Undernet. The Undernet founders believed that IRC needed centralized services to manage channels and nicknames. They created CService, a channel registration system that let users officially register their channels and maintain operator status even through netsplits. This was heresy to the purists on the original network, who believed that IRC should remain anarchic and that channel ownership should be determined by who was there first, not by some bureaucratic registration system.
The original network, now retroactively named EFnet (Eris-Free Network, named after the removal of a controversial server called eris.berkeley.edu), doubled down on its no-services philosophy. On EFnet, there was no NickServ, no ChanServ, no way to register anything. If you wanted to keep your channel, you had to keep someone in it 24/7. If you wanted to keep your nickname, you had to be online. This was IRC in its purest, most Darwinian form. The strong survived. The weak got their channels taken.
In 1994, DALnet split from Undernet. Founded by a user named dalvenjah (Sstrgar), DALnet took the services concept even further, adding NickServ for nickname registration and ChanServ for channel management. On DALnet, you could register your nickname and your channel, and the network's services would protect them for you. This made DALnet enormously popular with casual users who did not want to deal with the constant warfare of EFnet. DALnet became the "friendly" IRC network, the one you recommended to people who were new to IRC.
Meanwhile, in Europe, a different split was brewing. In 1996, the European servers on EFnet broke away to form IRCnet. The split was partly technical (European and American servers had different ideas about how to handle server-to-server communication) and partly political (European operators felt that American operators were making unilateral decisions about network policy). IRCnet became the dominant IRC network in Europe and Scandinavia, while EFnet remained primarily North American.
And then there was QuakeNet. Founded in 1997 as a network for Quake players (the id Software first-person shooter that was dominating the gaming world), QuakeNet grew rapidly as online gaming exploded. By the early 2000s, QuakeNet had become the largest IRC network in the world by user count, surpassing even EFnet. Its user base was younger, more gaming-focused, and less interested in the philosophical debates about services and freedom that consumed the older networks. QuakeNet had its own channel service called Q, and it worked well enough that nobody complained.
The splits created distinct cultures. EFnet was the wild west: no rules, no services, constant warfare, but also a certain purity and intensity that attracted hackers, developers, and people who liked living on the edge. Undernet was the middle ground: services existed but the culture was still technical. DALnet was the mainstream: friendly, accessible, popular with teenagers and casual chatters. IRCnet was the European intellectual: technically sophisticated, culturally distinct, running its own modified server software. QuakeNet was the gamer hangout: fast, loud, and focused on coordinating matches and clans.
At their collective peak around 2003-2005, the major IRC networks served over one million simultaneous users. EFnet had around 100,000. Undernet had 150,000. DALnet had 100,000. IRCnet had 70,000. QuakeNet had 240,000. And there were hundreds of smaller networks serving niche communities: Rizon for anime fans, GameSurge for gamers, Freenode for open-source developers. The IRC universe was vast, fragmented, and alive.
4. mIRC: The Client That Won
If IRC was the protocol, mIRC was the experience. For millions of users, mIRC was not just an IRC client. It was IRC. The yellow lightning bolt icon on the Windows desktop. The familiar blue-and-white interface. The server list that appeared on startup. The nag screen. Oh god, the nag screen.
mIRC was created by Khaled Mardam-Bey, a Palestinian-British programmer living in London. The first version was released on February 28, 1995, as a 16-bit Windows application. It was shareware, priced at $20. You were supposed to pay for it after a 30-day evaluation period. Almost nobody did. Instead, every time you launched mIRC, you were greeted by a registration reminder dialog with a "Continue" button that let you skip past it and use the full software indefinitely. That nag screen became one of the most iconic images of 1990s computing. Millions of people clicked "Continue" on it every single day for years. It was the honor system at internet scale, and the honor system lost.
But Khaled kept developing mIRC anyway, releasing update after update, year after year, for decades. The software was his life's work, and he poured an extraordinary amount of care into it. mIRC was fast, stable, and remarkably full-featured for a program created by a single developer. It handled multiple server connections, DCC file transfers, customizable color schemes, a built-in text editor, and an address book for managing contacts. It was, by any measure, a masterpiece of Windows shareware development.
The killer feature, though, was mIRC Scripting Language, or mSL. mSL was a full programming language built into mIRC that let users automate virtually every aspect of the client. You could write scripts that responded to events (someone joining a channel, receiving a private message, a specific word appearing in chat), created custom commands, built dialog boxes, played sounds, managed files, and interacted with the operating system. mSL turned mIRC from a chat client into a platform.
The mSL scripting community was enormous and creative. People wrote scripts for everything. Auto-greet scripts that welcomed users to channels. Protection scripts that detected and responded to floods. Trivia game scripts that ran entire quiz shows in channels. MP3 player scripts that announced what song you were listening to (the ancestor of Spotify's "now playing" feature). File server scripts that turned your computer into an automated file distribution system. War scripts that could flood, clone, and attack other users and channels. The line between "IRC client" and "programmable chat robot" blurred completely.
Some of the most popular mIRC scripts became famous in their own right. Peace and Protection (PnP) by pai was a massive addon that turned mIRC into a fortress, with flood protection, clone detection, and automated channel management. NoNameScript (NNS) was another popular choice, known for its clean interface and extensive customization options. Polaris, Snak, and dozens of others competed for users. Installing a new mIRC script was a rite of passage, a way of declaring your allegiance and your level of sophistication. Running stock mIRC with no scripts was like showing up to a car meet in a bone-stock Honda Civic. Technically functional, but you were not impressing anyone.
mIRC also introduced many users to programming for the first time. mSL was not a great programming language by any objective measure. It had quirky syntax, limited data structures, and some genuinely baffling design decisions. But it was accessible. You could open the script editor, type a few lines, and immediately see the results in your chat window. The feedback loop was instant. For thousands of teenagers in the late 1990s, writing an mIRC script was their first experience with code. Many of them went on to become professional programmers. mIRC was, accidentally, one of the most effective programming education tools ever created.
The economics of mIRC were fascinating. Khaled Mardam-Bey was a solo developer running what was arguably the most popular Windows application of the late 1990s that was not made by Microsoft. Estimates suggest that mIRC had over 10 million active users at its peak. Even if only a small percentage actually paid the $20 registration fee, the revenue was substantial. Khaled never sold the company, never took venture capital, never hired a large team. He just kept making mIRC better, version after version, for over 25 years. mIRC 7.75 was released in 2024, still maintained by the same person who wrote version 1.0 in 1995. That kind of dedication is almost unheard of in software.
5. IRC Culture
IRC was not just a technology. It was a civilization. It had its own social hierarchies, its own customs, its own language, its own economy, and its own forms of warfare. If you spent enough time on IRC, you absorbed these things through osmosis until they became second nature. If you did not, you were a "newbie," and the channel would let you know it.
The social hierarchy of an IRC channel was rigid and clearly defined. At the top was the channel founder, the person who had registered the channel (on networks with services) or who held the original operator status. Below them were the channel operators (@ops), trusted users who could kick, ban, and manage the channel. Below them were the voiced users (+v), who had speaking privileges in moderated channels and a certain social status even in unmoderated ones. And at the bottom were the regular users, the masses, the people who could talk but could not control.
Getting ops in a channel was a big deal. It meant someone trusted you. It meant you had been around long enough, contributed enough, proven yourself enough to be given power. In many channels, the process of earning ops was as formalized as a promotion at a job. You had to be active, helpful, and politically savvy. You had to know the right people. You had to not ask for ops, because asking for ops was the surest way to never get them. The unwritten rule was universal: if you ask for ops, you do not deserve ops.
Channel ops wielded their power with varying degrees of wisdom. Some were benevolent dictators who kept their channels clean and welcoming. Others were petty tyrants who kicked people for minor offenses or personal grudges. The best ops were invisible: they kept the channel running smoothly without anyone noticing. The worst ops were the ones who kicked first and asked questions never. "Op abuse" was a constant source of drama, and channels regularly imploded when operators turned on each other in power struggles that would have made Machiavelli proud.
Trivia bots were a cornerstone of IRC culture. These were automated programs that ran in channels, asking questions and keeping score. The most popular trivia bot scripts could hold thousands of questions across dozens of categories. Channels like #trivia on various networks attracted dedicated players who competed for top spots on the leaderboard with an intensity that rivaled professional sports. Trivia bots kept channels active during slow hours and gave people a reason to stay connected even when nobody was talking. They were the idle games of the IRC era.
File servers (fserves) turned IRC into a file-sharing network years before Napster existed. An fserve was an mIRC script that let other users browse and download files from your computer through DCC. You would advertise your fserve in a channel with a trigger message, something like !list or !mp3s, and interested users would send you the trigger to open a DCC chat session where they could navigate your file system and queue downloads. Running a popular fserve was a status symbol. The size of your collection, the speed of your connection, the organization of your directories: these things mattered. They defined your reputation.
XDCC (eXtended DCC) took file distribution to another level. XDCC bots were automated programs that sat in channels and offered files for download. Users would browse the bot's file list (usually announced periodically in the channel) and request specific files with commands like /msg botname xdcc send #42. XDCC bots could serve multiple users simultaneously and queue requests when all slots were full. They were, in effect, automated file servers that ran 24/7, and they became the backbone of IRC's file-sharing ecosystem. The most popular XDCC bots had queues dozens of users deep, and getting a slot on a fast bot felt like winning a small lottery.
Away messages were an art form. When you stepped away from your computer, you set an away message with /away reason. Your nick would sometimes change to reflect your status: username became username|away or username|sleep or username|food. Some people crafted elaborate away messages that were essentially micro-blogs, updating their status throughout the day. "Away: at work, back at 6pm EST, msg me if urgent, check my fserve trigger !mp3z for new uploads." The away message was the ancestor of the Facebook status update, the Twitter bio, the Discord custom status. IRC did it first.
And then there was the quit message. When you disconnected from IRC, your client sent a quit message that was displayed to every channel you were in. The default was usually something boring like "Leaving" or "Connection reset by peer." But custom quit messages became a form of self-expression. Song lyrics, inside jokes, ASCII art, philosophical quotes, passive-aggressive jabs at people in the channel. Your quit message was the last thing people saw when you left, and some people put more thought into their quit message than into anything they actually said in the channel.
/slap command. In mIRC, typing /slap nickname would produce the action message: "* YourNick slaps nickname around a bit with a large trout." Nobody knows exactly why Khaled Mardam-Bey chose a trout. But the trout became legendary. It was referenced in World of Warcraft (which included a "Slap" emote), in web forums, in other chat clients, and in countless internet conversations. The mIRC trout slap is one of the most recognizable memes in internet history, and most people who use it today have no idea where it came from.
6. Bots: The Silent Operators
If channel operators were the visible rulers of IRC, bots were the invisible infrastructure. Bots were automated programs that connected to IRC like regular users but ran without human intervention, performing tasks that ranged from essential channel management to elaborate entertainment. They were the unsung heroes of IRC, and running a good bot was one of the most respected skills in the community.
The king of IRC bots was Eggdrop. Written in C and first released in 1993 by Robey Pointer, Eggdrop was an open-source bot framework that ran on Unix systems. It was modular, scriptable (using Tcl), and rock-solid. An Eggdrop bot could sit in a channel for months or years without crashing, maintaining operator status, enforcing bans, greeting users, and performing whatever tasks its owner had scripted. Eggdrop bots could also link together into "botnets" (the term predates its malicious modern usage), sharing channel information and coordinating actions across multiple bots. A well-configured Eggdrop botnet could protect a channel from takeovers, manage user access lists, and keep the channel running smoothly even when no human operators were online.
Setting up an Eggdrop was a rite of passage for aspiring IRC power users. You needed a Unix shell account (which meant either having access to a university system or paying for a "shell provider," a service that rented out Unix accounts specifically for running IRC bots and other background processes). You had to compile the Eggdrop source code, configure it, write Tcl scripts for it, and keep it running. The process taught people about Unix, C compilation, scripting, networking, and system administration. Like mIRC scripting, Eggdrop administration was an accidental education in computer science.
On networks with services, NickServ and ChanServ were the official bots that managed the registration system. NickServ let you register your nickname with a password. If someone else tried to use your registered nick, NickServ would give them a countdown to identify (prove ownership by providing the password) or be forcibly renamed. ChanServ managed channel registration, maintaining founder and operator access lists, enforcing channel modes, and protecting channels from takeovers. These service bots were run by the network itself, not by individual users, and they represented the network's authority.
MemoServ was another common network service that let you send offline messages to registered users. If someone was not online, you could /msg MemoServ send nickname Your message here, and they would receive it the next time they connected and identified with NickServ. It was IRC's voicemail system, and it was surprisingly useful in an era before everyone had email on their phone.
Beyond the official services, the IRC bot ecosystem was vast and creative. There were seen bots that tracked when users were last online (!seen username would return "username was last seen 3 hours ago saying 'brb food'"). There were weather bots that fetched forecasts. There were URL title bots that automatically fetched and displayed the title of any URL posted in the channel. There were karma bots that let users upvote and downvote things (python++, php--). There were dice bots for tabletop RPG players. There were sed bots that let you correct typos using regex syntax (s/teh/the/). The bot ecosystem was IRC's app store, except everything was free, open-source, and held together with Tcl scripts and good intentions.
The most ambitious bots were the channel management bots that essentially ran entire communities on autopilot. A well-configured bot could handle user registration, enforce rules, manage topic rotations, run scheduled events, log conversations, generate statistics, and moderate content. Some channels were so thoroughly automated that the human operators rarely needed to intervene. The bot handled everything. This was, in retrospect, an early prototype of the moderation systems that platforms like Discord and Twitch would build decades later.
7. The Warez Scene
You cannot tell the story of IRC without talking about warez. The word itself, a leetspeak corruption of "wares" (as in software), referred to pirated software, games, movies, music, and anything else that could be digitized and distributed without the copyright holder's permission. And IRC was, for years, the primary distribution channel for the global warez scene.
The warez scene on IRC was organized with a level of sophistication that would impress a logistics company. At the top were the release groups, teams of crackers, rippers, and distributors who obtained software (often before its official release date), removed copy protection, and packaged it for distribution. Groups like Razor 1911, Fairlight, PARADOX, DEViANCE, and CLASS competed fiercely for the prestige of being first to release a cracked version of a new game or application. Each release came with an NFO file, a text document containing ASCII art, group credits, and installation instructions that was as much a work of art as a technical document.
Below the release groups were the distribution networks. Releases flowed from the groups to "topsites," high-speed FTP servers (often running on compromised university or corporate networks) where the scene's elite traded files. From the topsites, releases trickled down to IRC, where XDCC bots and fserves made them available to the masses. The hierarchy was strict: getting access to a topsite was a mark of status, and the further you were from the source, the lower your standing in the scene.
On IRC, warez distribution happened primarily through dedicated channels on networks like EFnet, Undernet, and later Rizon. Channels with names like #warez, #mp3, #0day (zero-day, meaning released on the same day as the official release), and #gamez were hubs of activity. XDCC bots in these channels offered thousands of files. The bots would periodically announce their offerings in the channel, listing file names, sizes, and download speeds. Users would browse these announcements and request files with XDCC commands.
The scale was staggering. A single popular XDCC bot might serve hundreds of gigabytes of content to thousands of users per day. Channels could have dozens of bots, each offering different content. The total volume of pirated material flowing through IRC at its peak dwarfed anything that had come before. This was years before BitTorrent, years before file-hosting sites like Megaupload. IRC was the internet's largest file-sharing network, and it operated in plain sight.
The scene had its own culture, its own ethics (such as they were), and its own drama. There were rivalries between release groups. There were accusations of "nuking" (releasing bad or incomplete files). There were busts, like Operation Buccaneer in 2001 and Operation Site Down in 2005, where law enforcement agencies raided topsites and arrested scene members. These operations sent shockwaves through the community but never came close to shutting it down. The scene adapted, moved to more secure channels, used encryption, and kept going.
For many IRC users, the warez scene was their introduction to the network. They came for the free software and stayed for the community. The channels where files were traded were also places where people talked, argued, made friends, and learned about computers. The warez scene was morally questionable, legally indefensible, and culturally significant. It was one of the engines that drove IRC's growth, and pretending otherwise would be dishonest.
8. IRC Clients Through the Ages
mIRC dominated Windows, but it was far from the only way to experience IRC. The protocol's openness meant that anyone could write a client, and hundreds of people did. The IRC client you used said something about who you were, what operating system you ran, and how seriously you took your chat.
On Unix and Linux, the terminal-based clients reigned supreme. ircII was the original Unix IRC client, dating back to the late 1980s. It ran in a terminal, had no graphical interface, and was controlled entirely through keyboard commands. ircII spawned several forks, the most notable being BitchX, which added scripting, DCC enhancements, and a reputation for being the client of choice for people who wanted to look like hackers. Running BitchX in a terminal window was the IRC equivalent of driving a blacked-out muscle car. It was aggressive, customizable, and not for beginners.
irssi, released in 1999 by Timo Sirainen, became the gold standard for terminal IRC clients. Written in C with a modular architecture, irssi was fast, stable, and infinitely customizable through Perl scripts. Its killer feature was the ability to run inside a screen or tmux session on a remote server, meaning you could stay connected to IRC 24/7 and reattach from any computer. This was the "IRC bouncer" approach before dedicated bouncers became common. Running irssi in a screen session on a shell account was the mark of a serious IRC user. It meant you were always online, always logging, always present. irssi users looked down on mIRC users the way Linux users looked down on Windows users: with a mixture of pity and superiority.
WeeChat (Wee Enhanced Environment for Chat), first released in 2003 by Sebastien Helleu, was irssi's main competitor in the terminal space. WeeChat offered a more modern architecture, support for multiple scripting languages (Python, Perl, Ruby, Lua, Tcl, and more), and a plugin system that made it extraordinarily extensible. WeeChat also had better Unicode support and a more intuitive default configuration than irssi. The irssi-vs-WeeChat debate was one of IRC's longest-running holy wars, right up there with Vim vs Emacs and tabs vs spaces.
On the graphical side, XChat was the most popular Linux GUI client. Released in 1998, XChat provided a familiar windowed interface with channel tabs, user lists, and point-and-click server management. It was the "mIRC of Linux," accessible to users who did not want to live in a terminal. XChat was open-source but its Windows version was sold as shareware, which created some controversy. When XChat's development slowed, the community forked it into HexChat, which became the de facto graphical IRC client for Linux and remains actively maintained.
Mac users had their own options. Colloquy was a popular native macOS client with a clean, Mac-like interface. Textual was another macOS favorite, known for its polished design and extensive theming support. LimeChat offered a lighter alternative. Mac IRC clients tended to prioritize aesthetics over raw functionality, which was very on-brand for the Mac ecosystem.
And then there were the bouncers, proxy programs that sat between your client and the IRC server. The most popular was ZNC, which maintained a persistent connection to IRC and buffered messages while you were away. When you reconnected your client to ZNC, it would replay everything you had missed. ZNC turned IRC into something approaching a modern chat experience with message history, at the cost of additional complexity. Running a ZNC instance on a VPS became the standard setup for serious IRC users who wanted the always-on experience without leaving a terminal client running on a remote server.
The diversity of IRC clients was both a strength and a weakness. It meant that IRC could be experienced on virtually any platform, from a $5 Raspberry Pi running irssi to a high-end Mac running Textual. But it also meant that the IRC experience was fragmented. There was no single, polished, "official" client that could compete with the integrated experiences offered by later platforms like Yahoo Chat, AIM, or eventually Discord. Every new user had to choose a client, configure it, and learn its quirks. This barrier to entry was trivial for technical users but insurmountable for many casual ones.
9. Freenode and the Fall
If the story of IRC's networks is a story of fragmentation, the story of Freenode is a story of what happens when a community built on trust encounters someone who does not share its values. It is also, depending on your perspective, either a tragedy or a cautionary tale about the dangers of informal governance.
Freenode began in 1995 as a small IRC network called Open Projects Network (OPN), founded by Rob Levin (known online as "lilo"). Its mission was to provide IRC infrastructure for free and open-source software (FOSS) projects. The idea was simple: open-source projects needed a place to coordinate development, discuss bugs, and help users, and IRC was the perfect medium. OPN, later renamed Freenode in 2002, became that place.
Over the next two decades, Freenode grew into the most important IRC network for the open-source community. The Linux kernel developers used it. Python, Ruby, Perl, Haskell, and dozens of other programming language communities called it home. Ubuntu, Fedora, Debian, Arch Linux, and other distributions ran their support channels there. Wikipedia's IRC channels were on Freenode. The network hosted over 90,000 channels and regularly served 80,000 to 90,000 simultaneous users. It was not the largest IRC network by user count, but it was arguably the most influential. Freenode was where open-source happened.
The network was run by a small team of volunteer staff who managed the servers, handled abuse reports, and maintained the network's services. After Rob Levin's death in a traffic accident in 2006, the network continued under the stewardship of Christel Dahlskjaer and other long-time volunteers. The governance was informal, based on trust and shared values rather than legal structures. This worked fine for years. Until it did not.
In 2017, Freenode's parent organization, Freenode Limited, was acquired by Andrew Lee, a tech entrepreneur and the crown prince of Korea's self-proclaimed "Imperial House of Yi." The acquisition was initially presented as a sponsorship arrangement, with Lee providing financial support while the volunteer staff continued to run the network independently. But over the following years, tensions grew between Lee and the volunteer staff over the direction of the network.
The crisis came to a head in May 2021. Lee asserted control over the Freenode infrastructure, claiming ownership through Freenode Limited. The volunteer staff, who had been running the network for years, disagreed. In a dramatic series of events that played out in real time on IRC and social media, nearly the entire Freenode volunteer staff resigned and launched a new network called Libera.Chat. They took their expertise, their reputation, and their relationships with the open-source community with them.
What followed was one of the largest mass migrations in IRC history. Within days, hundreds of open-source projects moved their channels from Freenode to Libera.Chat. The Linux kernel, Python, Fedora, Ubuntu, Wikimedia, and countless other projects announced their moves. Libera.Chat's user count surged past 40,000 within its first week. Freenode, under Lee's control, hemorrhaged users and channels. Lee responded by making increasingly erratic decisions, including mass-banning channels that mentioned Libera.Chat and forcibly taking over channels that had posted migration notices. These actions only accelerated the exodus.
By mid-2021, Freenode was a ghost of its former self. The network that had been the beating heart of open-source IRC for two decades was effectively dead, killed not by a competing technology but by a governance failure. Libera.Chat became its successor, inheriting most of Freenode's community and continuing its mission. The Freenode collapse was a watershed moment for IRC, a reminder that even the most established communities are only as strong as the trust that holds them together.
10. IRC vs Modern Chat
Every modern chat platform is, in some fundamental way, a descendant of IRC. Slack, Discord, Microsoft Teams, Matrix, Zulip, Rocket.Chat: they all owe a debt to the protocol that Jarkko Oikarinen wrote in a Finnish university in 1988. But they also represent a philosophical departure from IRC's core principles, and understanding that departure helps explain both why IRC declined and why it refuses to die.
Slack, launched in 2013, was essentially IRC with a business model. The core concepts were identical: channels (prefixed with # just like IRC), direct messages, slash commands, bots, integrations. Slack's founder Stewart Butterfield was an IRC user, and the influence was obvious and acknowledged. What Slack added was persistence (message history stored on servers), search, file uploads, rich formatting, inline images, and a polished GUI that required zero configuration. What Slack removed was federation (you could not connect Slack workspaces to each other), client choice (you used Slack's client or nothing), and openness (Slack was proprietary, closed-source, and increasingly expensive). Slack took IRC's best ideas, wrapped them in a product, and sold them to corporations at $8.75 per user per month.
Discord, launched in 2015, did the same thing for gaming and casual communities. Discord's "servers" were IRC networks. Its "channels" were IRC channels. Its "roles" were IRC channel modes and access levels. Its bots used slash commands. The DNA was unmistakable. But Discord added voice chat, video, screen sharing, rich embeds, emoji reactions, message threads, and a mobile-first design that made it accessible to people who had never heard of IRC. Discord became the default communication platform for gaming communities, hobbyist groups, and eventually entire subcultures. By 2026, Discord had over 200 million monthly active users, more than IRC ever had at its peak.
Matrix, an open protocol launched in 2014, was the most direct attempt to build "IRC 2.0." Matrix was federated (like IRC), open-source (like IRC), and protocol-based rather than product-based (like IRC). But it added end-to-end encryption, message persistence, rich media, and a modern client called Element that could compete visually with Slack and Discord. Matrix represented the philosophical successor to IRC: the idea that chat should be an open protocol, not a proprietary product. Its adoption grew steadily, particularly among privacy-conscious users and organizations (including the French government and the German military), but it never achieved the mainstream penetration of Slack or Discord.
The comparison reveals what IRC got right and what it got wrong. IRC got the core interaction model right: channels, nicknames, operators, bots, slash commands. Every platform that followed adopted these concepts wholesale. IRC also got the architecture right in principle: a federated, open protocol that anyone could implement. But IRC got the user experience wrong. It required too much configuration. It had no built-in message history (if you were not online, you missed the conversation). It had no rich media (no images, no embeds, no formatting beyond basic color codes). It had no mobile client that worked well. And it had no business model, which meant no company was investing in making it better.
The result was a slow decline that began around 2005 and accelerated through the 2010s. As Slack absorbed the developer community, Discord absorbed the gaming community, and WhatsApp and Telegram absorbed the casual chat market, IRC's user base shrank. The people who remained were the ones who valued IRC's specific qualities: its simplicity, its openness, its lack of corporate ownership, its text-only purity. They were, increasingly, a self-selecting group of technical users who preferred IRC precisely because it was not Slack or Discord.
11. IRC Today
IRC is not dead. It is smaller, quieter, and more specialized than it was in 2003, but it is very much alive. And in some ways, the IRC that exists today is better than the IRC of the golden age, because the people who remain are there by choice, not by default.
Libera.Chat is the largest IRC network focused on open-source development, hosting around 40,000 to 50,000 users at any given time. It is home to channels for the Linux kernel (#kernelnewbies), Python (#python), Fedora (#fedora), Haskell (#haskell), and hundreds of other projects. The network is run by a nonprofit organization with formal governance, and it takes its role as infrastructure for the open-source community seriously.
OFTC (Open and Free Technology Community) is another major network, serving as the official IRC home for Debian, Tor, and several other projects. OFTC is run by the Software in the Public Interest (SPI) organization and has a reputation for stability and professionalism. It is smaller than Libera.Chat but equally important to its communities.
The Linux kernel development community remains one of IRC's most prominent users. Kernel developers coordinate on Libera.Chat, discussing patches, debugging issues, and mentoring new contributors. Linus Torvalds himself has used IRC, though he is more commonly found on mailing lists. The kernel community's continued use of IRC is significant because it demonstrates that IRC remains viable for serious, high-stakes technical collaboration. If it is good enough for the people building the operating system that runs most of the world's servers, phones, and embedded devices, it is good enough.
IRC has also evolved technically. IRCv3 is an ongoing effort to modernize the IRC protocol while maintaining backward compatibility. IRCv3 adds features like message tags (metadata attached to messages), server-side message history (so you can catch up on conversations you missed), account tracking, and standardized capability negotiation. These additions address many of IRC's historical shortcomings without abandoning the protocol's fundamental simplicity. IRCv3-compatible servers and clients are gradually rolling out, and the improvements are making IRC more competitive with modern alternatives.
Modern IRC clients have also improved significantly. The Lounge is a self-hosted web-based IRC client that provides a Slack-like experience in a browser, complete with persistent connections, push notifications, and a responsive design that works on mobile. Gamja is a lightweight web client. Goguma is a mobile IRC client for Android. These clients lower the barrier to entry that historically kept casual users away from IRC.
There is something poetic about IRC's persistence. In a world where chat platforms rise and fall with the fortunes of the companies that own them (remember Google Talk? Google Hangouts? Google Chat? Google has killed more chat products than most companies have created), IRC endures because nobody owns it. There is no company to go bankrupt, no CEO to make bad decisions (Freenode notwithstanding), no venture capitalists to demand growth at all costs. IRC is a protocol, and protocols do not die. They just wait for people who need them.
12. Cultural Impact
IRC's influence on internet culture is so pervasive that most people do not even recognize it. The conventions, the language, the social patterns that IRC established have been absorbed so thoroughly into the fabric of online communication that they feel like they have always existed. They have not. Someone invented them, and that someone was usually on IRC.
The /me command, which produces an action message in the third person ("* username does something"), originated on IRC and has been adopted by virtually every chat platform since. Slack has it. Discord has it. Matrix has it. The concept of expressing an action rather than a statement in a chat context is an IRC invention.
The /slap trout, as mentioned earlier, became one of the internet's first viral memes, spreading from mIRC to forums, games, and other chat platforms. The idea of a playful, ritualized "attack" in a chat context, something that is aggressive in form but friendly in intent, is a social convention that IRC pioneered.
bash.org was a website that collected and rated funny quotes from IRC conversations. Founded in 1999, it became one of the most popular humor sites on the early internet. Quotes from bash.org were shared on forums, in emails, and on other websites for years. The site's format, user-submitted quotes rated by the community, was a precursor to Reddit's upvote system. Some bash.org quotes became so famous that they entered the broader internet lexicon. The "hunter2" password joke (where a user claims that IRC masks your password if you type it, and another user types "hunter2" to test it) originated on bash.org and is still referenced today, over 25 years later.
Leetspeak (1337sp34k), the practice of replacing letters with numbers and symbols, was popularized on IRC and in IRC-adjacent communities like the warez scene. While leetspeak existed before IRC, it was IRC's warez channels and hacker communities that turned it into a widespread internet phenomenon. The word "warez" itself is leetspeak. So is "pr0n," "n00b," "pwn3d," and dozens of other terms that leaked from IRC into mainstream internet vocabulary.
Away messages and status indicators, now standard features of every chat and social media platform, were IRC innovations. The concept of broadcasting your current status ("away," "busy," "do not disturb") to your contacts originated with IRC's /away command. AIM's away messages, which became a cultural phenomenon in the early 2000s, were a direct descendant of IRC's away system.
The channel operator model, where trusted community members are given moderation powers by the channel owner, is the template for every online community moderation system. Discord's moderator roles, Twitch's channel moderators, Reddit's subreddit moderators: they all trace their lineage back to IRC's @ operators. The social dynamics of moderation, the power struggles, the accusations of abuse, the difficulty of scaling trust, were all first explored on IRC.
IRC also pioneered the concept of real-time collaborative information gathering. During major events, from the Gulf War to 9/11 to natural disasters, IRC channels became hubs where people aggregated information from multiple sources in real time. This pattern was later adopted by Twitter, Reddit, and other platforms, but IRC did it first. The idea that ordinary people could collectively report and verify information faster than traditional media was born on IRC.
Even the concept of a "handle" or online pseudonym, while not invented by IRC, was popularized and normalized by it. IRC was one of the first platforms where millions of people routinely interacted using chosen names rather than real names. The idea that your online identity could be separate from your offline identity, that you could be "DarkStar" or "CyberWolf" or "xXx_Shadow_xXx" and that was a legitimate way to be known, was an IRC-era norm that persists in gaming, forums, and many online communities today.
The protocol that a Finnish student wrote in 1988 did not just create a chat system. It created a culture. It created a vocabulary. It created social patterns that billions of people now use without knowing their origin. Every time you join a channel, type a slash command, get moderated by an operator, or set your status to "away," you are participating in traditions that began on IRC. The protocol may be old. The culture it created is everywhere.
#libera or any channel that interests you. No download required. No account required. Just text on a screen, the way it was in 1988, the way it still is in 2026. The servers are still running. The channels are still open. The conversation never really stopped.