Skip to content
TGDirectory
DirectoryCategoriesRankingsBlogAPI
Log inList your channel
TGDirectoryMenu
List Your Channel, Group or Bot/MiniGame

Your channels

  • My Channels

Account

Log InRegister

Discover

  • View all Telegram Channels
  • Categories
  • Best Telegram Channels
  • Crypto Channels 2026
  • Top Rated
  • Recently Added
  • Articles & Guides

Company

  • Contact Us

TGDirectory — find, compare and discover Telegram channels.

  1. Home/
  2. Blog/
  3. Bots & Mini Apps/
  4. How to Get a Telegram Chat ID, Channel ID or User ID
Bots & Mini Apps

How to Get a Telegram Chat ID, Channel ID or User ID

Every way to find the numeric ID of a Telegram chat, group, channel or user, what the -100 prefix means, and how to avoid the mistakes that break bots.

TGDirectory31 Oct 202619 min read
Bots & Mini AppsHow to Get a Telegram Chat ID, Channel ID or User ID

The quickest way to get a Telegram chat ID is to add your own bot to the chat, send a message there, and read the chat ID from the update the bot receives. For a user ID, the person has to message your bot first, and the ID arrives in that update. Telegram Web and some versions of Telegram Desktop can also show IDs directly, which is handy when you just need one number once.

This guide explains every method, which one fits which kind of chat, why channel and supergroup IDs start with -100, and the small mistakes that make a perfectly good ID look broken.

What a Telegram ID is and why you might need one

Every user, bot, group and channel on Telegram has a permanent numeric identifier. Names change, usernames change, and private chats have no username at all. The number stays the same, which is why software uses it.

You need an ID in a handful of situations:

  • You are building or configuring a bot and it must post to a specific group or channel.
  • A tool asks for a "chat ID" to send alerts, such as a server monitor or a form that forwards submissions to Telegram.
  • You run several groups and want a stable way to refer to each one in a script or spreadsheet.
  • You are moderating and want to record which account did something, even if it later changes its name.

Regular users chatting with friends never need IDs. If you only want someone's username or to share a chat, look at a link instead, which is covered in our invite links guide.

The four kinds of IDs you will meet

Telegram shows IDs in slightly different shapes depending on what they belong to and which interface you use. The Bot API, which is the interface most tools use, follows these patterns:

  • Users and bots have positive numbers.
  • Basic groups (older, small groups) have negative numbers.
  • Channels and supergroups have negative numbers that start with -100.
  • Private chats between a bot and a user use the user's own ID as the chat ID.

Telegram's developer documentation explains the channel rule: the internal channel number is offset by a fixed amount and made negative when shown in the Bot API. In practice that means a channel whose internal number is 1234567890 appears to a bot as -1001234567890. You do not need to do the arithmetic yourself. You just need to recognise the -100 at the front and keep it.

IDs are not secret, but they are not a way to reach someone

A numeric ID is an identifier, not a password. Knowing it does not let anyone log in, read messages or contact a person. On Telegram, a bot can only message a user who has started a conversation with it, and a regular account still needs a username, a shared chat or a saved contact to reach someone. So an ID is safe to keep in your own configuration files.

What you must keep secret is your bot token, the long string @BotFather gives you. Anyone holding the token controls the bot. Several methods below involve the token, so treat it like a password. Our guide to creating a bot with BotFather covers where the token comes from and how to replace it if it leaks.

Before you start

Check these points first. They decide which method will work for you.

  1. Do you own a bot? The most reliable methods use your own bot. If you have none, creating one takes a couple of minutes in @BotFather and costs nothing.
  2. Are you an admin of the group or channel? Adding a bot to a channel requires admin rights. In a group, admins can usually add bots, and members can if the group allows it.
  3. Which device are you on? Phone apps do not show IDs. Telegram Web and Telegram Desktop are the easiest places to read them by hand.
  4. Is the chat public or private? A public channel or group has a username, and for many tasks the Bot API accepts the username instead of the number. Private chats always need the number.
  5. Does your bot already use a webhook? If it does, one of the methods below will not work until you account for it. More on this later.

