Free Telegram tool

Telegram t.me Link & Deep-Link Generator

Build clean t.me links, bot start deep-links and share-to-Telegram URLs instantly. 100% in your browser — no login, no backend, with a one-click copy and downloadable QR code.

Sent to your bot as /start <payload>. Great for referral codes and onboarding flows.

Your link
Fill in the fields above to build your link…
QR appears here

How t.me deep-links work

Every public Telegram entity — a bot, channel, group or user — has a t.me/<username> address. For bots you can append a start parameter: https://t.me/yourbot?start=PAYLOAD. When someone taps that link, Telegram opens your bot and delivers the command /start PAYLOAD on the very first message.

That single payload is what powers most bot onboarding and growth tricks:

  • Referral tracking — give each user a unique code (e.g. ref_8123) so your bot knows who invited a new member and can credit rewards.
  • Campaign attribution — use payloads like ig_summer or email_promo to see which channel each subscriber came from.
  • Targeted onboarding — jump a user straight into a specific product, course or support flow instead of a generic welcome screen.
  • Group invites & QR posters — print the QR for a channel link so people can join from a flyer, slide or storefront.

Payloads are limited to 64 characters using only letters, digits, underscores and hyphens — this generator sanitises your input as you type so the link is always valid. The share button link (t.me/share/url) is different: it doesn't open a bot, it opens Telegram's forward-to-chat sheet with your URL and text pre-filled, ideal for "Share on Telegram" buttons on a website.

How to use the Telegram link generator

  1. Pick a link type. Choose Bot deep-link to send users into a bot, Channel / Group / Userfor a plain public profile link, or Share button to build a "forward to a chat" link.
  2. Enter the username. Type your bot, channel or user handle with or without a leading @ — it is stripped automatically. For bots this is the username that ends in bot, e.g. yourbot.
  3. Add a start payload (optional). For a deep-link, type a code such as promo123 or ref_8123. Invalid characters are removed as you type.
  4. Copy, open or download. Use Copy link to grab the URL, Open in Telegram to test it, or Download QR to save a scannable code for posters, slides and packaging.

When you need a t.me link

  • Launch buttons — put a "Chat on Telegram" or "Join our channel" button on a website, email or ad.
  • Referral & affiliate codes — hand each promoter a unique ?start= payload and credit signups automatically.
  • QR for offline-to-bot — print the QR on a flyer, menu, business card or product so people can scan straight into your bot.
  • Support & sales handoff — drop a deep-link in a help doc that opens the right support flow or product page in your bot.
  • Viral sharing — add a t.me/share/url button so readers forward your article or store link in one tap.

Technical notes, limits & gotchas

Reading the payload in your bot

Telegram delivers the deep-link payload as part of the message text. When a user opens t.me/yourbot?start=promo123, your bot receives a normal update whose text is /start promo123. Read everything after /start to get the payload — there is no separate API field for it, so your /start handler must split the text itself.

Username vs. invite links

A t.me/<username> link only works for entities that have a public username (usernames are 5–32 characters, case-insensitive). Private channels and groups have no username — they are reached through a separate invite link of the form t.me/+<hash> that Telegram generates from inside the chat. Note that a public username is different from the numeric chat ID (the one that starts with -100for supergroups and channels) used by the Bot API to send messages.

Share links & encoding

The share link uses Telegram's t.me/share/url endpoint with two query parameters: url (required) and text (optional). Both are URL-encoded for you, so special characters, spaces and emoji in your message survive. Unlike a deep-link, a share link never opens a bot — it only pre-fills Telegram's forward sheet, so the user still chooses which chat to send to.

Building or hosting the bot behind these links is a separate step. See our guide on creating a Telegram bot with BotFather to get a username and token, and hosting a Telegram bot without your own server if you want your deep-links answered 24/7. You can spin up a no-code bot in minutes — create a free TeleCrow account and start handling /start payloads, referrals and onboarding without writing backend code.

Frequently asked questions

What is a Telegram deep-link (the ?start= parameter)?

A deep-link is a t.me URL like https://t.me/yourbot?start=promo123. When a user opens it, Telegram launches your bot and sends it the /start command with the payload (promo123) attached. Your bot reads that payload to personalise onboarding, attribute referrals, or unlock specific content.

What characters can a start payload contain?

Telegram allows up to 64 characters from the set A–Z, a–z, 0–9, underscore (_) and hyphen (-). This tool strips anything else automatically so the generated link always works.

Do I need the @ symbol in the username?

No. Enter the username with or without a leading @ — the tool removes it for you. The final t.me link never includes the @ symbol.

Is anything sent to a server?

The link itself is built entirely in your browser. Only the optional QR image is rendered by a public QR service from the link text. You can ignore the QR and just copy the link if you prefer.

Is this Telegram link generator free, and do I need to log in?

Yes, it is completely free with no login, no sign-up and no usage limits. Building the t.me link happens locally in your browser, so you can generate as many links as you want. Nothing about your bot or audience is stored or tracked.

Why does my deep-link open the bot but the payload does nothing?

A deep-link only delivers the payload to your bot — your bot code still has to read and act on it. When a user taps t.me/yourbot?start=promo123, Telegram sends the message text "/start promo123"; your handler must parse the text after /start. If nothing happens, your bot is likely ignoring the argument or has no /start handler at all.

How long can a Telegram start payload be?

A start payload can be up to 64 characters long and may only use A–Z, a–z, 0–9, underscore (_) and hyphen (-). If you need to pass more data, store it server-side under a short key (for example start=ref_8123) and look the rest up when the bot receives it. This tool enforces both the length intent and the allowed character set as you type.

What is the difference between a t.me link and a tg:// link?

A t.me/... link is an HTTPS URL that works everywhere — it opens a web preview that then hands off to the Telegram app, so it is safe to put in emails, websites and QR codes. A tg://... link is a native deep-link scheme that only resolves if Telegram is installed and is often blocked by browsers and email clients. For shareable, clickable links you almost always want the t.me form this tool produces.

Can I deep-link straight into a Mini App or a specific bot screen?

Yes — the start payload is how you route a user to a particular screen. For a Telegram Mini App you can use the startapp parameter (t.me/yourbot/appname?startapp=PAYLOAD) and read it from the launch parameters; for a normal bot, branch on the /start argument in your handler. The payload character rules (up to 64 chars, A–Z a–z 0–9 _ -) apply to both.

Why does my t.me link say the username is not found?

A t.me/<username> link only resolves if that public username actually exists and is spelled correctly — Telegram usernames are 5–32 characters, case-insensitive, and bot usernames must end in "bot". Private channels and groups have no public username, so they cannot be reached with a t.me/<username> link; they use a t.me/+<invite-hash> invite link instead, which Telegram generates from inside the chat.

Does the share-to-Telegram link work on mobile and desktop?

Yes. The t.me/share/url link opens Telegram's "forward to chat" sheet on iOS, Android, desktop apps and Telegram Web, letting the user pick a chat and send your pre-filled URL and text. If Telegram is not installed, the link falls back to a web page prompting the user to open or get Telegram.

Build a no-code Telegram bot with TeleCrow

Create, host and manage Telegram bots without writing code — start on the free plan.

Get started free