Telegram ID Format: User, Group, Channel, and Bot API Examples

A Telegram ID is a numeric identifier used by Telegram clients, bots, and integrations. The exact format depends on what the ID represents: a user, private chat, basic group, supergroup, or channel.

Telegram ID format at a glance

Telegram objectTypical Bot API formatExample
UserPositive integer123456789
Private chatSame positive integer as the user ID123456789
Basic groupNegative integer-987654321
SupergroupNegative integer, commonly beginning with -100-1001234567890
ChannelNegative integer, commonly beginning with -100-1001987654321

These examples show the common Bot API representation. Copy the complete number exactly as Telegram returns it, including the minus sign.

User ID format

A Telegram user ID is a positive integer. It is different from the visible @username:

Telegram documents that peer identifiers can use up to 52 significant bits. Store them in a signed 64-bit integer when your language or database supports it. Do not use a signed 32-bit column.

To see your ID, open @print_id_bot and send /id. For other safe methods, see how to get a Telegram user ID.

Private chat_id format

In a one-to-one conversation with a bot, the chat.id value is normally the same positive integer as the other user’s user.id.

Example update fragment:

{
  "message": {
    "from": { "id": 123456789 },
    "chat": { "id": 123456789, "type": "private" }
  }
}

The fields have different meanings even when their values match: from.id identifies the sender, while chat.id identifies the conversation.

Group ID format

A basic group’s Bot API chat_id is negative. For example:

-987654321

Keep the minus sign in API calls and database records. Removing it points to a different identifier.

Supergroup and channel ID format

Supergroup and channel chat IDs are negative and commonly appear with the -100 prefix:

-1001234567890

The -100 form is the Bot API dialog identifier, not a username and not an invite-link value. A group can receive a new chat_id when Telegram upgrades it to a supergroup, so always use the current value from a recent update. See the detailed Telegram chat_id format guide.

How to use an ID in the Bot API

Send the entire chat_id as the chat_id parameter:

https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=-1001234567890&text=Hello

Never publish a real bot token. Treat the token as a password. A Telegram ID itself is an identifier, not an authentication secret.

Common format mistakes

Official technical reference

Telegram’s documentation describes Bot API dialog IDs as unique 64-bit peer identifiers and explains the ranges for users, chats, supergroups, and channels. See Telegram Bot API dialog IDs and the Bot API Chat object.

FAQ

How many digits are in a Telegram user ID?

There is no single fixed length. Treat the ID as a numeric value rather than validating it by digit count.

Does every channel ID start with -100?

Bot API channel and supergroup dialog IDs use the negative channel range commonly displayed with -100. Always rely on the exact value returned by Telegram instead of constructing it manually.

Is a Telegram sender ID the same as a user ID?

For a normal message from a user, message.from.id is that sender’s numeric user ID. Messages sent on behalf of a channel or anonymous administrator require checking the complete update structure.

Can I find an ID from a phone number?

Not reliably through a bot. The user must interact with the bot, share an appropriate contact, or produce an update where Telegram exposes the relevant ID.


See your real Telegram user ID and chat_id now.

Open @print_id_bot


Related guides