# Nekogram: a third-party Telegram client for Android that stays close to upstream

> Nekogram is a GPL-2.0 fork of Telegram for Android with a small set of deliberate modifications. It is built from source with Gradle, ships as an APK for Android only, and the repository's last push was on 2026-09-19.

**Nekogram/Nekogram** — Open-source third-party Telegram client with not many but useful modifications.

- Repository: https://github.com/Nekogram/Nekogram
- Website: https://nekogram.app
- Stars: 3,909 · Forks: 307
- Language: Java
- License: GPL-2.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/nekogram-nekogram

## What Nekogram changes, and who the change is for

Nekogram describes itself as "a third-party Telegram client with not many but useful modifications." That sentence is the whole pitch, and it is worth taking literally. This is not a client that rethinks the chat interface or replaces Telegram's sync model. It is a fork of Telegram for Android that keeps the upstream codebase and adds a small set of changes on top.

The audience follows from that. If you use Telegram on Android, are satisfied with how it works, and want a handful of behaviours adjusted without switching to a client with a different design, Nekogram is aimed at you. If you want a client that is substantially different from Telegram, or one that exists on platforms Telegram does not cover, this is the wrong starting point.

The project is GPL-2.0. That matters for anyone who wants to redistribute a build: the licence is a copyleft licence, and the repository ships the LICENSE file at the top level alongside the source. The README does not discuss what redistribution obligations apply to a modified APK, so that question belongs with the licence text and, if it matters to you, a lawyer.

## How the fork is structured: TMessagesProj and the upstream base

The top-level layout tells you most of what you need to know about the architecture. TMessagesProj/ is the main Android application module, and it is where the Nekogram-specific code lives: the compilation guide points at TMessagesProj/src/main/java/tw/nekomimi/nekogram/Extra.java as the file where you fill in project values. TMessagesProj_App/, TMessagesProj_AppTests/ and TMessagesProj_Modules/ sit alongside it, with Tools/, build-logic/, gradle/ and jlatexmath/ as supporting directories. The build is Gradle, driven by build.gradle, settings.gradle and gradlew.

The data path is Telegram's. The README links to the Telegram API manuals at core.telegram.org/api and the MTProto protocol manuals at core.telegram.org/mtproto rather than documenting a protocol of its own. Nekogram does not sit between you and Telegram's servers as a proxy or a bridge; it is a client that speaks MTProto directly, the same way the upstream Android client does. That is the reason the modification list is short: the interesting engineering is inherited, and the fork's job is to change selected behaviour without breaking compatibility with the server.

Localization follows the same pattern. Most locales come from Telegram for Android translations at translations.telegram.org. The strings that are specific to Nekogram are translated through Crowdin at neko.crowdin.com/nekogram. Two translation pipelines, one for inherited strings and one for the fork's own.

## Building Nekogram from source

The README gives a compilation guide rather than an install guide, so this section follows it. The first step is to clone the repository with its submodules. The README's command uses shallow submodules, which keeps the download smaller at the cost of a shallower history:

```bash
git clone --recursive --shallow-submodules https://github.com/Nekogram/Nekogram.git
```

Before the build will produce a release, you need signing material. The guide says to fill out storeFile, storePassword, keyAlias and keyPassword in local.properties so the build can reach your release.keystore. Those four keys are the ones named in the README; there is no alternative signing path documented there.

Nekogram also depends on Firebase Cloud Messaging. The guide instructs you to create two Android apps in the Firebase console with the application IDs tw.nekomimi.nekogram and tw.nekomimi.nekogram.beta, enable Firebase messaging, and download google-services.json, which goes into the TMessagesProj folder. The README says that file should be copied into TMessagesProj.

One more file needs values before compiling: TMessagesProj/src/main/java/tw/nekomimi/nekogram/Extra.java. The README says each variable in that file has a link showing where and which data to obtain, so the file itself is the authority on what is required. After that, the guide says to open the project in Android Studio, and it adds a detail that is easy to miss: the project should be opened, not imported. Then you are ready to compile.

If you only want to run Nekogram rather than build it, the README points to https://nekogram.app/download for downloads. It does not describe a package manager or a store listing, so the website is the documented distribution channel.

## The limits: Android only, and the platform gap is real

The most concrete limitation is platform coverage. Everything in the repository is an Android application: Gradle build files, Android application IDs, an Android Studio workflow, and a Firebase configuration for two Android apps. The README does not mention iOS, Windows, macOS, Linux, a web client or a desktop build. The related searches show that people ask about Nekogram for PC, Nekogram Windows, Nekogram for PC, Nekogram desktop, Nekogram web and Nekogram iOS, but the repository contains no build, no instructions and no claim for any of those targets. If you need one of them, Nekogram as documented here does not provide it.