Method 1: Read the ID from Telegram Web

Telegram Web runs in the browser and puts an identifier for the open chat in the address bar. This is the fastest method if you just need a number once and are already logged in on a computer.

  1. Open Telegram Web in your browser and log in by scanning the QR code with your phone.
  2. Open the chat, group or channel you want.
  3. Look at the address bar. After the hash sign you will see either a username or a number.
  4. If it is a number, copy it. For users it is positive. For groups and channels it is negative.

The catch with channels

Depending on the version of Telegram Web, a channel or supergroup may appear with the -100 prefix or with a shorter negative number that lacks it. Bots need the -100 form. If what you see does not start with -100 and the chat is a channel or supergroup, compare it with another method before you rely on it. A wrong prefix is the most common reason a bot reports "chat not found".

When the address shows a username instead

For public chats the address may show the username instead of a number. That tells you the chat is public, and for sending messages through a bot you can often use the username with an at sign in front of it. If you specifically need the number, use Method 3.

For a broader comparison of the web and desktop apps, see Telegram Desktop vs Web vs mobile.

Method 2: Turn on IDs in Telegram Desktop

Some versions of Telegram Desktop include an experimental option that shows the numeric ID on profile and chat info pages. It lives among the experimental settings in the advanced part of the app's settings, and its exact name and position have changed between versions.

  1. Open Telegram Desktop and go to Settings.
  2. Open the advanced section and look for experimental settings.
  3. If you find an option to show peer IDs in profiles, turn it on.
  4. Open the info page of a user, group or channel. The ID appears among the details, and clicking it usually copies it.

If your version does not have this option, do not install modified builds that promise it. Unofficial clients are a common route for malware and account theft. Use another method instead. Our guide to third-party Telegram clients explains what to look out for.

Desktop may show a channel ID with or without the -100 prefix depending on the format it uses. As with Telegram Web, check it against the bot method before putting it into production.

SponsoredBitcoin Insights67K members · CryptoOpen in Telegram

Method 3: Use your own bot to read any chat ID

This is the method developers rely on, because the ID comes from the same Bot API that will later use it. There is no doubt about the format.

The idea is simple. Telegram stores recent events for your bot as "updates". When someone writes in a chat the bot can see, the update includes a chat object, and that object contains the chat's ID. You can ask for the stored updates by calling the getUpdates method in your browser.

Step by step for a group

  1. Create a bot with @BotFather if you do not have one, and copy its token.
  2. Add the bot to the group. Our guide on adding a bot to a channel or group walks through this on each platform.
  3. In the group, send a command addressed to the bot, such as a slash followed by start and the bot's username, or mention the bot by its username.
  4. On a computer, open a new browser tab. Type the Bot API address, which is api.telegram.org followed by a slash, the word bot, your token with no space after the word bot, another slash, and the method name getUpdates.
  5. Press Enter. The browser shows a block of text in JSON format.
  6. Find the part labelled "chat". Inside it, the value after "id" is the group's ID. The "title" next to it confirms you are looking at the right group.

Why you send a command and not a normal message

By default, bots in groups run in privacy mode. In this mode they receive commands meant for them, replies to their own messages and messages that mention them, but not ordinary chatter. If you type "hello" and then check getUpdates, you may see nothing. Sending a command or a mention avoids that. You can switch privacy mode off in @BotFather if your bot genuinely needs every message, but you do not need to for this task.

Step by step for a channel

Channels work slightly differently because members do not write there, only admins post.

  1. Add your bot to the channel as an administrator. A bot that is merely a subscriber receives nothing. The bot does not need many rights for this; posting rights are enough for most uses.
  2. Publish a post in the channel. Any text will do. You can delete it afterwards.
  3. Call getUpdates as described above.
  4. Look for an update labelled as a channel post. Its chat object holds the channel's ID, starting with -100, plus the channel's title.

