Pidgin (formerly named Gaim) is a free and open-source instant messaging client for Linux, Microsoft Windows, and other platforms. Based on the library named libpurple, it supports multiple instant messaging protocols and allows users to connect to different services from a single interface.
Originally created in 1998 as GAIM by Mark Spencer, the software was renamed Pidgin in 2007 following a trademark settlement with AOL. It supports end-to-end encryption through the Off-the-Record Messaging (OTR) plugin and is included by default in the privacy-focused operating system Tails. On July 6, 2015, Pidgin scored seven out of seven on the Electronic Frontier Foundation's secure messaging scorecard.
History
thumb|right|alt=Screenshot of the Gaim buddy list window|Gaim 2.0.0 beta 6 running under [[GNOME 2.16.0]]
The program was originally written by Mark Spencer, an Auburn University sophomore, as an emulation of AOL's IM program AOL Instant Messenger on Linux using the GTK+ toolkit. The earliest archived release was on December 31, 1998. It was named GAIM (GTK+ AOL Instant Messenger) accordingly. The emulation was not based on reverse engineering, but instead relied on information about the protocol that AOL had published on the web. Development was assisted by some of AOL's technical staff. Support for other IM protocols was added soon thereafter. The name "purple" refers to <code>prpl</code>, the internal libgaim name for an IM protocol plugin.
Due to the legal issues, version 2.0 of the software was frozen in beta stages. Following the settlement, it was announced that the first official release of Pidgin 2.0.0 was hoped to occur during the two weeks from April 8, 2007.
Pidgin 2.0.0 was released on May 3, 2007. Other visual changes were made to the interface in this version, including updated icons. By 2007, the number of Pidgin users was estimated to be over three million.
On July 6, 2015, Pidgin scored seven out of seven points on the Electronic Frontier Foundation's secure messaging scorecard. Pidgin received marks for encrypting communications in transit, supporting end-to-end encryption, allowing users to verify correspondent identities, providing forward secrecy, publishing its source code for independent review, documenting its security design, and undergoing recent independent security audits. It was shipped with IRC support, with more protocols being expected to be added in future versions. Version 2.95 (alpha) followed in April 2026, adding Zulip as an in-tree protocol plugin.
Features
thumb|left|alt=Screenshot of Pidgin's buddy list and chat window on Ubuntu|Pidgin running on [[Ubuntu (operating system)|Ubuntu]]
Pidgin provides a graphical front-end for libpurple using GTK+. Libpurple supports many instant-messaging protocols.
Pidgin supports multiple operating systems, including Windows and many Unix-like systems such as Linux and the BSDs. It is included by default in the privacy-focused operating system Tails. In the 2.x branch, calls can only be initiated through the XMPP protocol. Voice and video support is being redesigned for version 3.0.
Supported protocols
The following protocols are officially supported by Pidgin 2.14.14 (released January 23, 2025), without any extensions or plugins:
- SIMPLE
- XMPP
- Zephyr
Some XMPP servers provide transports, which allow users to access networks using non-XMPP protocols without having to install plugins or additional software. Pidgin's support for XMPP means that these transports can be used to communicate via otherwise unsupported protocols, including not only instant messaging protocols, but also protocols such as SMS or email.
Additional protocols, supported by third-party plugins, include Discord, Telegram, Microsoft OCS/LCS (extended SIP/SIMPLE), and Signal.
Plugins
Various other features are supported using third-party plugins. Such features include:
- End-to-end encryption through Off-the-Record Messaging (OTR)
- microblogs (GNU social, Twitter)
- Adding mathematical formulas written in LaTeX to conversations
- Notifications (such as showing "toaster" popups or Snarl notifications, or lighting LEDs on laptops)
- Showing contacts what the user is listening to in various media players
- Watching videos directly into a conversation when receiving a video sharing website link (YouTube, Vimeo)
Criticisms
The libpurple codebase has been described as "known for its bountiful security bugs". Security vulnerabilities were found in OTR plugins using libpurple in 2011.
Starting in version 2.4, Pidgin removed the ability to manually resize the text input box, prompting a fork called Carrier (originally named Funpidgin).
Passwords are stored in a plaintext file readable by any program or user with access to the user's files. Pidgin 3.0 plans to support password storage in system keyrings such as KWallet and the GNOME Keyring on Linux, Keychain on macOS, and the Windows Credential API.
Other notable software based on libpurple
- Adium and the discontinued Proteus (both for macOS)
- Meebo (web-based, discontinued)
- Telepathy Haze (provides libpurple protocol support for the Telepathy framework)
- QuteCom (cross-platform VoIP and video client, discontinued)
- Instantbird (cross-platform, based on Mozilla's Gecko engine; discontinued)
BitlBee and Minbif are IRCd-like gateways to multiple IM networks, and can be compiled with libpurple to increase functionality.
See also
- Multiprotocol instant messaging application
- Comparison of instant messaging protocols
- Comparison of cross-platform instant messaging clients
- Comparison of Internet Relay Chat clients
- Online chat
