The official Android client source for Telegram, useful to developers building or auditing a messenger, not as a kit for private chat.

30,161
10,340
Java
GPL-2.0
13 years old

A solid fit only for teams building an Android messenger product or studying the reference Telegram client. It is not a turnkey way to get your messages delivered faster or read more.

The problem

You run a messaging product, or you want to understand how Telegram's Android client is actually put together. The goal is a working APK you can ship under your own name, with your own push and build identity. Normally, starting from scratch means recreating chat lists, multi-account handling, media pipelines and a large protocol surface, then discovering how much the client depends on Telegram's infrastructure. The source changes that step: you obtain your own api_id, replace the dummy keys and config with your own, and compile an Android client from the same base as the published app. The result is a working, Telegram-connected messenger rather than an empty project.

What's different

This is the official Android client source, not a third-party Telegram wrapper. That gives you the actual app the README says you can build and distribute, with the client-side code you can actually change. It also means you inherit Telegram's release configuration: the repo ships a dummy release.keystore, a placeholder google-services.json and filled values in BuildVars.java so reproducible builds work. Anyone publishing APKs has to replace those with their own keys and project settings.

The trade-off is that "modify the app" and "run an independent messenger" are not the same thing. The README's developer rules point to Telegram's own api_id registration, forbid using the Telegram name or logo for your app, and ask developers to publish their own code to respect the license. So branding, keys, licensing and serving your own user base are work you take on, while the connection to Telegram still follows Telegram's terms. Separate API and MTProto documentation exists if you need to understand the protocol underneath, but the source is the client, not a self-hosted server.

Who should try it

Good fit: Android teams that need a Telegram-compatible client with their own identity, or developers who want to inspect how a production-scale Java messenger is organized. A fork can be justified when you need control over the UI, features or distribution and can meet Telegram's API and branding rules. Poor fit: users who want a private, self-contained chat system, or anyone who expects a weekend clone; replacing the dummy credentials and wiring Firebase already presumes a shipping pipeline. People focused only on reading the protocol should start with the protocol manuals instead.

Requirements and limitations

Per the compilation guide, you need Android Studio 2025.1.4, Android NDK 27.2.12479018 and Android SDK 36, plus the repository's submodules. The build also requires your own release keystore and two Firebase Android apps, with the resulting google-services.json; the README's setup instructions cover where each file belongs. Expect to edit a keystore, Gradle properties, Firebase configuration and BuildVars.java before a build reflects your app rather than the dummy configuration.

Ongoing upkeep is the bigger constraint. This is a large Java Android client tied to Telegram's API, so you are tracking upstream changes and rebuilding against the toolchain versions the guide names. Localization is not done in this repo; the README directs translations to Telegram's dedicated translations site. If your goal is an independent messenger, also confirm how your app will satisfy Telegram's API and security requirements, linked from the project instructions.

HotRepo's take

HotRepo has one dated observation: 30,157 stars and a +10 daily change on 2026-10-25, when the project appeared on the daily trending board. With only that single day recorded, persistence of interest cannot be judged from HotRepo's history. The project itself dates to 2013. Before investing, read the README's developer conditions and confirm that your planned app name, logo and code-publication plan comply with them.

Project source and documentation

Hacker News

Telegram source code for latest release
▲ 6 · 0 comments · December 23, 2014
Telegram Issue #384 – Backup or archive chat history
▲ 3 · 0 comments · December 13, 2014

Written by AI from the project's README, updated October 25, 2026. The project's own docs are the source of truth.