Step by step for your own user ID or a private chat

  1. Open a private chat with your bot and press Start, or send any message.
  2. Call getUpdates.
  3. In the update, the "from" section describes the sender. Its "id" is your user ID. The "chat" section for a private chat shows the same number.

The same works for any person who chooses to message your bot. That is the only way a bot learns a user's ID: the person starts the conversation. A bot cannot look up someone who has never interacted with it, which is a deliberate privacy rule.

If getUpdates returns an empty result

An empty list means Telegram has no stored updates for the bot. The usual causes, in the order worth checking:

  1. A webhook is set. If the bot is configured to deliver updates to a server address, getUpdates does not work at all, and Telegram returns an error saying so. Either read the update in your server's logs, or remove the webhook temporarily with the deleteWebhook method and try again. Remember to set it back afterwards if your bot depends on it.
  2. The updates were already collected. If another program is running your bot, it may have fetched and acknowledged the updates first. Stop it, send a new message, and call getUpdates again.
  3. Privacy mode hid the message. Send a command or mention, as explained above.
  4. The bot is not an admin of the channel. Promote it and post again.
  5. Too much time passed. Telegram does not keep unread updates forever. Send a fresh message and check soon after.

Method 4: Read the ID from a message link

Message links carry an ID inside them, which is useful when you can see a chat but cannot easily add a bot to it.

  1. In the group or channel, open the menu on any message and choose to copy its link.
  2. Paste the link somewhere you can read it.
  3. If it is a public chat, the link contains the username followed by the message number. That tells you the username, not the numeric ID.
  4. If it is a private channel or supergroup, the link has the form t.me, then a slash and the letter c, then a number, then the message number. The middle number is the chat's internal ID.
  5. To use it with a bot, put -100 in front of it. A link containing 1234567890 points to a chat a bot would call -1001234567890.

This method gives a reliable channel ID without touching the bot token. It does not work for private chats with users, and basic groups do not offer message links. Copying links is covered in more detail in how to forward Telegram posts, which also explains the other ways to share a message.

Method 5: Ask the bot that already lives in the chat

Many groups already run moderation, welcome or utility bots, and some of these reply to a command with the chat's ID. If you are an admin and such a bot is present, check its help command. This saves adding another bot.

There are also bots whose whole purpose is to tell you IDs. Some are fine, some collect data from every message forwarded to them. The rule of thumb: forward only messages you would be comfortable showing to a stranger, never forward private conversations, and never give any bot your phone number or login code. Our guide to finding Telegram bots safely explains how to judge a bot before you use it. If you already have your own bot, Method 3 is safer, because nothing leaves your hands.

Which method should you use?

Different situations point to different methods. Here is a quick way to decide.

  • You need one ID once and you are on a computer: Telegram Web or the Desktop option.
  • You are configuring a bot for production: your own bot with getUpdates. The format is exactly what the bot will use.
  • You cannot add bots to the chat but you are a member: a message link for private channels and supergroups.
  • You need your own user ID: message your bot and read the "from" section, or check Telegram Web or Desktop.
  • You need another person's user ID: ask them to message your bot. If they do not want to, respect that. There is no legitimate way around their choice.

Worked examples

These examples are illustrations to show the steps end to end. The numbers are made up.

SponsoredKrypto News Insider 🇩🇪64K members · CryptoOpen in Telegram

Example: sending server alerts to a private group

Maria runs a small web shop and wants downtime alerts in a private group with her two colleagues. The monitoring tool asks for a bot token and a chat ID.

  1. She creates a bot in @BotFather and copies the token into the tool's settings.
  2. She creates a private group, adds the bot, and sends a slash-start command with the bot's username.
  3. In her browser she calls getUpdates and finds a chat object with the group's title and an ID of -4012345678. It is negative without -100, so it is a basic group.
  4. She pastes the number into the tool, including the minus sign. A test alert arrives.

A month later the group grows, Maria turns on a feature that only supergroups support, and alerts stop. The group has been converted to a supergroup, and its ID changed. She repeats the steps, finds an ID starting with -100, updates the tool, and alerts resume. The section on group migration below explains why.

Example: a bot that posts to a public channel

Jonas has a public news channel and a bot that posts summaries. Because the channel is public, he configures the bot with the channel's username, including the at sign. That works. Later he makes the channel private to run it as a paid community, and the bot fails. Private channels have no username, so the bot now needs the -100 number. He takes it from a message link, adds -100, and the bot posts again. Our guide on making a channel private or public covers what else changes when you switch.

Example: recording a troublemaker's ID in a large group

A moderator in a busy group wants to log the accounts that break the rules, because spammers often change their names. The group's moderation bot already logs user IDs with each warning, so the moderator copies the ID from the bot's log rather than relying on the display name. If the same account rejoins under a new name, the ID matches. For more on running moderation, see how to stop spam bots in Telegram groups.

Why IDs change when a group is upgraded

Telegram has two group types under the surface. Small groups start as basic groups. When a group grows past a certain size, or when an admin enables features that only supergroups support, Telegram converts it into a supergroup. Members see no difference other than new features.

Bots see a big difference: the supergroup is technically a new chat with a new ID, in the -100 format. The Bot API sends a message to the old chat telling bots the new ID, and further messages to the old ID fail. Anything with the old ID hard-coded stops working.

How to recognise it

  • Your bot starts reporting that the chat was upgraded to a supergroup, or that the chat cannot be found.
  • The old ID was negative without -100, and the problem began after the group grew or changed settings.

How to fix it

  1. Send a new command to the bot in the group.
  2. Call getUpdates and read the new ID, which now starts with -100.
  3. Replace the old ID everywhere you stored it.
  4. If your bot is code you control, handle the migration notice automatically so the next upgrade does not break it. In the Bot API the old chat's message includes a field naming the new chat's ID; store that value when it appears.

Our article on group vs supergroup vs gigagroup explains the differences between the group types.

IDs inside groups with topics

Groups with topics enabled are still one chat with one ID. Each topic is a thread inside that chat, identified by its own thread number. If you want a bot to post into a particular topic rather than the general area, you need both the group's ID and the topic's thread ID.

  1. Make sure the bot can see a message in the topic, for example by sending it a command there.
  2. Call getUpdates.
  3. Look for the message thread ID in the update, next to the chat object.
  4. Configure your tool with the chat ID plus that thread ID.

If the tool has only a chat ID field, its messages go to the general topic. Our guide to topics in Telegram groups explains how topics are organised.

Storing IDs safely in your tools

IDs are long, and that causes problems in places you might not expect.

  • Spreadsheets may convert a long number to scientific notation or round it. Format the column as text before pasting.
  • Some programming languages and JSON parsers handle very large numbers as floating point. Telegram's documentation notes that chat IDs fit in a signed 64-bit integer or a double without losing precision, so storing them as either is safe. Storing them in a 32-bit integer is not.
  • Forms and configuration files sometimes strip the minus sign. A group ID without its minus sign is a different number and will fail.
  • Copying from a phone can add invisible spaces. If a pasted ID fails, retype it.

Write a short note next to each stored ID saying which chat it belongs to. Six months later a list of bare numbers is hard to make sense of.

SponsoredIGaming News1.3K members · NewsOpen in Telegram

Common mistakes

