A short history of IRC, from Oulu to today

The story of IRC: a Finnish university in 1988, news typed live during a war and a coup, network splits, mIRC and BrasNet, the long decline, the freenode exodus to Libera.Chat, and the modern clients, bouncers and IRCv3 keeping it alive today.

Contents

My first nick was Wagon, borrowed from a clothing sticker on my bedroom wall, and I told that story in Binary Memories, part III. That was on IRC, Internet Relay Chat, sometime in the late nineties. IRC is older than the web, it carried news out of a war and a coup, it almost disappeared, and it's still here. This is its story, from the beginning to now.

What IRC is #

IRC is a way for many people to talk in real time, in text, through servers anyone can run. A few words cover most of it:

  • A server is a program people connect to. Several servers linked together form a network, and everyone on the network sees the same conversations.
  • A channel is a room. Its name starts with #, like #linux or #brasil, and anyone can create one just by joining it.
  • A nick is your name on the network, and it's first come, first served.
  • An op, marked with @ before the nick, is a channel operator who can kick people out, ban them and set the channel's rules.
  • You talk by typing, and you give commands that start with a slash: /join #channel, /msg someone hello, /me waves, /quit.

Under the hood the protocol is plain text, so simple you can speak it by hand. When your client connects, it sends lines like these, and the server answers the same way:

NICK wagon
USER wagon 0 * :Pablo
JOIN #brasil
PRIVMSG #brasil :hello, everyone

That simplicity is a big part of why IRC has lasted so long. Anyone can write a client, a server or a bot, on almost any machine.

Oulu, 1988 #

IRC was born in August 1988 at the University of Oulu, in Finland. Jarkko Oikarinen, who worked in the computer science department, wrote it to replace MUT, the MultiUser Talk program on OuluBox, a BBS the university ran. He took ideas from Bitnet Relay, a chat system on the academic network Bitnet.

The first IRC server ran on a Sun-3 workstation called tolsun.oulu.fi. Years later the machine went on display near the university's computer centre, with its monitor proudly labeled:

The first IRC server, tolsun.oulu.fi, on display behind glass at the University of Oulu in 2001. A tall beige Sun-3 workstation stands in the middle of the case, and an old CRT monitor sits on the floor in front of it with "TOLSUN" handwritten on its top. Other vintage computers and a rack of electronics fill the rest of the display.

It spread fast. By November 1988 IRC had reached other universities across the internet, and by the middle of 1989 there were about 40 servers around the world.

The news, typed live #

IRC's first big moments came from the news. During the Gulf War, in early 1991, and again during the attempted coup in the Soviet Union in August of that year, people used IRC to pass along reports in real time, including from places where the usual media had gone quiet. For a lot of people, it was the first time the internet felt like a live window on the world.

Networks and splits #

IRC has never been one big network. It's a family of networks, and most of them were born from a fight.

A diagram of an IRC network. Four yellow circles labeled A, B, C and D are servers, connected in a tree with A in the middle. Small blue dots are users, each linked to one server, and some are named: Joe on server C, Bob on server B and Sara on server A. A legend explains the symbols: server, user and connection.

The drawing above shows how a network works: servers link in a tree, and each user connects to one server. If the link between two servers breaks, the tree splits in two, and everyone on one side suddenly sees everyone on the other side "quit" at once. That's a netsplit, and old IRC users can still recognize one from the wall of quit messages it leaves behind.

The early network split for human reasons too. In August 1990, after a dispute over a server called eris.berkeley.edu, most servers formed EFnet, short for Eris Free network. EFnet became the main network for years. Then came the forks:

  • Undernet, started in October 1992, which connected servers in France, Canada and the United States by the end of that year
  • DALnet, which split from Undernet in the summer of 1994 and brought longer nicknames, beyond the original limit of nine characters
  • IRCnet, born in July 1996 from the "Great Split", mostly over technical disagreements about how servers should resolve conflicts

In May 1993, Oikarinen and Darren Reed wrote the protocol down as RFC 1459. It's a readable document, and it has a famous line about the people who run servers: it calls IRC operators "a necessary evil". The protocol was later revised in four RFCs published in April 2000.

mIRC, bots and the golden age #

In the second half of the nineties, IRC met the home computer. On February 28, 1995, Khaled Mardam-Bey released mIRC, a client for Windows. It was shareware, with a 30-day trial, and for millions of people mIRC simply was IRC. It came with its own scripting language, powerful enough to change how the client looked and behaved from top to bottom. In 2003, Nielsen/NetRatings put it among the ten most popular internet applications. It's still maintained: version 7.84 came out in June 2026.

An IRC conversation on the glowing white-on-black screen of a TRS-80. Each line starts with a time stamp and a nick in angle brackets, like rocket625 and VetteRacer, talking about cameras and storage, with a few action lines such as "TRS80spot looks around" and "VetteRacer looks asquare".

Bots became part of the furniture. Eggdrop, written by Robey Pointer in December 1993 to guard an EFnet channel, is still maintained and is the oldest IRC bot still in active development. Bots kept channels open when everyone went to sleep, handed out ops to friends, ran trivia games and, less nobly, flooded and took over other people's channels. Files traveled by DCC, a direct connection between two users, and whole channels of bots offered files through a scheme called XDCC.

