Telegram Link Generator
A Telegram link generator builds the addresses that open Telegram at a specific place: a channel, a group, a person, a bot, or one particular post. Every such address exists in two forms — a t.me web link that anyone can open, and a tg:// deep link that goes straight to the app. The t.me form is a web page that hands off to the app, so it works for someone who has not installed Telegram yet. The tg:// form addresses the app directly and does nothing without it. Which one you want depends on where the link is going, so this tool produces both and says what each will do. It also builds the parts that are easy to get wrong by hand: URL-encoded prefilled messages, bot start payloads inside Telegram’s 64-character limit, and a QR code drawn in your browser rather than by a service that may not outlive the poster it is printed on.
- Both forms, explained. Web link and deep link side by side, each with a plain sentence about what actually opens — including what happens when Telegram is not installed.
- QR without a middleman. Drawn in this tab and downloadable as PNG or SVG. No shortener sits between your poster and your channel.
- Reads links, too. Paste a link from an advertisement and see the target and the payload it carries. Useful before you agree to run it.
The parts people get wrong
- The 64-character start payload
- Telegram accepts only letters, digits, underscores and hyphens, up to 64 characters. Readable tracking values do not fit, so this packs them into base64url and reads them back — you can check a link before it goes on a poster.
- Invite hashes and phone numbers look alike
- Both start with a
+after the domain.t.me/+919876543210is a phone number;t.me/+AbCdEf123is a private invite. The reader tells them apart. - Encoding the prefilled message
- Spaces, ampersands and question marks in a
?text=parameter break the link quietly — the chat opens with half the sentence. Encoding is done here.
Build a Telegram link
A public channel, with a Join button.
Your links
https://t.me/durovchannelSafe to put in front of anyone: it opens a web page that hands off to the app, so people without Telegram installed still land somewhere.
tg://resolve?domain=durovchannelOpens the installed app directly, skipping the web hop. It does nothing at all when Telegram is not installed, so use it inside your own app rather than in public posts.
What opens: The channel @durovchannel, with a Join button for anyone who is not a member. Public channels only — private ones need an invite link.
<a href="https://t.me/durovchannel" target="_blank" rel="noopener">Open in Telegram</a>Drop this into a site or an email.
QR code
Generated in this tab from the web link, so it keeps working for people without the app. Nothing is sent to a QR service.
Read a link
Paste any Telegram link — from an ad, a partner, a competitor — and see what it actually points at and what payload it carries.
Which link belongs where
One tool covers every target, because they differ only in the shape of the address: a Telegram group link generator and a channel one produce the same username form, a Telegram bot link generator adds a start payload, a Telegram share link generator builds the forward sheet, and the Telegram QR code generator draws whichever of them you settled on.
For anything the public will see — a post on another platform, an email, a printed code — use the t.me form. Some of the people who click it will not have Telegram, and the web page handles them; a tg:// link silently fails for exactly that group, which is the group you were hoping to convert. Inside your own mobile app, or in a message sent to people who are already using Telegram to read it, the deep link is better: it skips the browser hop and the page flash. Both are produced above so you can take the right one rather than the one you happened to copy.
Telegram link not working? What to check
Six things account for nearly every broken Telegram link, and the app rarely says which one you have hit.
- The username changed or was released. Telegram usernames are not permanent. A link to a name its owner has given up simply fails, and someone else may now hold it — which is worth knowing before you print it.
- The chat is private. A private group or channel has no username, so it has no
t.me/nameaddress at all. The only way in is an invite link, which an admin can revoke. - The invite link was revoked. Revoking one breaks it for everyone who has not used it yet, silently. Links generated for a limited number of uses expire the same way.
- A
tg://link where the app is not installed. The deep-link form does nothing at all without Telegram, and many platforms refuse to make it clickable in the first place. Use thet.meform anywhere the public sees it. - The prefilled message was not URL-encoded. A space, an ampersand or a question mark inside
?text=truncates the message or breaks the link outright. The generator above encodes it for you. - The start payload is invalid. Telegram accepts only letters, digits, underscores and hyphens, up to 64 characters. Anything else — a space, a colon, an equals sign — and the parameter is dropped, so the bot never learns where the person came from and nothing visibly fails.
The reader at the bottom of this page tells you which case you are in for any link you paste: whether it addresses a username or an invite hash, and what payload it carries.
Tracking where subscribers came from
Channel links cannot carry a tracking parameter — Telegram ignores anything extra on t.me/yourchannel, and the channel has no way to see it. Bot links can: the start payload arrives with the first message, before the person has typed anything, so the bot knows which advertisement produced them. That is why growth funnels that need attribution route through a bot rather than straight to the channel, and why the bot then offers the channel link. If you are paying for placements and cannot tell which one worked, this is the mechanism you are missing.
Reading a link before you agree to run it
An advertiser sends a link and a price. The link tells you more than the pitch does: whether it goes to a channel or to a bot, whether it carries a campaign payload, and whether the destination is public at all. A link into a private invite means you cannot check what you are sending your audience into. Paste it into the reader above — it works on both link forms and on shortened forms that still resolve to a Telegram address.
Telegram links — questions
- How do I create a link to my Telegram channel?
- A public channel is reachable at t.me/yourchannel, using the username set in the channel settings. Enter the name above and you get that link plus its tg:// twin. A private channel has no username and so has no address of this kind — the only way in is an invite link generated inside the app, which an admin can revoke later. If your channel has no username yet, adding one in Channel Settings turns it public and gives it a permanent link.
- What is the difference between a t.me link and a tg:// link?
- A t.me link opens a web page that then hands off to the Telegram app. Someone without Telegram installed still lands on a page that tells them what they found and offers the app — nothing is lost. A tg:// link addresses the app directly and skips the web hop, which is faster and avoids the browser flash, but it does nothing at all if the app is missing and many places refuse to make it clickable. Use t.me anywhere the public can see it; use tg:// inside your own app or in a QR code aimed at people you know already have Telegram.
- Should I use t.me or telegram.me?
- They are the same service on two hostnames, and either works for a normal visitor. The short one is what people recognise, so it is the default here. The long one matters in specific places: the short domain is blocked or fails to resolve on some corporate networks, at several hosting providers, and in a few regions — so a link that will be fetched by a server, a scraper or a monitoring job is safer written out in full. This is switchable above rather than decided for you.
- How does a Telegram bot start parameter work?
- A link of the form t.me/yourbot?start=abc123 opens a chat with a Start button, and pressing it sends /start abc123 to the bot before the user types anything. That payload is how a bot knows where someone came from — which advertisement, which partner, which referrer. Telegram limits it to 64 characters of letters, digits, underscores and hyphens, which is why the attribution option above packs source, campaign and tag into base64url first. Use ?startgroup= instead of ?start= when the link is for adding the bot to a group.
- Can I put a message in the link so it is already typed?
- Yes, with ?text= on a user, group or phone link. The recipient sees the message waiting in the input box and still has to press send — Telegram never sends anything on someone's behalf, which is the right design and the reason the parameter is safe to use. The text has to be URL-encoded, which is done here automatically; hand-writing it is where the spaces and ampersands usually go wrong.
- How do I make a QR code for my Telegram channel?
- Enter the channel above and the QR code appears next to the links; PNG and SVG are both downloadable. It encodes the t.me web link rather than the tg:// one, deliberately: a scanner belonging to someone without Telegram installed still reaches a real page instead of silently doing nothing. The code is drawn in this browser tab, so the link is not sent to a QR service — which also means the image will keep working after any such service disappears, unlike a shortened one.
- How can I tell where somebody else's Telegram link points?
- Paste it into the reader at the bottom of the page. It reports the kind of target — channel, bot, post, invite, phone — the username, the message number if there is one, and the start payload if the link carries one. This is the practical use for anyone buying advertising: a link in a promo tells you which bot it feeds and what campaign tag the advertiser is attaching to your audience.
- Why is my Telegram link not working?
- Six causes cover nearly all of them. The username was changed or released — Telegram usernames are not permanent. The chat is private, so it has no username to address at all. An invite link was revoked, which breaks it for everyone who has not used it yet. A tg:// link was used where Telegram is not installed, in which case it does nothing at all. The prefilled ?text= was not URL-encoded, so a space or an ampersand truncated it. Or the start payload contains a character outside letters, digits, underscore and hyphen, in which case Telegram drops it silently and the bot never learns where the person came from.
- Do these links expire?
- Username links do not: t.me/yourchannel keeps working as long as the username is yours, and stops if you release or change it. Invite links to private groups are different — an admin can revoke one at any time, and a revoked link fails for everyone who has not used it yet. If a printed QR code needs to work for a year, base it on a username rather than an invite link.
Writing the message the link opens with? The formatter handles the escaping. Sizing up the channel on the other end? The channel checker reads its subscriber and view numbers. Everything else is on the tools hub.