Logo

MonoCalc

/

Telegram Link Generator

Social Media
A link to an account, group or channel that has an @username.
With or without the @. Pasting a full t.me address works too — the handle is pulled out of it.

Your link

Enter a username, with or without the @.

Fill in the fields above and the link, its breakdown and a QR code appear here.

About This Tool

Telegram Link Generator – One Host, Five Different Links

Almost everything Telegram exposes to the open web lives behind a single host, t.me. A profile, an account that has no username, a message inside a channel, a bot that should start with a parameter and a share sheet are five different shapes of path and query string on that one host — which is exactly why they are so easy to get wrong by hand. This Telegram link generator builds each shape from the pieces you type, shows the finished URL broken into labelled segments, and renders it as a QR code, all in your browser.

The five link shapes

A profile link is the simplest: the handle is the whole path, as in https://t.me/durov. A phone number link is for accounts that never set a username and takes the form https://t.me/+15551234567 — the plus is part of the path and everything after it is digits, with no spaces, brackets, dashes or leading 00. A channel post link adds the message id as a second path segment, https://t.me/durov/123, and dropping the id points at the channel itself. A bot start link moves into the query string: https://t.me/examplebot?start=ref_abc carries a payload the bot receives when the chat opens, and the group variant uses startgroup in place of start. A share link points at Telegram's own share endpoint with your page and message as percent-encoded parameters.

What actually goes wrong

The common failures are small and silent. A phone number copied from a contact card arrives as +44 20 7946 0958 and has to be reduced to digits. A number written with the international access prefix0044 needs that 00 dropped, because the + in the path is what replaces it. A handle is pasted as a whole address rather than typed, so the tool accepts https://t.me/name, t.me/name and @name and pulls the handle out of each. A bot link written by hand ends up with a dangling ?start= when the payload is empty — here an empty payload simply produces the plain bot link.

Payloads themselves are the other trap. A start payload is documented as a restricted set of characters, so a referral code containing spaces or punctuation cannot travel as typed. The Base64URL option converts your text into letters, digits, hyphen and underscore, and shows both the raw and the encoded form so you can tell the bot's author which one it will receive.

Formatted is not the same as working

This page is a static site with no backend, so it never contacts Telegram. It tells you that a link is correctly formatted — the characters are legal for a t.me path and the parts are in the right order — not that the account, channel or bot on the other end exists. A perfectly formed link to a handle nobody owns is still perfectly formed, so open a generated link once yourself before it goes on a poster.

Why there is no tg:// output
Telegram's custom tg:// scheme is undocumented or lightly documented and differs between Telegram Desktop, iOS and Android. Those parameter names could not be checked when this tool was built, and a deep link that silently does nothing is worse than no deep link, so none is produced. The https://t.me/ form is the one Telegram publishes anyway.

Safety and encoding

Every generated URL is assembled through the browser's own URL and URLSearchParams objects rather than by joining strings, so an ampersand or a question mark in your message cannot end one parameter and start another. In the share mode, the page you paste is checked against an allowlist of http: and https: before anything is built, which is why a javascript: or data: address produces no output at all, and the address you paste is echoed back as plain text rather than as something clickable.

Putting the link to work

Copy the URL for a link-in-bio field or a button, copy the ready-made HTML anchor when it is going into a page, or download the QR code for print. The segment breakdown under the link is worth a glance before you publish: it names every part of the URL and where that part came from, which makes it obvious whether the thing you are about to print points at a channel, a single post or a bot carrying a campaign tag.

Frequently Asked Questions

Is the Telegram Link Generator free?

Yes, Telegram Link Generator is totally free :)

Can I use the Telegram Link Generator offline?

Yes, you can install the webapp as PWA.

Is it safe to use Telegram Link Generator?

Yes, any data related to Telegram Link Generator only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

How does the Telegram link generator work?

You pick which kind of link you need — a profile, a phone number, a channel post, a bot start link or a share link — and fill in that mode's fields. The tool normalises what you typed (stripping a leading @, pulling the handle out of a pasted t.me address, reducing a phone number to digits), assembles the URL through the browser's own URL and URLSearchParams APIs, and shows it back to you as labelled, colour-coded segments alongside a QR code. Everything happens in your browser: no link is ever fetched and Telegram is never contacted.

Does this check that the username or channel actually exists?

No, and it cannot. Checking a handle would need a call to Telegram from a server, and this page has no backend. The tool tells you whether a link is correctly formatted — the characters are legal for a t.me path and the parts are in the right order — not whether anyone is on the other end. A well-formed link to a handle nobody owns is still well-formed, so open the generated link once before printing it on anything.

Why does the phone number link start with a plus sign?

Telegram addresses an account that has no @username by its international number, written as https://t.me/+<digits>. The plus is part of the path, and everything after it is digits only — no spaces, dashes, brackets or leading 00. The tool strips all of those for you and shows the normalised digits back, so you can see exactly what was removed before you use the link. A leading 00 is dropped because it is the international access prefix that the plus replaces.

What is the start payload on a bot link for?

A bot link can carry a short parameter that the bot receives when the chat opens, which is how referral codes, campaign tags and support ticket ids get attached to a conversation. Payloads are commonly documented as letters, digits, underscore and hyphen only, so the tool offers a Base64URL checkbox that converts text containing spaces or punctuation into that set and shows you both forms. Leaving the payload empty produces the plain bot link with no dangling parameter on the end.

Why is there no tg:// deep link in the output?

Telegram's custom tg:// scheme is undocumented or lightly documented, differs between Telegram Desktop, iOS and Android, and changes without notice. Those parameter names could not be checked when this tool was built, and a deep link that silently does nothing is worse than no deep link at all, so none is generated. The https://t.me/ form is the one to use anyway — it is the address Telegram publishes, and Telegram's own web host is what decides whether a visit continues into the installed app.

Can I use the QR code in print?

Yes. The QR code encodes the same https://t.me/ link shown above it and is drawn in your browser with no network request, so nothing about your link is sent anywhere. The Download PNG button saves it at a size suited to a slide, a poster or a shop counter, and it is rendered on a light tile in both colour modes because a QR code inverted onto a dark background is unreliable to scan.