I first installed mIRC in 1997 on a Pentium 133 running Windows 95. The download took eleven minutes over a 28.8k modem. That tiny executable — less than a megabyte — became the window through which I saw the internet for the first time as a social space. Not a library. Not a directory of web pages. A place where people talked, argued, traded files, and built communities in real time. For me and for millions of others, mIRC was the internet before the web swallowed everything.
Origin Story: A Palestinian-British Programmer and a Side Project
Khaled Mardam-Bey started writing mIRC in late 1994 in London. He was a British-Palestinian programmer who had been using IRC through existing Unix clients and found the Windows options lacking. The first public release, mIRC 2.1a, shipped on February 28, 1995. It was a 32-bit Windows application at a time when most IRC users on Windows were still struggling with WSIRC or PIRCH.
What set mIRC apart from day one was its focus on usability. The connection dialog was straightforward. Server lists were built in. The channel list worked. These sound trivial now, but in 1995, getting connected to an IRC server on Windows was a genuine technical achievement for most users. You had to configure Trumpet Winsock, know a server address, and understand what a port number meant. mIRC smoothed all of that.
By version 3.0 in late 1995, mIRC had DCC file transfer support, a configurable toolbar, and the beginnings of its scripting language. Khaled developed the client almost entirely alone — a pattern he maintained for decades. There was no company behind mIRC. No investors. No team. One programmer, one application, one shareware license.
; mIRC version history (selected milestones)
; 1995-02-28 mIRC 2.1a — First public release
; 1995-12-xx mIRC 3.0 — DCC support, toolbar
; 1996-07-xx mIRC 4.0 — Scripting engine overhaul
; 1998-02-xx mIRC 5.3 — Switchbar, treebar
; 2000-02-xx mIRC 5.7 — SSL support
; 2003-02-xx mIRC 6.1 — Unicode partial support
; 2009-07-xx mIRC 6.35 — Full Unicode
; 2010-11-xx mIRC 7.1 — New rendering engine
; 2024-xx-xx mIRC 7.75 — Still actively maintained
Khaled never open-sourced the codebase. He never hired a team. He never sold the company. In an industry obsessed with scaling, mIRC remained a one-person operation for nearly 30 years.
The Shareware Model That Actually Worked
mIRC was shareware. You downloaded it for free. You used it for free. After 30 days, a dialog popped up asking you to register for $20. You clicked "Continue" and kept using it. That was the entire enforcement mechanism.
The nag screen became a meme. Entire generations of IRC users never paid for mIRC. The registration dialog was a running joke on every channel I operated. And yet, the model worked. Khaled sustained development for three decades on voluntary registrations. He never added ads. He never bundled toolbars. He never sold user data. The $20 price stayed fixed for over twenty years.
The shareware model worked for mIRC because of network effects. Every person who installed mIRC and connected to IRC potentially pulled in more users. The free trial was infinite in practice, which meant the user base grew without friction. Some percentage of those users — enough, clearly — eventually registered. The economics of a one-person operation meant that "enough" was a much lower bar than it would be for a company with employees.
Compare this to the competition. PIRCH went freeware, then disappeared. Visual IRC died. BitchX was Unix-only. XChat tried open source, then went shareware on Windows and angered its community. Only mIRC threaded the needle perfectly: a single developer, a simple business model, and zero overhead.
Interface Evolution: From Ugly to Iconic
Early mIRC looked like every other Windows 3.1/95 application: grey backgrounds, fixed-width fonts, no frills. By version 5.x (1998-1999), mIRC had developed its signature look: the switchbar at the top showing open channels and queries, the treebar on the left for navigation, and the main text area with configurable colors and fonts.
The color system deserves special mention. mIRC's implementation of IRC color codes (using the ASCII control character 0x03 followed by color indices) became the de facto standard. When someone typed colored text on IRC, they were using mIRC's color scheme whether they knew it or not.
; mIRC color codes — became the IRC standard
; Ctrl+K followed by number:
; 0 = White 8 = Yellow
; 1 = Black 9 = Light Green
; 2 = Dark Blue 10 = Teal
; 3 = Green 11 = Cyan
; 4 = Red 12 = Blue
; 5 = Dark Red 13 = Pink
; 6 = Purple 14 = Grey
; 7 = Orange 15 = Light Grey
;
; Usage: Ctrl+K4,1 = Red text on Black background
; Example in raw IRC: \x0304,01This is red on black\x03
The channel list window, the DCC transfer manager, the address book, the favorites — mIRC accumulated features steadily without ever feeling bloated. Each version added capabilities. Almost nothing was ever removed. The interface grew by accretion, like a well-maintained house where each addition matched the existing architecture.
Version 7.0 (2010) was the biggest visual overhaul. Khaled rewrote the rendering engine to use DirectX-accelerated text drawing. The interface got a modern look while remaining immediately recognizable to long-time users. It was a surgical update: everything changed underneath, nothing changed on the surface.
The Scripting Engine That Spawned a Subculture
mIRC's scripting language is arguably its most lasting contribution. What started as simple command aliases in early versions evolved into a full programming environment with variables, flow control, file I/O, regex, hash tables, sockets, COM automation, and DLL calls. The language is strange by any modern standard — no formal specification, quirky syntax, implicit global state — but it was accessible to teenagers in 1998 in a way that Perl and C were not.
A basic mIRC script that responds to channel messages:
; Respond to !hello in any channel
on *:TEXT:!hello*:#:{
msg $chan Hello $nick $+ ! Welcome to $chan $+ .
if ($2) {
msg $chan You said: $2-
}
}
; Auto-voice users who identify with NickServ
on *:NOTICE:*identified*:NickServ:{
var %chan = #mychannel
if ($nick ison %chan) {
mode %chan +v $nick
}
}
; Timer-based announcement
alias startannounce {
.timer_announce 0 300 msg #mychannel Visit our website for server rules.
}
; Hash table for tracking user data
alias adduser {
if (!$hget(userdb)) { hmake userdb 100 }
hadd userdb $1 $2-
echo -a Added user $1 with data: $2-
}
Thousands of scripts were shared on mIRC.com's script archive, on personal websites, and on IRC channels dedicated to scripting. Script packs — comprehensive modifications that reskinned and extended mIRC — became a subculture of their own. Names like Peace and Protection, NoNameScript, and Invision became legendary in the community.
Peace and Protection (PnP), by pai, was probably the most popular script pack ever written. It added channel protection, flood detection, clone detection, XDCC serving, and an entirely new interface layer on top of mIRC. Running PnP felt like using a different application. It was so popular that many users didn't realize they were running mIRC underneath.
The scripting community also produced darker tools. War scripts — designed to flood channels, take over ops, and disrupt other users — were common. The arms race between war scripts and protection scripts drove a significant portion of mIRC scripting innovation in the late 1990s. It was a messy, creative, anarchic period that has no real equivalent in modern software culture.
Cultural Impact: WAV Sounds, ASCII Art, and Warez
mIRC was the gateway drug. For millions of people in the late 1990s, mIRC was their first experience with real-time online communication. Before AIM, before MSN Messenger, before ICQ gained mass adoption, there was mIRC connected to EFnet or DALnet or Undernet.
The cultural artifacts of mIRC-era IRC are distinctive. Sound events — mIRC could play WAV files on join, message, or highlight events. Walking into a busy channel and hearing a cascade of join sounds was the auditory signature of the era. ASCII art, painstakingly crafted to display correctly in mIRC's default font (Fixedsys, later replaced by user choice), was a visual art form. Quit messages became a form of self-expression: I remember users spending more time crafting their quit message than their actual conversations.
File sharing through DCC and later through XDCC bots (automated file servers running as mIRC scripts) made IRC a primary distribution channel for pirated software, music, and movies in the pre-BitTorrent era. This was not mIRC's intended purpose, obviously, but the DCC protocol's peer-to-peer architecture made it ideal for direct file transfers. The warez scene on IRC was enormous, organized, and remarkably efficient. Channels like #warez on DALnet had thousands of users and hundreds of XDCC bots serving terabytes of content.
; Example XDCC bot listing (typical format circa 2001)
; /msg xdcc-bot xdcc list
;
; ** XDCC-Bot File Listing **
; #1 45x [134.2MB] Linux_Kernel_2.4.18.tar.gz
; #2 12x [ 42.8MB] Apache_2.0.35_Source.tar.gz
; #3 89x [698.4MB] RedHat_7.3_disc1.iso
; #4 3x [ 2.1MB] IRC_RFC_Collection.zip
;
; To download: /msg xdcc-bot xdcc send #1
mIRC also shaped how people learned to code. Thousands of programmers — myself included — wrote their first lines of code in mIRC script. The immediate feedback loop was intoxicating: write a script, load it, type a command, see the result in real time. No compiler. No build process. No deployment. The distance between idea and execution was measured in seconds.
The social dynamics of mIRC-era IRC were unique. Channel operators wielded absolute power. Getting kicked or banned was a genuine social event. Op wars — battles for channel control during netsplits — were the closest thing to organized combat the early internet had. Clans, groups, and alliances formed around channels and networks. Friendships and rivalries that started in mIRC windows persisted for years, sometimes decades.
mIRC Today: Still Updated, Still $20
As of 2023, mIRC is still actively developed. Khaled Mardam-Bey still releases updates. The client supports modern TLS, IRCv3 capabilities, UTF-8, high-DPI displays, and contemporary Windows versions. The registration fee is still $20.
The user base has contracted massively from its peak. IRC itself has shrunk. The channels that once had 10,000 users now have 200. The networks that once had 100,000 simultaneous connections now have 10,000. But mIRC persists. It persists because it works, because it's maintained, and because for a certain kind of user, nothing else feels right.
There's a lesson in mIRC's longevity. Khaled built something he wanted to use. He charged a fair price. He never chased growth. He never pivoted. He never raised funding. He just kept improving the same application for 30 years. In an industry that fetishizes disruption and scale, mIRC is a quiet argument for sustainability, craftsmanship, and the radical idea that one person can build something that matters and maintain it for a lifetime.
I still have mIRC installed. Not as my daily driver — I moved to irssi and then WeeChat years ago. But it's there. When I open it, the interface feels like coming home. The switchbar, the treebar, the input line at the bottom. The font has changed, the rendering is smoother, but the bones are the same bones I first saw in 1997 on that Pentium 133. Some software gets old. mIRC got timeless.
FAQ
Is mIRC free to use?
mIRC is shareware. You can download and use it without paying, but after 30 days a registration dialog appears asking for a $20 payment. The dialog can be dismissed and usage continues uninterrupted. The registration is a one-time purchase for all future versions.
Does mIRC still work with modern IRC networks?
Yes. mIRC supports TLS/SSL connections, IRCv3 capabilities including SASL authentication, UTF-8 encoding, and modern server protocols. It connects to Libera.Chat, OFTC, EFnet, and any other standard IRC network without issues. Khaled has kept the client current with protocol developments.
Can I run mIRC on macOS or Linux?
mIRC is a native Windows application. There is no official macOS or Linux version. Some users run mIRC under Wine on Linux with mixed results — the core client works, but DCC transfers and some scripting features involving DLLs may fail. For Unix-like systems, WeeChat, irssi, or HexChat are better alternatives.
What happened to the major mIRC script packs like Peace and Protection?
Most script packs from the late 1990s and early 2000s are no longer actively maintained. Peace and Protection (PnP) had its last update around 2004. NoNameScript similarly faded. The scripting community has shrunk alongside IRC's user base. Some scripts are archived on sites like mircscripts.org, but many are incompatible with current mIRC versions due to changes in the scripting engine and Windows APIs.