Tox

OlaniranOlaniran
Jul 9, 2025
Jul 9, 2025
End-to-end encryption is a service offered by many messaging apps such as WhatsApp and Telegram. Encryption here means that before the message is sent by the sender, it is secured by a cryptographic lock to which only the recipient has the key. Today we're off to discover a totally decentralized, end-to-end encrypted messaging application, based on principles similar to Blockchain, to offer secure, end-to-end encrypted communication without intermediaries: Tox Chat.
ApplicationE2EE 1:1E2EE groupsAnonymous signupOpen-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

What is Tox?

Tox is a free (open source), decentralized communications protocol that uses Networking and Cryptography Library (NaCl) technology plus combinations of encryption algorithms to ensure the security and confidentiality of its users. Tox lets you exchange text messages, make audio and video calls, share files and share your screen with friends securely, decentralized and without intermediaries.
The technology that the Tox protocol uses is similar to peer-to-peer networks such as blockchains, which favors the decentralization of the protocol's infrastructure. Unlike social networks and end-to-end encrypted messaging applications, the Tox Chat application is built on a decentralized protocol that has no central server. All users communicate in an intermediary-free, censorship-resistant peer-to-peer network. To communicate, each user is identified by a unique ID (ToxID) derived from his or her public key, which is stored in a distributed Hash table.

Join Tox

You can use the Tox protocol through an instant messaging client that you can download from the Tox Chat site.
Depending on your operating system, you can download and install a Tox client that matches:
  • aTox: aTox, a Tox client written in Kotlin available only on Android
  • qTox: A Tox client from open source based on the Qt Framework (C++) available on Windows, Linux, MacOs.
  • Toxic: Toxic is a Tox client written in C and running on systems with command-line interfaces.
In this tutorial, we'll use qTox clients on Windows and aTox to communicate.

Getting started with qTox

Once downloaded, install your Tox client and create your profile.
Congratulations, you've just joined the Tox protocol. On the qTox software, you can find your profile information by clicking on your user name.
In particular, you'll find your Tox ID, which you can save as a QR code and share with people who want to get in touch with you.
Export your Tox profile file so that you have a backup of your profile and contact information that you can use to restore. Click on the Export button, then choose the path to your backup file.
From the More menu, add friends, import contacts and manage the friend requests you receive.
You can reach me via this Tox ID for example: EBC5604D9386E594CCC32943A03F96A96687FBD46788F1CD4F3337EB703C3C16BE3DC2CA6D9F
Once the friend request has been sent, the recipient will have to accept or reject your request before you can contact them.
Your Tox client includes all the options offered by instant messaging applications:
  • Video calls
  • Voice calls
  • File sharing
  • emojis

Peer-to-peer groups

Your Tox clients also enable you to communicate with a group of people in a completely decentralized way: these are called conferences. In the Groups menu, create a new conference or consult the list of invitations to join conferences you've received.
Once the conference has been created, you can invite your friends to join the conference on your Tox client. In your list of friends, right-click on the username of the friend you wish to invite. Click on the Invite to conference option, then select the conference name you've created. You can also invite a friend by implicitly creating a conference with the Create a new conference option.
⚠️ Tox clients are still under development, so you may encounter errors when interacting with the software. Conferencing and video calling functionalities are not yet available on the Tox Android client (aTox).

File transfers

In the File transfers menu, you'll find a history of the files you've sent and those you've received from your contacts.
You can also customize your file-sharing configurations for each discussion you have. Right-click on your recipient's username and select "Show more details".
From the Interface details, you can manage the authorizations you grant to your recipient for:
  • Automatic acceptance of conference invitations.
  • Automatic file acceptance.
  • Backup paths for your discussion files.

More parameters

In the Settings menu, you can customize your Tox client's settings.
  • In the General section, change the basic language of your Tox client, define the file backup paths and the maximum file size to be accepted automatically.
  • In the Interface user section, modify the fonts and sizes of your messages. You can also change the theme of your Tox client.
  • The Privacy tab lets you define ephemeral messages by unchecking the "Keep chat history" box. You can also change your Nospam code when you notice you're being spammed by friend requests by clicking on the "Generate random NoSpam code" button.

What guarantees confidentiality on Tox?

The Tox protocol uses the Distributed Hash Table to create a network of decentralized nodes. Each Tox client is part of the DHT network and stores information about other nodes. In the case of Tox, the DHT stores IP addresses as values associated with Tox public keys (Tox ID). This makes it easy to search for a Tox Client device without having to query a central server.
Imagine writing to our user EBC5604D9386E594CCC32943A03F96A96687FBD46788F1CD4F3337EB703C16BE3DC2CA6D9F whom we'll name user B. Your Tox client will locate this identifier in the Hash Distributed table and retrieve the associated IP address. Once the IP address has been found, your Tox client will create a direct, encrypted communication channel with our user B's machine, or use other nodes as relays to reach User B. Encryption algorithms ensure that, regardless of the communication channel, only User B will be able to read the contents of your message.
If you've enjoyed discovering Tox and have been able to understand how it's useful for strengthening your privacy, please feel free to give this tutorial a thumbs-up. We also recommend our tutorial on Simple Login, a tool that lets you receive and send e-mails anonymously.
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 174 sats1 087 sats544 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.