In Brazil, the late nineties and early two thousands were IRC's golden years. BrasNet, one of the most popular Brazilian networks, reached almost 60,000 simultaneous users in 2003. My uncle Dirceu, who taught me what IRC was, used EFnet and later moved to BrasIRC, and the busiest channel there was #brasil. Then came ICQ, MSN Messenger and, in 2004, Orkut, and people slowly moved on. BrasNet closed in May 2007.

The peak and the long quiet #

Around 2001, IRC had about 6 million users online at the same time. The largest network ever measured was QuakeNet, born around online gaming, with more than 240,000 users connected at the start of 2005. Between 2003 and 2012, IRC lost roughly 60% of its users, first to instant messengers and social networks, and later to Slack and Discord, which offered history, file sharing and a friendly app without running anything yourself.

Here's how the biggest networks look today next to that record, in users connected at the same time, according to netsplit.de:

QuakeNet, start of 2005 ################################################ 240,000
Libera.Chat, Nov 2026 ###### 29,226
OFTC, Nov 2026 ### 14,249
Undernet, Nov 2026 ### 12,658
EFnet, Nov 2026 ## 7,751

Each # is about 5,000 users. BrasIRC, by the way, is still running, with a few hundred people online.

freenode and Libera.Chat #

For many years, the home of free software on IRC was freenode, the network where projects like Ubuntu, Fedora and Gentoo kept their channels. In 2021 it went through a crisis. The company that owned the network's domain and name had passed to Andrew Lee, the founder of Private Internet Access, and a dispute over control of the network led most of its volunteer staff to resign in May 2021. On May 19 they launched a new network, Libera.Chat.

The open source world moved with them. Within weeks, projects like Fedora, Ubuntu, Gentoo, FreeBSD and Wikimedia had moved to Libera.Chat or other networks, and in June the Free Software Foundation announced its move too. Today Libera.Chat is the largest network netsplit.de measures, and freenode still exists, much smaller.

The Libera.Chat home page. A logo with purple rays rising behind a pink mountain sits above the name Libera.Chat, next to the text "Providing a community platform for free and open-source software and peer directed projects" and "Connect by pointing your IRC client to irc.libera.chat:6697 (TLS)", with pink buttons for choosing an IRC client and registering a project. Below begins a news post dated 2nd November 2026, "New And Upcoming Features", about a bot user mode.

IRC today #

The numbers above won't impress anyone used to the user counts of social networks, and they aren't growing fast. IRC itself, though, has kept changing.

The protocol is being modernized by IRCv3, a working group that adds features as optional extensions, so old clients keep working. With IRCv3, you can log in during connection with SASL, see when a message was actually sent, scroll back through history kept by the server, and, on networks that support them, see typing notices, replies and reactions. Libera.Chat turned on a new batch of these features on November 2, 2026, including a mode for marking bots, and it plans to add multi-line messages and user metadata such as display names and pronouns.

The software has caught up too. Halloy is a fast desktop client written in Rust, with a long list of IRCv3 features:

An animation of the Halloy IRC client on a desktop with a painted sunset in the background. A dark window shows a sidebar with two networks, ergo and liberachat, and channels like #halloy, #archlinux and ##rust, while split panes on the right show private chats and the #halloy channel, where a few people are deciding between pizza and sushi.

The old guard in the terminal is still alive and well. WeeChat and irssi are what many people keep open all day in a tmux session:

The WeeChat terminal client connected to the #archlinux channel on Libera.Chat. A narrow list of buffers sits on the left, a long colored conversation about udev, drives and virtual machines fills the middle with time stamps and nicks, and the list of users in the channel runs down the right side.

The biggest practical change is the bouncer. IRC was built for people who are connected, so when you closed the client, you missed everything. A bouncer is a small program that stays connected for you on a server, keeps your history and lets you reconnect from any device. ZNC has done this for years, and soju is a newer one built around IRCv3 history. I keep a soju bouncer running on my own server for exactly that. If you'd rather not run anything, The Lounge is a self-hosted web client that stays connected on its own, and IRCCloud offers the same as a hosted service. On the server side, Ergo is a modern IRC server in Go with a bouncer and history built in.

IRC also keeps turning up in places you might not expect. Twitch chat was built on IRC, and bots can still connect to it with any IRC library. The tilde communities have their own network, tilde.chat. And in the free software world, a channel on Libera.Chat is still often the quickest way to reach the people who actually write the code.

The reasons people give for coming back are the same ones that make the small web appealing. There's no company that owns the network, no algorithm deciding what you see, no ads, and nothing to install beyond a client you choose. It runs on almost anything, from a Raspberry Pi to a TRS-80. It's text, so it's light and fast and easy to log, and the conversation is the whole point.

How to start #

The easiest way in is to pick a client (Halloy if you want a desktop app, WeeChat or irssi if you live in a terminal, or a web client) and point it at Libera.Chat:

/server irc.libera.chat 6697
/nick yourname
/msg NickServ REGISTER yourpassword you@example.com
/join #libera

The third line registers your nick so nobody else can take it. After that, find a channel about something you like and say hello. Then wait. IRC has its own pace: people answer when they see your message, sometimes in a minute and sometimes in an hour, so it pays to stay connected. That's what the bouncer is for.

More than thirty-five years after it started on a Sun-3 in Finland, IRC is still a few lines of plain text going between servers that people run for each other.