Resolve any public Telegram @username to its permanent numeric ID. Just paste a public @username to look up the user, bot, channel or group ID, type and title — instantly, free, and no bot token needed.
Paste any public @username — a user, bot, channel or group (or a full t.me/name link) — and we resolve it to its permanent numeric ID, type and title, with no bot token. Unlike a plain bot lookup, this resolves personal users too — the only accounts we can’t find are ones with no public @username at all.
Any public @username resolves — users, bots, channels and groups alike. Only accounts with no public username stay private. Building a bot? Create a free TeleCrow bot — no code, hosting included.
New to chat IDs? Our getting the chat ID for your bot guide explains every ID type in plain language. Ready to build? Create a free TeleCrow bot — no code, hosting included.
The only accounts that can’t be resolved above are ones with no public @username at all (and genuinely private channels or groups). To get their numeric ID with no bot token:
Just enter the public @username above — we resolve it server-side (no bot token) to the permanent numeric ID, chat type and name. It works for any public account: users, bots, channels and groups.
Telegram does not expose a private account’s numeric ID through getChat — there has to be a prior interaction. If the person has no public @username, ask them to message your bot and read their ID from getUpdates, or forward one of their messages to a bot like @userinfobot. See the manual method above.
No. We resolve public @usernames for you server-side, so you just paste the handle — no token, no setup. It works for users, bots, channels and groups alike; only accounts with no public @username stay private.
Yes — as long as they have a public @username, this tool resolves a personal user’s numeric ID just like a channel or bot. A plain bot can’t do that, but we resolve it for you server-side. The only accounts we can’t find are ones with no public username at all.
No. A Telegram user, bot, channel or group ID is permanent for the lifetime of the account, even if the @username is later changed or removed. That makes the numeric ID the reliable identifier to store in your bot.
It is completely free with no sign-up, login, email or bot token required — just paste a public @username and look up the ID. There are no usage caps for normal use beyond Telegram’s own rate limits. You only need a TeleCrow account if you later want to build and host a bot, not to use this converter.
Channels and supergroups use a numeric ID prefixed with -100, for example -1001234567890. The leading minus marks it as a chat (not a user), and the 100 prefix distinguishes supergroups and channels from older basic groups. When you call the Bot API you pass the full -100… value as the chat_id; this tool returns the ID in that ready-to-use form.
Telegram returns “Bad Request: chat not found” when getChat can’t see that @username: it doesn’t exist, was typed wrong, was recently changed, or belongs to a private account with no public link. Double-check the exact spelling (usernames are case-insensitive but must match) and confirm the account is actually public. Private users can’t be resolved this way — use the getUpdates method described above.
Not from its @username, because a private channel or group has no public username to resolve. Add your bot to the chat as a member or admin, then read the chat ID from an incoming update (getUpdates) or by calling getChat with the numeric ID once you have it. The numeric ID, not the invite link, is what you store in your bot.
getMe and getChat are Bot API calls you’d make from your own bot: getMe returns your bot’s own identity, and getChat returns a chat your bot can already see. This tool uses neither — it resolves the @username you enter through TeleCrow’s MTProto resolver server-side, so no bot or token is involved.
Telegram applies broad per-bot rate limits (roughly 30 messages per second overall, with tighter per-chat limits), and read-only calls like getChat count toward them. For one-off lookups in this tool you’ll never hit them. If you script bulk username resolutions, space the calls out and cache the numeric IDs, since they never change.
Create, host and manage Telegram bots without writing code — start on the free plan.