Skip to content

Instantly share code, notes, and snippets.

@mraaroncruz
Last active April 23, 2026 01:32
Show Gist options
  • Select an option

  • Save mraaroncruz/e76d19f7d61d59419002db54030ebe35 to your computer and use it in GitHub Desktop.

Select an option

Save mraaroncruz/e76d19f7d61d59419002db54030ebe35 to your computer and use it in GitHub Desktop.
Get the Telegram channel ID

To get the channel id

  1. Create your bot with botfather
  2. Make you bot an admin of your channel

Simplest way (via @anhtuank7c)

Go to Telegram web and open a channel, get the ID from -[channel id] from hash in the path

https://web.telegram.org/k/#-9999999999999

-9999999999999 is the channel ID.

Link to suggestion

(DEPRECATED) New improved next steps

  1. Go to https://web.telegram.org
  2. Click on your channel
  3. Look at the URL and find the part that looks like c12112121212_17878787878787878
  4. Remove the underscore and after c12112121212
  5. Remove the prefixed letter 12112121212
  6. Prefix with a -100 so -10012112121212
  7. That's your channel id.

Old yucky next steps

  1. Make your channel public
  2. Create a public link
  3. Send a message from console to @[your_public_link_text]
  4. Copy chat id from response in console as the channel id
@syntaxhacker
Copy link
Copy Markdown

much easier way .. forward a message from that channel to this @JsonDumpBot bot
image
can voila there's your ID

@rajesh457
Copy link
Copy Markdown

@crystalbit I found an alternative way in the meantime.

  1. Go to https://web.telegram.org
  2. Click on your channel
  3. Look at the URL and find the part that looks like c12112121212_17878787878787878
  4. Remove the underscore and after c12112121212
  5. Remove the prefixed letter 12112121212
  6. Prefix with a -100 so -10012112121212
  7. That's your channel id.

Soooo stupid, but it is very quick and it works.

Thank you so much

@seupedro
Copy link
Copy Markdown

Telegram Channel ID from @JsonDumpBot

You can simply forward a message to @JsonDumpBot.

The bot dumps a complete json of all request that he receives.

NOTE: I'm not affiliate and it's not my bot.

@reasje
Copy link
Copy Markdown

reasje commented Feb 17, 2021

much more easier way - to write public username to https://t.me/username_to_id_bot and then easily get the id in response

Thanks , worked for me !

@OtenMoten
Copy link
Copy Markdown

OtenMoten commented May 7, 2021

much easier way .. forward a message from that channel to this @JsonDumpBot bot
image
can voila there's your ID

Yo bro I donate 5 BAT to you because you save me a lot of lifetime.

@mansourcodes
Copy link
Copy Markdown

much more easier way - to write public username to https://t.me/username_to_id_bot and then easily get the id in response

Thanks

@NeihTzxc
Copy link
Copy Markdown

can't use this way anymore, do you have any other way?

@OtenMoten
Copy link
Copy Markdown

much more easier way - to write public username to https://t.me/username_to_id_bot and then easily get the id in response

Thanks

@NeihTzxc use this method.

@ttodua
Copy link
Copy Markdown

ttodua commented Jul 22, 2021

@talhazan
Copy link
Copy Markdown

much easier way .. forward a message from that channel to this @JsonDumpBot bot
image
can voila there's your ID

ty man!

@rfwn
Copy link
Copy Markdown

rfwn commented Nov 8, 2021

what if i had a channel id and wanted to get the channel link?

@mraaroncruz
Copy link
Copy Markdown
Author

I still stand by my original solution above where you just have to remove a -100 from a number in a URL.

It feels a bit over-engineered to use a chatbot 🀷

@mraaroncruz
Copy link
Copy Markdown
Author

lol and there are three JsonDumpBots. The one that seems to work is the one with the dumptruck icon. But I wouldn't forward them anything sensitive :D :D :D :D :D

@ayy-em
Copy link
Copy Markdown

ayy-em commented Jan 15, 2022

