ZNC is an IRC network bouncer or BNC. It can detach the client from the actual IRC server, and also from selected channels. Multiple clients from different locations can connect to a single ZNC account simultaneously and therefore appear under the same nickname on IRC. It supports SSL secured connections and IPv6.
ZNC is written in C++ and licensed under the Apache License.
The main program, which already features multiple users, per channel playback buffers and transparent DCC bouncing, can be extended using modules. Modules can be written in Python, Perl, Tcl, or C++. Available modules comprise logging functionality, Blowfish encryption, user and channel management, away functionality, a partyline and more. A very popular module is webadmin: it provides a way to manage users and channels conveniently using only a web browser. ZNC also supports ident spoofing via oidentd.
ZNC has been in development since July 2004, as an alternative to psyBNC which kept crashing for the ZNC author, and new releases are made regularly. It has received favorable reviews, especially in comparison to psyBNC, and has an active community on IRC.
In mid-2009, ZNC's popularity among iPhone users increased after notification modules for Colloquy and Growl were published.
Since 2012, IRC clients started to integrate with ZNC: while sending channel buffers to the client, ZNC uses a timestamp indicating when each message was received, and the client shows this instead of the time when the client received the buffer. This functionality is implemented as a protocol extension.