Jami

OlaniranOlaniran
Aug 18, 2025
Aug 18, 2025
Jami is a free, open-source peer-to-peer messaging program with a long history and a wide range of features. Its history goes back to December 2004, when Montreal-based Savoir-faire Linux launched SFLPhone, a digital telephony project for businesses based entirely on open-source technologies. The software, which complied with telecommunications standards (SIP and IAX), stood out for its ability to handle large numbers of lines and calls.
In 2015, SFLPhone was renamed Ring, and integrated a distributed architecture no longer requiring a central server. The following year, Ring officially joined the GNU project, strengthening its foothold in the free software ecosystem. Finally, in December 2018, to avoid confusion with commercial products using the English term "Ring", the software adopted its current name: Jami. Since then, it has continued to evolve as a free, decentralized and privacy-friendly communication platform.
Today, Jami is available on many systems. It's renowned for its performance, fluidity and ease of use. It lets you communicate via instant messaging, audio calls or video calls, while ensuring the confidentiality of your conversations through end-to-end encryption. Simple installation and a host of features make it a complete communications application that's easy and convenient to use on a daily basis.
ApplicationE2EE 1:1E2EE groupsAnonymous registrationOpen-source client licenseOpen-source server licenseDecentralized serverYear of creation
WhatsApp2009
WeChat2011
Facebook Messenger🟡 (optional)2011
Telegram🟡 (optional)🟡2013
LINE2011
Signal2014
Threema2012
Element (Matrix)🟡 (federated)2016
Delta ChatN/A🟡 (via email)2017
Conversations (XMPP)🟡 (federated)2014
Session2020
SimpleX2021
Olvid🟡 (no directory)2019
KeetN/A2022
JamiN/A2005
BriarN/A2018
ToxN/A2013
E2EE = End-to-end encryption

Why use Jami?

  • It's open-source and totally free, so you can use it at no cost.
  • Complete with useful features: this software lets you take advantage of numerous options, thanks to the ability to add plugins easily from the store. It's even possible to create your own extensions for features more suited to your needs.
  • Easy to use and Interface intuitive: despite the many features Jami has to offer, it's still very easy to get to grips with.
  • Strong security: Jami incorporates an advanced encryption algorithm that guarantees the security of your communications while respecting your privacy.
  • Highly accessible and fast: it offers easy communication even when bandwidth is limited, for enhanced user-friendliness.

How do I install Jami?

Before moving on to installing Jami, it's important to note that the application is available on different operating systems. Its installation will therefore depend on the system you're using.

For Android or iOS users

The application is available directly from the App Store or Play Store. Simply search for it in the search bar, then launch the installation.

For Windows or macOS users

To install Jami on your device, you first need to visit the official Jami website. By default, the site displays the software corresponding to your device's operating system, and you can click directly on the download button to launch it. However, you can also download the Windows executable directly from the download page.
For macOS users, the file is also available from macOS download page.
Once you've downloaded the executable, start the installation process by double-clicking on it. Accept the terms of use, then start the installation and wait for it to finish.

For linux users

To install Jami on Linux, it's best to use the command line. It's important to note that Jami is available for different Linux distributions. Before you start installing Jami, make sure you choose the right distribution for your system.
Once you've selected your distribution, you can install the system. You'll need to install the dependencies required to run Jami on your Linux OS. The commands are directly available on this page.
To install Jami on Ubuntu, you can do it as follows:
sudo apt install gnupg dirmngr ca-certificates curl --no-install-recommends
This command installs the tools needed to manage GPG keys (gnupg and dirmngr), SSL certificates (ca-certificates) and the curl download tool.
curl -s https://dl.jami.net/public-key.gpg | sudo tee /usr/share/keyrings/jami-archive-keyring.gpg > /dev/null
Here, curl is used to download Jami's GPG public key. The redirection to /dev/null avoids displaying the raw key on the screen.
sudo sh -c "echo 'deb [signed-by=/usr/share/keyrings/jami-archive-keyring.gpg] https://dl.jami.net/stable/ubuntu_25.04/ jami main' > /etc/apt/sources.list.d/jami.list"
This command adds the official Jami repository to the list of APT sources.
sudo apt-get update && sudo apt-get install jami
Finally, update the list of available packages with apt-get update, then install Jami directly from the official repository with apt-get install jami.

Jami basic configuration

Once Jami has been installed on your system, you can launch it directly from the system menu.
Once you've started the application, you'll have the option of creating an account or continuing with one you've already created.