just wanted to say @syntaxhacker is da MVP for that bot link

@myfingerhurt
Copy link
Copy Markdown

Just right click on channel post and select Copy Post Link, you will get something looks like to this
https://t.me/c/123456789/137

Then do -100 + 123456789 = -100123456789 is your Channel id.

image

@ImGegio95
Copy link
Copy Markdown

the solution doesn't work now. How can I find chat_id now?

@wonbinbk
Copy link
Copy Markdown

wonbinbk commented Feb 2, 2023

Thanks everyone, from this thread, I found 2 ways that work:

  1. Using web.telegram.org, and click on the channel, the URL will be something like: https://web.telegram.org/z/#-1782626220, the channel id is -1001782626220
  2. Forward a message from that channel to @username_to_id_bot, it will reply with the channel id.

@lifeeric
Copy link
Copy Markdown

lifeeric commented Feb 15, 2023

https://stackoverflow.com/questions/33858927/how-to-obtain-the-chat-id-of-a-private-telegram-channel/75456341#75456341

from telethon.sync import TelegramClient, events
client = TelegramClient("bot", API_ID, API_HASH)


channel_name = "channel username"
channel = client.get_entity(channel_name)
print(f'πŸ‘‰ Channel ID: {channel.id}')

client.start()
client.run_until_disconnected()

@anurag210
Copy link
Copy Markdown

Well I’ve channel id but how can I find it’s channel joining link to join

@supercrazysam
Copy link
Copy Markdown

Remember to make your bot admin in your channel, otherwise none of this shit above will work

@ImArghya7
Copy link
Copy Markdown

How to send a DM to someone using Telegram Chat ID?
If someone's Username is John then the chat URL will be https://t.me/John
So, if someone's Chat ID is 12345 then what will be the Telegram chat URL?

@NabilHunt
Copy link
Copy Markdown

When I tried this few days ago there seems to be some changes:
link of the channel for ex: https://web.telegram.org/a/#-1001859733654

With the channel ID being what comes after "#"

@ErShakirAnsari
Copy link
Copy Markdown

much easier way .. forward a message from that channel to this @JsonDumpBot bot image can voila there's your ID

thanks

@anhtuank7c
Copy link
Copy Markdown

@crystalbit I found an alternative way in the meantime.

1. Go to https://web.telegram.org

2. Click on your channel

3. Look at the URL and find the part that looks like `c12112121212_17878787878787878`

4. Remove the underscore and after `c12112121212`

5. Remove the prefixed letter `12112121212`

6. Prefix with a `-100` so `-10012112121212`

7. That's your channel id.

Soooo stupid, but it is very quick and it works.

I just need to go to Telegram web and open a channel, id from -number

https://web.telegram.org/k/#-9999999999999

-9999999999999 is the channel id.

@mraaroncruz
Copy link
Copy Markdown
Author

Cool, looks like they updated their webapp. I'll update the original. Thanks for an actually useful new way @anhtuank7c

@kiarashjv
Copy link
Copy Markdown

kiarashjv commented Mar 19, 2024

The solution I used is to forward a message from my channel to @get_id_bot and it returns the id. Beside that, you could set a log in your bot and forward a message from private channel to it and in terminal you could see the id. The web telegram solution worked too but I think @get_id_bot is easier and the log method is safer if you want to keep your chat id private for any reason.

@anhtuank7c
Copy link
Copy Markdown

@kiarashjv I agreed with you about use @get_id_bot is convenient but I don't think web telegram expose your channel id so it still safe.

@mraaroncruz
Copy link
Copy Markdown
Author

while @get_id_bot exposes the channel ID to a random bot

@anhtuank7c
Copy link
Copy Markdown

@mraaroncruz you got the point 😎

@kiarashjv
Copy link
Copy Markdown

kiarashjv commented Mar 20, 2024

@mraaroncruz yeah, as I said it depends on you want to keep your ID private or not πŸ˜…

in total I think forwarding a message to your own bot is better because as I understand the method of extracting ID from web might change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment