Open-source project
telegram-sms/telegram-sms avatar
telegram-sms/telegram-sms

Telegram SMS for Android message forwarding

An SMS-forwarding Robot Running on Your Android Device.

1,968 stars206 forksKotlinBSD-3-Clause

At a glance

What is it?
Telegram SMS is an Android app that forwards text messages and selected device events to a Telegram bot or another configured destination. It suits users who want phone alerts in Telegram, but its broad permissions, release compatibility warnings and limited delivery documentation require careful review.
Who is it for?
Adopt Telegram SMS if you specifically need an Android device to forward SMS and selected alerts to Telegram, Bark, PushDeer, Gotify or another configured destination. Do not adopt it if its SMS, phone, call log, camera and notification access is unacceptable, or if the device runs Android 5.0 or earlier.
Can I use it commercially?
Yes. BSD-3-Clause is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 58 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Telegram SMS solves device-to-Telegram notification delivery

Telegram SMS is designed for people who want messages and selected phone events to appear in a separate chat rather than only on the Android handset that received them. Its primary function is forwarding SMS text through a Telegram bot. The application can also notify a configured destination about missed or incoming calls and battery power changes.

The project targets Android devices rather than desktop operating systems or carrier networks. The repository identifies Kotlin as its primary language and includes an Android app module, Gradle build files and Android-specific libraries. This makes it relevant to someone carrying an Android phone who wants alerts elsewhere, or who manages a SIM card and needs incoming messages visible through Telegram.

That use case has a privacy cost. Handling incoming SMS normally requires access to the phone stack, and Telegram SMS also requests SMS, phone, call phone, call log, camera and notification access. The camera permission supports QR scanning for quick configuration, while notification access allows the application to listen for notification messages. The app can also become Android's default SMS application.

Using the app as the default SMS application has a visible side effect. The README says that doing so stops separate SMS notifications from popping up and marks received SMS as read on the phone. That behavior may suit an automated setup, but it changes the handset's message-handling model. Users who depend on the stock messaging interface should consult the linked user manual before changing the default SMS application.

Forwarding, commands and Carbon Copy destinations

The documented flow begins with an incoming SMS on the Android device. Telegram SMS reads the message and forwards its text through a bot destination. Configuration starts with a Telegram Bot Token, and the app can scan a configuration QR code with the camera. The README also directs users to `config.telegram-sms.com` to generate that QR code more quickly.

The README does not publish the internal message payload, retry schedule, message transformation rules or local storage behavior. As a result, a prospective operator cannot confirm from these documents whether delivery is queued during a network outage or retried indefinitely. The linked user manual is the place to look for user-facing configuration behavior, while the source code would need separate examination for implementation details.

The bot is not limited to passive SMS delivery. Telegram SMS documents remote control through a chat command or SMS. However, the README does not list the available commands, required authorization or confirmation behavior. A user should not assume that the bot can perform a particular administrative action until the command list and its security model have been verified in the manual or source.

Carbon Copy provides a different destination model. The README names Bark, PushDeer and Gotify as examples, showing that forwarding is not tied exclusively to Telegram. It describes the feature as "a new way to configure the forward destination," but it does not state whether every destination supports every event type or whether a common formatting layer is used.

For users who cannot use Telegram's hosted Bot API, the project links separate instructions for a self-hosted Bot API address. That changes where Telegram's API endpoint is hosted, not the Android forwarding role played by Telegram SMS. The exact endpoint fields and certificate requirements are not listed in the README.

Android permissions and default-SMS behavior

Permission review is a central adoption decision for Telegram SMS. The README lists SMS access for reading and sending text messages, phone access for dual-SIM checks, SIM status and SIM identification digits, and call phone access for executing USSD codes. It also lists call log access for incoming numbers, camera access for configuration QR scanning, and notification access for listening to notifications.

These permissions cover separate capabilities. A user interested only in incoming-message alerts still needs to evaluate access related to SIM identity, calls and USSD execution. The README does not say whether every permission is mandatory for every configuration, whether access can be disabled per feature, or how the app behaves when Android denies a permission. Those points require checking the user manual, permission screens and source code.

The default SMS application option introduces another operational consideration. The README explicitly states that adopting this role stops separate SMS notifications and marks incoming messages as read. That may suppress the normal notification experience, but it also shows that Telegram SMS participates directly in device messaging instead of acting only as an isolated notification viewer.

Telegram SMS should not be treated as a low-access notification utility. Its documented purpose requires access to sensitive mobile data. A prospective user should decide whether control over the forwarding destination is sufficient protection for bot tokens, messages, caller information and other device events that pass through the application.

Installing Android 6.0 or later from releases

The README does not give a command-line installation procedure for end users. It directs users to the latest GitHub Release for the downloadable APK and separately links a pre-release repository. The main application requires Android 6.0 or later.

