Telegram link generator: t.me and tg:// links
Ten link types, one page. Choose what the link should do, fill in a username or an address, and copy both forms Telegram documents: the t.me address that works anywhere and the tg:// one that opens the app directly.
The plain username link. Works for a person, a group or a channel — anything with a public handle.
Waits in the input field when the chat opens. Nothing is sent until the person taps Send.
Your link
Fill in the fields above and the link appears here.
Example https://t.me/my_channel
Invite links to private groups and channels are missing here on purpose. A link of the plus form ends in a hash that Telegram's servers generate when you create the link inside the app, so it cannot be built from a chat ID or guessed from outside. Make it in the chat's Invite links screen instead.
Almost every Telegram link is a plain address you could type by hand. The problem is that there are about a dozen of them, each with its own shape, and only one of those shapes carries the thing worth having: a value that tells you where a person came from.
What the ten types actually do
Username links are the simple case. t.me/name opens a person, a group or a channel with a public handle. Telegram also serves the same target from name.t.me, and the app-side equivalent is tg://resolve?domain=name. There is nothing to generate — but pasting a whole URL into the field above will strip it back to the handle for you. Add a message and the link becomes t.me/name?text=Hi: Telegram pre-enters the text into the input field when the chat opens, and nothing is sent until the person taps Send. It is the Telegram equivalent of a WhatsApp click-to-chat link, and the tool percent-encodes the text for you.
Bot deep links are the useful case. t.me/your_bot?start=airplane opens the bot with a Start button, and pressing it sends the bot /start airplane. The payload is yours to define: a campaign name, a referrer id, a product code.
Group links — t.me/your_bot?startgroup — open a group picker and add the bot to whichever group the person chooses. With a payload the bot also receives that value once it is in. Which rights the bot then needs, and why privacy mode makes a quiet bot look broken, is the subject of adding a bot to a Telegram group.
Mini App links come in two shapes. With a short name, t.me/your_bot/shop?startapp=promo42 opens that specific app; without one, the same link opens the bot’s main Mini App. The startapp value reaches the app as its start parameter.
Share links — t.me/share/url?url=…&text=… — open a chat picker with your address and text already typed. Both values must be percent-encoded, which is the single most common way a share button breaks: an unencoded & inside the shared URL ends the parameter and Telegram receives half a link.
Phone links (t.me/+34600123456) open a chat by number instead of by username, and resolve only if the other person’s privacy settings allow being found by phone. They take the same pre-typed message: t.me/+34600123456?text=….
Post links address one message: t.me/name/1234 in a public channel, t.me/c/1234567890/45 in a private one. The private form takes the chat id without the -100 prefix that the Bot API adds — the tool strips it for you.
Preview links — t.me/s/name — open the page Telegram itself serves for a public channel: the posts, readable in a browser with no account and no app. It is the «Preview channel» button on every public channel’s t.me page, made copyable. Groups, private channels and the odd public channel Telegram declines to preview have no such page; the address then falls back to the ordinary profile. Inside the app there is no preview to speak of — the app link simply opens the channel.
Embed code is not a link at all but the script Telegram’s widget page hands out for one post in a public channel: <script async src="https://telegram.org/js/telegram-widget.js?1" data-telegram-post="name/1234" data-width="100%"></script>. Paste it into a page and the post renders there, text, media and view counter included. The only option this tool exposes is the page’s dark theme; author photo and accent colour stay at Telegram’s defaults.
One note about the host. Every link on this page is written with t.me, because that is the host Telegram documents and the one readers recognise — and it is exactly what the copy button hands you. The Open button beside it points at telegram.me instead: the same link reference lists telegram.me as an alternative name for t.me, so it is the same destination, and we have seen t.me fail to resolve in a browser often enough that a preview button using it would dead-end. Publish the t.me form; the button is only for checking your own link.
Payloads are the whole point
A link without a payload tells you nothing. A link with one turns every place you publish into a separate, measurable door: one payload on your website button, another in a bio, a third in a partner’s post. The bot sees which door opened before it says a word, so the first message can already differ — a returning buyer and a cold reader do not need the same greeting.
That is also where the payload stops being an analytics detail and starts being a funnel. The message that follows Start is the highest-attention moment a bot ever gets, and a welcome sequence with delays and conditions does considerably more with it than a single greeting.
Two practical limits. Sixty-four characters is not much once you concatenate a campaign, a source and a date, so pass a short key and keep the real record on your side. And the allowed set is narrow — letters, digits, underscore and hyphen — so no spaces, no equals signs, no slashes, and no Cyrillic or emoji. Telegram’s own recommendation is to base64url-encode anything else.
The link this tool will not make
Invite links to private chats — the ones that look like t.me/+AbCdEf… — cannot be generated here or anywhere else outside Telegram. The trailing hash is created by Telegram’s servers at the moment an admin exports the link, and it is what grants access. A page that offers to build one for a channel you merely name is guessing at random or collecting your data. Make invite links in the chat itself, where you can also set an expiry date, a member limit and join requests.
After the link opens
The link is transport. What decides whether it was worth publishing is what the reader meets one second later — a bot that answers, a catalogue that loads, a subscription they can actually buy without leaving the chat. That is the part a Telegram storefront covers: products, digital downloads, channel subscriptions and paid posts behind the same bot the deep link opens. Under Telegram’s rules digital goods are paid for in Stars; physical goods can take cards.
Sources, checked September 2026: Telegram’s deep linking documentation for the 64-character start parameter, its allowed characters and the bot username rules; the t.me and tg:// link reference for every format above, including the private post and share syntax; the Telegram FAQ for the username character set and the phone-number link. Rules the documentation does not state — a minimum username length outside bots, or a length limit for Mini App short names — are not enforced by this tool.
What people usually ask
- How do I create a Telegram link to my channel?
- If the channel has a public username, its link is t.me followed by a slash and the username — nothing else is needed and nothing has to be generated. Pick the first option above, paste the username or an existing link, and copy the result. If the channel is private it has no username, and the only way in is an invite link created inside Telegram.
- What is a Telegram deep link?
- A bot link that carries a value. Adding a start parameter to a bot link means the bot receives that value together with the Start command, so it can tell a reader who came from Instagram from one who came from a partner channel, or open the exact product a link was made for.
- How long can the start parameter be?
- Up to 64 characters, and only Latin letters, digits, underscore and hyphen. Telegram recommends base64url for anything that is not already plain text. If you need to pass more than that, pass a short key and keep the real payload in your own database against that key.
- Can I generate an invite link for a private channel?
- No, and neither can any other site. The hash at the end of an invite link is issued by Telegram's servers when the link is created by an admin inside the app or through the Bot API. Any page offering to generate one for a chat you name is either guessing or phishing.
- What is the difference between a t.me link and a tg:// link?
- The first is an ordinary web address, so it survives being pasted into a browser, an email, a QR code or an ad. The second is a scheme handled only by the installed Telegram app: it opens instantly with no redirect page, and does nothing at all on a device without Telegram. Publish the web one, use the app one inside apps you control.
- Why does my bot ignore the payload in the link?
- Three causes, and the one people usually suspect is not among them: Telegram's link reference states that a start parameter replaces the input bar with a Start button even if the person has already started the bot, so a repeat visitor is not the explanation. What is: the value travels only when that button is pressed, so anyone who reaches the bot from search and types /start by hand sends a bare command. Or the payload holds a character outside the allowed set, or runs past 64 characters, and the client drops the parameter rather than passing it on. Or the bot receives the value and loses it itself — it arrives as an argument on the start message, so a handler that matches the exact text /start never sees the word after it.
- Can a Telegram link open a chat with a message already typed?
- Yes, for username and phone links: add `?text=` with the message, percent-encoded. Telegram pre-enters it into the input field when the chat opens, and the person still has to tap Send: nothing goes out on its own. Pick the first or the phone option above, fill in the message field and the tool encodes it. The text needs a chat the person can write in, so a channel link has nowhere to put it, and it is not the share link, which opens a chat picker instead.
- Can I get a QR code for a Telegram link?
- Yes — every result has a QR button, and the code can be saved as a PNG. It encodes the web link, not the tg:// one: a phone without Telegram cannot open a tg:// scheme, while t.me redirects everywhere, which is exactly what the web form is for. The picture is drawn in your browser; nothing is uploaded.