Channel post link parser

Paste any Telegram post link and we'll break it down — channel, message ID, post type, and an embed preview. Works on public channels, private channels (via t.me/c/ URLs), comment threads, and topic replies.

Telegram post URL formats

t.me/channel/123Public channel, message 123 — anyone can open it.
t.me/c/1234567/123Private channel (the long number is the internal channel ID stripped of the -100 prefix). Only members can open.
t.me/channel/123?singleForces single-message view, hides the gallery if the post is an album.
t.me/channel/123?thread=42Jumps to a specific reply thread inside the comments (supergroup-linked channels).
t.me/channel/42/123Forum topic: 42 is the topic ID, 123 is the message inside it.
t.me/+invitehashNot a post link — that's an invite. Use the deep link builder to construct invites.

Reconstructing the numeric chat_id

The Bot API uses negative chat IDs prefixed with -100 for supergroups and channels. From a t.me/c/1234567/123 URL:

For public channels (t.me/channel/123), the username is channel — resolve it via Get Telegram ID to get the numeric chat_id.

Embedding posts on a website

Telegram exposes a public widget. Drop this into your HTML:

<script async src="https://telegram.org/js/telegram-widget.js?22"
        data-telegram-post="durov/123" data-width="100%"></script>

The widget renders an embed-card with the post text, media, and a "Show this message" link back to Telegram. Works on any HTTPS site.

Related tools