Gajim is een gratis chatclient voor het XMPP-protocol (Jabber) voor Windows, macOS, Linux en BSD. Hij is geschreven in Python met GTK. Gebruikers kiezen zelf een XMPP-aanbieder en synchroniseren chats tussen apparaten. Functies zijn onder meer één-op-één- en groepschats, reacties en antwoorden, spraakberichten, bestandsoverdracht via HTTP file upload, meerdere accounts, service discovery en een XML-console. Berichten kunnen end-to-end worden versleuteld met OMEMO en OpenPGP, en met OTR via een plug-in. Spraak- en videogesprekken via Jingle zijn in versie 2.0.0 verwijderd.
Gajim valt onder de GPL-3.0 en wordt ontwikkeld door vrijwilligers; de eerste release dateert van 2004. Het is een client, geen gehoste dienst: accounts en berichten staan bij de XMPP-aanbieder die de gebruiker kiest, een aanbieder in de EU of een server van de organisatie zelf. Soevereiniteit hangt dus af van de gekozen server en de versleutelingsinstellingen. Het open protocol en de open broncode maken inspectie mogelijk en voorkomen afhankelijkheid van één leverancier.