Create an account

Creating a Jami account is relatively simple. You don't need an e-mail address or telephone number: Jami collects only the minimum of information. If you wish, you can register a username (alias) that points to your Jami ID (cryptographic fingerprint). The alias ↔ Jami ID association is published on a default name server (replaceable / self-hosting), so the alias is not necessarily mandatory.
To protect your data locally, you can set a password to encrypt your profile and backups on the device. This password is optional and has no effect on end-to-end encryption of communications, which is active by default. If you activate this local protection, choose a long, random and unique password, then validate.
After encrypting your account, set your full name.

Login to an existing account

Jami does not use identifiers and has no database to connect to your account. All your data is stored directly on your device. In order to connect to your old account, you need to perform a backup of your old account.
Go to Settings, then Account, then Account Management. Scroll to the bottom and perform a backup of your account. Choose the location where the backup file will be saved, enter the password defined when your account was created, then validate.
This backup file will enable you to reconnect to your account.

Connection via archive

To do this, click on the Import from a backup archive button, and select the backup file for your Jami account.
If you set a password when you created your account, enter it and confirm. Your data and messages will appear automatically.
It's important to make regular back-ups of your account to keep your data up to date and ensure you don't lose your latest messages.

Connection via a device

If you're already logged in on another device with your Jami account, go to Account then to the Connected device section and click on Connect a new device. The QR code reader will appear, along with a field for entering a connection code.
Launch Jami on the new device and select I already have an account then Import from another device. You'll then get a QR code and a login code. To connect, you can use the QR code scanner to scan the code displayed on the other device. However, it's often simpler to copy the connection code and paste it directly into the field provided.
If you set a password when you created your account, you'll need to enter it on the new device to continue.
Confirm the connection on the device already connected to continue.
Once the password has been entered, the device will automatically connect to the account and synchronize. You can then send and receive messages from any of your devices.

Add an extension to Jami

One of Jami's interesting features is its ability to integrate new options via extensions (plugins). Plugins are native modules (C/C++); the SDK provides tools and scripts (notably in Python) to help create them. Some plugins are available directly here.
To install an extension, on Desktop open the integrated extension store, download the appropriate plugin, then go to Settings → Extensions → Install and activate it. On Android, the store is not integrated: download the .jpl file, then import it manually from Settings → Extensions → Install; the import is automatic and you can then activate it and adjust its settings if necessary.
To develop your own plugins, check out the blog post Discover the Jami Plugin SDK and create your own plugins.

Advanced features

Jami also offers advanced features for users wishing to go further in configuring and using the application. These options include:
  • Create a rendezvous point: This feature lets you create a rendezvous point for your communications, useful for organizing secure sessions or exchanges between several users.
  • Connect to a Jami server: You can connect Jami to a Jami server, which can improve the performance or availability of communications, especially in professional environments.
  • Set up a SIP account: You can set up a SIP account (Session Initiation Protocol), enabling you to integrate Jami with existing telephone systems or make telephone calls.
These options are designed for more advanced users who wish to customize their Jami experience and take advantage of additional features for specific needs.
In short, Jami is a complete, secure and flexible communications solution, suitable for both personal use and more specific needs thanks to its extensions. Its simple installation, intuitive handling and advanced features such as encryption, multi-device synchronization and the ability to create your own plugins make it a powerful tool for managing your communications while preserving your privacy.
Discover Tox, a decentralized protocol that combines end-to-end encryption (E2E), public keys and many other algorithms to offer you optimal communication that protects your confidentiality through its various clients.
Did this work well for you?
1
0

Author

This tutorial has been written by Olaniran

You can say thanks by tipping the professor.

OlaniranOlaniran
39Tutorials

Web application developer, I write and share my understanding of how systems work.

adoptionguidesproof-of-work

Credits

This tutorial has not been proofread yet

0/3Proofreading status

The original content has been translated by AI, but human review is necessary to ensure its accuracy.

Progress: 0/32 824 sats1 412 sats706 sats
*Rewards may vary based on the $ exchange rate

Every content on the platform is the result of a collaborative effort: each lesson, translation, and revision is made possible by the work of contributors. For this reason, we are always looking for proofreaders who can review our content in many languages. If you want to participate in the proofreading process, please reach out in our Telegram group and read our tutorial. We remind you that this content is open-source - licensed under CC BY-SA - so it can be freely shared and used, as long as the original source is credited.