A Telegram QR code holds the public link to a username, so a person who scans it lands in that chat, group or channel without searching for the name or spelling it out. It works for a personal account, a support account, a public group or a broadcast channel, because Telegram gives all of them the same kind of t.me address.
This tool builds the code in your browser. Type the username, or paste the t.me link you already share, and download a PNG or SVG. Nothing is sent to a server, and the page keeps no record of what you typed.
What the code contains
The code holds a plain web link of the form https://t.me/username. That is Telegram's own public address for a username, the same one shown under a profile's Share option. The panel under the preview shows the exact string, so you can confirm nothing has been added to it.
It is a web link, not a tg:// app scheme, on purpose. A phone with Telegram installed opens t.me links straight in the app. A phone without it opens the link in the browser, where Telegram shows a preview of the account with a link to the app, instead of failing with an error about an unknown scheme.
What you can type
The username field accepts a bare name, the same name with a leading @, or a pasted profile link from t.me or telegram.me. The @ and any trailing slash are stripped, and the name is lifted out of a pasted link, so all three forms produce the same code.
Telegram usernames are 5 to 32 characters of letters, digits and underscores, and the tool checks for that shape. Anything else, including a name with a dot or a name shorter than five characters, shows the message that it does not look like a valid Telegram username, and the download button stays disabled until it does.
Private invite links, of the t.me/+code or t.me/joinchat/code form, are rejected with a message, because the part after the plus or after joinchat is not a username. This tool is for public usernames only. Set a public username on the account, group or channel first, then make the code for that.
Chats, groups and channels
The same link shape covers three different things. For a personal or business account, scanning opens a private chat with that account. For a public group, it opens the group's join screen. For a public channel, it opens the channel with a Join button. The code does not know which one it points at; Telegram works that out when the link opens.
Choose the username that matches what you want to happen. A support account username gets the visitor talking to a person; a channel username gets them subscribed to announcements.
Printing and placing it
Download the SVG for anything that will be printed, such as a shop counter card, a poster at an event or the back of a delivery slip. It scales to any size without going blurry, where a PNG has a fixed pixel size. For a slide, a website or a chat message the PNG is fine, and the resolution slider sets how large it is.
Keep the quiet zone, the blank border around the code, at two modules or more, and print the label Telegram next to the code. A visitor who sees the word knows what will open before they scan, which is the difference between a scan and a walk past.
If the username ever changes, the printed code points at the old name and stops working. Keep the SVG so a fresh version is quick to make.
Frequently asked questions
Is anything I type sent to Telegram or to a server?
No. The code is generated inside your browser and the username is only placed into the image file you download. There is no upload, no account and no history kept on this page.
What happens when someone scans it without Telegram installed?
The code holds a normal https://t.me/ link, so the phone opens it in the browser. Telegram's web page shows the account and links to the app. Once the app is installed, the same code opens directly in it.
Can I make a code for a group or a channel?
Yes, as long as it has a public username. Type that username exactly as it appears after t.me/ in the group or channel's share link. Private groups that only have a t.me/+ invite link are not supported; give the group a public username first.
Do I include the @ sign?
Either way works. A leading @ is removed before the link is built, and so is a trailing slash. Pasting the full t.me link also works; the username is read out of it.
Why does it say my username is not valid?
The tool checks for Telegram's rules: 5 to 32 characters, using only letters, digits and underscores. A name with a dot, a hyphen or a space, or one under five characters, is rejected before a code is made, since it could never open a Telegram account.
Can I add my logo to the code?
Yes. Under Branding, add a PNG, JPEG, SVG or WebP and it is centred over the code. Error correction rises to H automatically so the covered modules can be recovered. The code gets denser, but it scans as well or better.
Related Utilities You Might Need
URL Slug Generator
Generate clean, search engine optimized slugs from title strings or written copy.
QR Code Generator
Create a custom QR code with your own foreground and background colours and a centred logo, then download a high-resolution PNG up to 2048px.
UTM Campaign URL Builder
Build tagged campaign URLs and catch what splits your reporting: duplicate UTM parameters, capital letters and stray spaces. Runs in your browser.