No supported CLI command for producing or installing the published APK appears in the README. The repository contains `gradlew`, `gradlew.bat`, `app/`, `build.gradle.kts` and `settings.gradle.kts`, which show a Gradle-based Android project layout. The README does not instruct ordinary users to build the application for installation, so no build command can be presented as the documented installation route.

The supported path described by the project is to download the latest release, install the APK on a compatible Android device and follow the linked user manual to configure a Bot Token, permissions and forwarding behavior. A faster configuration route is available at `config.telegram-sms.com`, where the README says users can generate a configuration QR code.

The release warning matters during installation. The README states that versions are not compatible because they are not signed by the same key. A different version must be installed only after uninstalling the existing one, and uninstalling deletes application data. Users switching releases should therefore preserve any information they need and expect to repeat local configuration. Android 5.0 or lower users are directed to the separate `telegram-sms-compat` project instead of this main application.

Release history, maintenance and upgrade cost

The repository is not archived, and its last push was on 2026-08-26. The listed releases are older: `master-44d30487-202101171529` was published on 2021-01-17, followed by releases on 2020-12-09 and 2020-12-06. The recent push indicates repository activity, but the listed release history does not show a recent sequence of published Android builds. The README points to a Telegram change-log channel for project news, but no channel entries are reproduced here.

Upgrade cost comes primarily from release compatibility and configuration loss. The README warns that different versions are not signed by the same key. Installing another version requires uninstalling the current version first, and that operation deletes all application data. Bot tokens, destination settings and other local configuration may therefore need to be entered again, although the README does not enumerate every stored setting.

The repository's Gradle files reflect a conventional Kotlin Android layout, but their presence does not establish that current source produces the same signed artifact as a GitHub release. The README does not document migration procedures, rollback procedures, supported upgrade paths or automatic compatibility between release generations. A self-hosted Bot API deployment may add server maintenance as another operational responsibility, although the linked guide is not included here.

Telegram SMS is licensed under BSD 3-Clause. The README also identifies a BSD 3-Clause license for `CodeauxLib`. Artwork has separate terms: the README identifies CC BY-NC-SA 4.0 for the credited artwork and states that copyright belongs to `@walliant`. Source code, bundled components and artwork should therefore not be treated as one uniform licensing set.

Telegram bot forwarding versus manual and HTTP relay approaches

The closest documented alternative is a Telegram bot workflow without Telegram SMS on the handset. Such a setup requires a person to copy or forward a message into a bot conversation, or requires another application to submit the message. Telegram SMS differs by forwarding from the Android device and extending beyond SMS into calls, battery changes, remote commands and USSD execution.

A conventional webhook relay is another alternative. That approach would send incoming SMS content to an HTTP endpoint without requiring Telegram SMS to become the phone's default messaging application. The architectural difference is the destination contract. Telegram SMS configures a bot and offers several device-side event types and controls, while an HTTP relay requires the operator to operate or select an endpoint and define its message format.

The README does not compare delivery guarantees between Telegram SMS and an HTTP relay. It also does not document offline queuing, retry limits, duplicate suppression or delivery receipts. Those omissions matter when SMS contains verification codes or other time-sensitive information.

Carbon Copy destinations such as Bark, PushDeer and Gotify are alternatives to Telegram as the presentation layer, although they remain destination types supported by Telegram SMS. That is a destination change rather than an architectural replacement. The Android application still captures and forwards the events.

Telegram SMS is the wrong tool when the requirement is passive Telegram message viewing with no Android forwarding permissions, when the device runs Android 5.0 or earlier, or when changing the default SMS application is unacceptable. It is also a poor fit when guaranteed delivery behavior, documented retention limits or configuration-preserving upgrades are mandatory, because the README does not document those guarantees.

Editorial conclusion

Adopt Telegram SMS if you specifically need an Android device to forward SMS and selected alerts to Telegram, Bark, PushDeer, Gotify or another configured destination. Do not adopt it if its SMS, phone, call log, camera and notification access is unacceptable, or if the device runs Android 5.0 or earlier. Before installation, verify Android 6.0 support, review every permission, inspect the intended release and confirm that uninstalling a previous version will not cause unwanted configuration loss. The main application supports Android 6.0 or later and warns that switching releases requires uninstalling the installed version.

Frequently asked questions

What Android version does Telegram SMS require?

The main Telegram SMS application requires Android 6.0 or later. The README directs users of Android 5.0 or lower to the separate `telegram-sms-compat` project.

Can Telegram SMS forward messages somewhere other than Telegram?

Yes. The Carbon Copy feature supports configurable destinations, with Bark, PushDeer and Gotify named as examples in the README.

Will installing another Telegram SMS release preserve my settings?

No preservation is promised. The README warns that releases are not signed by the same key, that another version must be installed after uninstalling the previous one, and that uninstalling deletes all app data.

Official sources

  1. License: BSD-3-Clause
  2. Project website
  3. README
  4. Releases
  5. telegram-sms/telegram-sms on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/telegram-sms-telegram-sms.svg)](https://hysenlabs.com/projects/telegram-sms-telegram-sms)

Was this useful?