The second limitation is the build itself. Getting a working release means owning a keystore, creating Firebase applications, and filling in values in Extra.java from external sources. That is a normal amount of setup for an Android fork and an unreasonable amount for someone who just wants to chat. The download page exists precisely because compiling is not the intended path for most users.

The third is the self-description. "Not many but useful modifications" cuts both ways. If a specific upstream behaviour bothers you and Nekogram has not changed it, there is no configuration layer described in the README that will. The fork's scope is the fork's scope.

## Nekogram against the official Telegram app, and against other forks

The honest comparison is with Telegram for Android itself. Nekogram is forked from it, shares its protocol implementation and inherits most of its translations, so the day-to-day experience is close to upstream by design. The difference is the modification set and the distribution model: you get a build from nekogram.app rather than a store listing, and you can read and rebuild the source under GPL-2.0. If you are happy with the official client and its update channel, the case for switching is the specific modifications, nothing broader.

The related searches also pair Nekogram with Nekogram X and with Cherrygram. The repository covers only the Nekogram/Nekogram codebase; it says nothing about what Nekogram X or Cherrygram change, how they are licensed, or how they relate to this code. Treat those as separate projects to investigate on their own terms rather than as documented alternatives to this one. What can be said from the repository alone is that this project's stated position is a small delta from upstream, and any fork claiming a larger delta is a different trade-off.

## Maintenance, releases and the cost of tracking upstream

The repository is not archived, and the last push was on 2026-09-19. Recent releases follow a steady line: v12.9.2 on 2026-08-04, v12.10.1 on 2026-09-01, and v12.10.3 on 2026-09-19. The version numbers track Telegram's own versioning, which is what you would expect from a fork that rebases onto upstream releases rather than inventing its own scheme.

That versioning is also the upgrade cost. Every time upstream Telegram for Android ships a release, the fork has to absorb it, and the modifications have to survive the merge. The README does not describe a release process, a compatibility policy or a rollback procedure, so there is no documented answer to what happens if a Nekogram build and a Telegram server change disagree. For a user, the practical consequence is that updates arrive as APK releases from the download page; for anyone building from source, the consequence is that a rebase is part of the maintenance work, not an occasional event.

The licence adds a second kind of cost. GPL-2.0 is copyleft, and the repository carries the LICENSE file at the top level. If you fork Nekogram, modify it and distribute the result, the licence terms govern what you must pass on. The README does not summarise those terms, and this article is not legal advice; read the LICENSE file if distribution is part of your plan.

## Conclusion

Adopt Nekogram if you want a Telegram client for Android whose modifications are limited and whose source you can read, and if you are comfortable installing an APK rather than using the official store listing. Do not adopt it if you need iOS, a desktop build, or a client with a large custom feature set, because the README describes an Android project and the related searches for PC, Windows, web and iOS have no corresponding build here. Before installing, verify the download link at nekogram.app/download, check that the release you pick matches the v12.10.3 line on the repository, and read the GPL-2.0 terms if you intend to redistribute anything.

## FAQ

### What is Nekogram for?

Nekogram is a third-party Telegram client for Android. The README describes it as a client "with not many but useful modifications", so it is meant for people who want Telegram for Android with a small set of changes rather than a redesigned client.

### How do I use Nekogram?

The README points to https://nekogram.app/download for downloads, which is the documented way to get the app. Building it yourself is a separate path that requires cloning the repository, configuring a keystore in local.properties, adding google-services.json to TMessagesProj, and filling in values in Extra.java.

### Is Nekogram open source?

Yes. The repository is Nekogram/Nekogram, the primary language is Java, and the licence is GPL-2.0 with the LICENSE file at the top level. The README also publishes a compilation guide for building it from source.

### Is Nekogram available for iOS or PC?

The repository does not describe builds for iOS, PC, Windows, macOS, Linux or the web. Everything in it is an Android application: Gradle build files, Android application IDs, an Android Studio workflow and Firebase configuration for the apps tw.nekomimi.nekogram and tw.nekomimi.nekogram.beta.

## Sources

- [License: GPL-2.0](https://github.com/Nekogram/Nekogram/blob/main/LICENSE)
- [Nekogram/Nekogram on GitHub](https://github.com/Nekogram/Nekogram)
- [Project website](https://nekogram.app)
- [README](https://github.com/Nekogram/Nekogram/blob/main/README.md)
- [Releases](https://github.com/Nekogram/Nekogram/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/nekogram-nekogram