These are the errors behind most "my bot cannot find the chat" problems.

  • Dropping the -100 prefix. A channel or supergroup ID must include it in Bot API calls. Without it, the bot looks for a chat that does not exist.
  • Dropping the minus sign. A group ID copied as positive points nowhere, or at a user.
  • Using a username for a private chat. Usernames only work for public chats. A private channel always needs the numeric ID.
  • The bot is not an admin of the channel. It receives no channel posts and cannot post.
  • A webhook blocks getUpdates. Check your server logs or remove the webhook temporarily.
  • Privacy mode hides group messages. Send a command or mention when testing.
  • Hard-coding a basic group's ID. It changes when the group becomes a supergroup.
  • Confusing message IDs with chat IDs. A message link's last number is the message, not the chat.
  • Pasting the bot token into a public place. If that happens, revoke it in @BotFather straight away and update your tools with the new one.
  • Trying to find a user's ID without their involvement. Bots cannot do it, and that is by design. Ask the person to message your bot.

What to do next

Once you have the ID, the next steps depend on what you are building:

  • If you want a bot to post to your channel on a schedule, set up its admin rights carefully and give it only the permissions it needs.
  • If you are building a Mini App, read our Mini Apps guide in the articles section for how apps identify users through the data Telegram passes at launch.
  • If your bot will sell digital goods, read our guide to bot payments for developers.
  • If you are new to bots in general, what are Telegram bots gives the background.

FAQ

Can I find someone's Telegram user ID from their username?

Not with a bot, unless the person interacts with it. A bot only learns a user's ID when that user messages it, joins a chat where the bot can see them, or interacts with it in some other way. If you need someone's ID for a legitimate reason, ask them to send a message to your bot.

Why does my channel ID start with -100?

That is how the Bot API writes channel and supergroup IDs. Telegram's internal channel number is offset and made negative for bots, and in practice that puts -100 at the front. Keep the full number, including the prefix and the minus sign, whenever a tool asks for a chat ID.

Does a chat ID ever change?

User and channel IDs do not change. A basic group gets a new ID when it is upgraded to a supergroup, which is the most common reason a working bot suddenly stops. Deleting a group or channel and creating a new one also produces a new ID, even if the name is the same.

Can I see chat IDs on my phone?

The official phone apps do not show numeric IDs. Use Telegram Web or Telegram Desktop on a computer, or use your own bot, which you can manage from any device once you know the getUpdates address.

Is it safe to share my chat ID?

Generally yes. An ID is an identifier, and knowing it does not give anyone access to the chat or let them message you. Keep your bot token private, though, because the token is what controls the bot.

Can I use a channel's username instead of its ID?

For a public channel, yes: many Bot API methods accept the username with an at sign in place of the numeric ID. Private channels have no username, so they always need the number. If the channel might become private later, store the numeric ID from the start.

Summary

Telegram IDs are permanent numbers for users, groups and channels. Users have positive IDs, groups negative ones, and channels and supergroups negative ones starting with -100. The most reliable way to get one is through your own bot: add it to the chat, send a command or a post, and read the ID from getUpdates. Telegram Web, a Desktop option and private message links give quick alternatives. Keep the full number including the minus sign and prefix, update stored IDs when a group becomes a supergroup, and never share your bot token. A user's ID is only available when that person chooses to interact with your bot.

AdHow the 30% discount works
Verified
Verified channels

Ownership confirmed through our claim process — not an endorsement of their content.

  1. Pavel DurovOwner verified
    @durov·News·10M members

    Founder of Telegram.

    ★ 5.0(2179)
  2. Telegram NewsOfficial channel
    @telegram·News·9.1M members

    The official Telegram on Telegram. Much recursion. Very Telegram. Wow.

    ★ 5.0(2879)
  3. Telegram PremiumOfficial channel
    @premium·News·6.3M members

    Telegram Premium – a subscription that unlocks dozens of exclusive features.

    ★ 4.6(1283)
  4. Binance AnnouncementsOfficial channel
    @binance_announcements·Crypto·3.2M members

    Binance Official English Group Binance Official Chinese Group Binance English Announcements Binance Chinese Announcements

    ★ 4.0(450)
Directory
The Crypto Channel Directory
List Your Channel, Group or Bot/MiniGame
  1. Crypto ResearchOfficial channel
    @cryptoresearch·Crypto·53K members

    is a modern crypto news and research platform covering the latest developments across digital assets, markets, regulation, and blockchain technology.

    ★ 4.5(553)
  2. Charts Signals TradingOfficial channel
    @ChartsSignalsTrading·Trading·105K members

    Technical analysis & high-probability trade setups. Price action, market structure, risk control.

    ★ 4.8(1865)
  3. Black Block MarketsOfficial channel
    @BlackBlockMarkets·Crypto·70K members

    BlackBlock Markets exists to observe how capital moves before it becomes obvious.

    ★ 4.4(1369)
  4. Only FinanceOfficial channel
    @OnlyFinance_Pro·Finance·80K members

    This channel focuses exclusively on what shapes global finance. Macroeconomics, markets, liquidity, central banks.

    ★ 4.1(1245)
  5. Bitunix Trading Signals
    @Bitunix_Trades·Trading·67K members

    Clear long & short signals for BTC, ETH & liquid altcoins. AI-backed analysis, real-time execution.

    ★ 4.4(220)
Explore the directory→
More from the blog
Privacy & SafetyHow to Recover Deleted Messages on TelegramPrivacy & SafetyHow to Recover Deleted Messages on TelegramWhat Telegram's delete options actually remove, which copies survive on your other devices, local caches and exports, and what is gone for good.12 Nov 2026Bots & Mini AppsHow to Use Telegram Bots to Send Automatic RepliesBots & Mini AppsHow to Use Telegram Bots to Send Automatic RepliesSet up Telegram automatic replies the right way: built-in Business greeting, away and quick replies, or a custom BotFather bot with menus, keyword answers and handoff.11 Nov 2026Getting StartedHow to Use Telegram Saved Messages as a Personal CloudGetting StartedHow to Use Telegram Saved Messages as a Personal CloudWhere Saved Messages sits on each Telegram app, how to save and organise notes and files there, and what it does not protect.10 Nov 2026Getting StartedHow to Search Messages in a Telegram Chat or ChannelGetting StartedHow to Search Messages in a Telegram Chat or ChannelFind a specific past message, link, photo or file inside a Telegram chat or channel on phone or desktop, using search filters, hashtags and date ranges.9 Nov 2026Getting StartedTelegram Web Preview of Channels ExplainedGetting StartedTelegram Web Preview of Channels ExplainedWhat a t.me/s link is, how to read a public Telegram channel in a browser without joining, and how to embed a single post.8 Nov 2026Getting StartedHow to Transfer Telegram Chats to a New PhoneGetting StartedHow to Transfer Telegram Chats to a New PhoneA step-by-step guide to moving Telegram to a new Android phone or iPhone: what returns from the cloud, what stays behind, and the order of steps before wiping the old device.7 Nov 2026
View all articles→
List Your Channel, Group or Bot/MiniGame

Discover

  • View all Telegram Channels
  • Categories
  • Best Telegram Channels
  • Crypto Channels 2026
  • Top Rated
  • Recently Added
  • Articles & Guides
TGDirectory

The most comprehensive Telegram channel directory. Discover the best channels, groups and bots in one place.

Contact: contact@telegramchannels.io

Explore
DirectoryCategoriesRankingsNew ChannelsInsightsTelegram Trading SignalsFree Crypto Signals Telegram ChannelsBitcoin Telegram ChannelsCrypto Exchange Telegram ChannelsCrypto News Telegram Channels
Company
AboutAdvertiseArticles & GuidesContact UsSubmit a ChannelDevelopers & APIFAQ
Legal
Privacy PolicyTerms of ServiceDisclaimer
© 2026 TGDirectory. All rights reserved.TGDirectory is an independent directory and is not affiliated with or endorsed by Telegram.
Report a problem→