Make a Telegram QR Code for Your Channel or Chat

Enter your username, style the code to match your signage, and download one that opens Telegram in the app or on the web - with no invite link that expires underneath you.

1 Content
https://
No registration required Unlimited QR codes No watermark Free high-resolution downloads
2 Design
Shape
Pattern
Eyes
3 Preview
Copied!

What Is a Telegram QR Code?

A Telegram QR code is a QR code that stores a t.me link - the web address of a Telegram user, channel, group, or bot. Scanning it opens that destination in the Telegram app if it is installed, or on Telegram's web version if it isn't. The link lives in the pattern, so the printed code needs nothing behind it.

The KoloQR designer with a QR code being styled - shape, colors and center logo

Public Username or Invite Link - They Are Not the Same

Telegram has two link shapes, and only one of them is safe to print:

  • t.me/yourname - a public username. Permanent while you hold the name, short (about 18 characters), and readable by anyone. This is the one to encode.
  • t.me/+AbCdEf123... - an invite link to a private group or channel. It carries a random hash, can be revoked, and can be configured to expire on a date or after a set number of joins.
  • t.me/yourbot?start=code - a bot deep link. The text after start= is handed to the bot on first message, which is how a scan can identify a table, a batch, or a campaign.

Printing an invite link is the mistake worth naming, because it fails silently and late: the code works during testing, works for the first week, and then one day returns “this invite link has expired” to everyone who scans it - with the printed run already out in the world. If the destination must be private, generate an invite link with no expiry and no usage limit, and accept that anyone who photographs the code can pass it on. Discord invites have the same trap with worse defaults.

Telegram's Own Code Versus a Generated One

Telegram generates a QR code for any username inside the app, and it is a real QR code that any camera reads - so unlike LinkedIn's, it is not broken outside its own app. The differences are narrower and they are about print. Telegram's code comes out as a screen-resolution image with a fixed circular style and its own palette, which is fine on a phone and soft once a printer scales it up; it always points at a username, so it cannot carry a bot's start parameter or a specific message; and it cannot be drawn in your own shape or colours. A generated code holds the same t.me link, exports as vector at any size, and can be designed to sit inside your own artwork. For showing on a screen to someone across a table, use Telegram's. For a shop window, a poster, a package, or anything a printer will touch, generate one.

Generate QR Code
A phone scanning a printed QR code to test it before the print run

Where Telegram QR Codes Are Used

Telegram's strength is the broadcast channel and the bot, and both are hard to reach from print without a code:

Shop and Market Stall Channels

A channel is where a small trader posts what came in today, and a code by the till is how regulars subscribe without an app store detour.

Building and Residents' Groups

A code in the lobby gets new residents into the group without a committee member handing out links.

Support and Ordering Bots

A bot deep link on a table sticker can carry the table number in the start parameter, so the first message already knows where it came from.

Event and Conference Channels

Schedule changes reach a channel faster than they reach printed signage, and the code on the signage is how people subscribe.

Community Noticeboards

In regions where Telegram is the default messenger, the noticeboard code is the local equivalent of a mailing list signup.

Product Packaging for Support

A channel of firmware updates and how-tos is worth more on the box than a support email address nobody writes to.

How to Create a Telegram QR Code

From username to download in under a minute:

Generate QR Code
  1. 1

    Set a Public Username on the Account or Channel

    In Telegram's settings, give the account, channel, or group a public username. This is what makes the link permanent and short instead of a revocable invite hash.

  2. 2

    Pick Telegram and Enter the Username

    Type the username and KoloQR adds t.me/ in front. For a bot deep link or a private invite, paste the full URL instead.

  3. 3

    Customize the Design

    Choose a shape, set the colors, add a logo. Telegram's light blue is too pale to carry the modules on white - use it around the code, not inside it.

  4. 4

    Test and Export

    Scan on a phone without Telegram installed as well as one with it. Then export SVG or PDF for print, PNG for screens.

The KoloQR generator with a QR code being designed and ready to download

Which File Format Should You Download?

KoloQR exports your Telegram QR code in three formats. Pick by where it will be seen:

  • PNG for websites, chat messages, and slides, where the code appears at one fixed size.
  • SVG for window stickers, table tents, and packaging - anything a printer scales without softening the edges.
  • PDF for handing to a print shop or a signage supplier at print-ready quality.

A t.me username link is one of the shortest payloads on this site - around 18 characters - which means a sparse pattern with large modules that reads from further away and prints smaller than most. That is worth protecting: it disappears the moment you swap the username for an invite hash or a long start parameter.

Generate QR Code

Best Practices for Telegram QR Codes

Telegram's link model is the source of both the best and the worst outcomes here:

  • Print a Username Link, Not an Invite Link

    t.me/yourname is permanent while you hold the name. An invite hash can be revoked or set to expire, and a printed code has no way to learn that it has.

  • If It Must Be Private, Remove the Limits First

    Generate the invite link with no expiry date and no usage limit before you encode it, and note that anyone can forward the code onward once it is public.

  • Keep Bot Start Parameters Short

    The text after start= is encoded verbatim. “t12” for table twelve costs three characters; a UUID costs thirty-six and a symbol version or two.

  • Say What the Scan Opens

    Channel, group, chat and bot behave differently on arrival. “Scan to join our channel” sets an expectation that a bare logo does not.

  • Telegram Blue Is Too Light for the Modules

    The brand blue lacks contrast against white at pattern size. Use it in the surrounding artwork and keep the modules dark.

  • Check the Web Fallback

    Without the app, a t.me link lands on Telegram's web page for that destination, which shows a preview and an open-in-app prompt. Scan it that way once so you know what a new visitor sees.

  • Hold the Username

    Telegram releases usernames from inactive accounts and lets you change yours freely. A changed username breaks every printed code pointing at the old one, and someone else can take it.

  • Protect the Quiet Zone

    Four modules of clear margin on every side. A sparse Telegram code is forgiving of most things, but not of a missing quiet zone.

  • Size It for the Distance

    Roughly a tenth of the reading distance: about 2 cm on a table sticker, about 20 cm on a window read from 2 metres. The short URL means you can be at the small end of the range.

  • Test on Both Phones

    iOS and Android hand t.me links to the app slightly differently, and the difference shows most on a phone that has Telegram installed but not signed in.

Why Your Telegram QR Code Isn't Working

A Telegram code that worked last month can stop working this month, which is unusual and specific to how Telegram links work.

  • The Scan Says the Invite Link Has Expired

    Cause
    The code encodes a t.me/+ invite link that was created with an expiry date or a usage limit, or that has since been revoked. The code is intact; the link behind it was time-limited.
    Fix
    Give the channel or group a public username and encode t.me/yourname instead. If it must stay private, issue a fresh invite with no expiry and no join limit, then reprint.
  • The Scan Opens a Web Page Instead of the App

    Cause
    Telegram is not installed, or the phone did not hand the link over. t.me falls back to Telegram's web page for that destination, which shows a preview and an open-in-app button.
    Fix
    This is the intended fallback and works fine - but check what it shows for your destination, because a private group's web page is far less informative than a public channel's.
  • The Bot Doesn't Recognise Where the Scan Came From

    Cause
    The start parameter is missing or malformed. t.me/yourbot alone opens the bot with no context; only t.me/yourbot?start=value passes anything through.
    Fix
    Include the start parameter, keep it short and URL-safe, and test by scanning rather than by typing - some link shorteners strip query strings, which removes it silently.
  • The Code Stopped Resolving After a Rename

    Cause
    The username changed. Telegram frees the old one immediately and provides no redirect, so a printed code now points at nothing - or eventually at someone else.
    Fix
    Reclaim the old username if it is still free, or reprint. For long-lived packaging, encode a short URL on your own domain that redirects to t.me, so a rename costs one edit.

Still not sure whether the fault is the file or the print? Drop the exported image into the QR code scanner - if it decodes on a desktop and not on paper, the fault entered after the file.

Questions? Answered

A Telegram QR code stores a t.me link - the address of a Telegram user, channel, group, or bot. Scanning it opens that destination in the Telegram app if installed, or on Telegram's web version if not.

Give the channel a public username in its settings, then choose the Social type in KoloQR, pick Telegram, and enter that username. Style it, then download PNG or SVG. No account needed.

Because invite links can be revoked and can be set to expire on a date or after a number of joins. The code keeps scanning; the link behind it stops working, and printed copies can't be updated.

Telegram's works with any camera, so it's fine on screen. But it's a fixed-style, screen-resolution image that always points at a username. A generated code exports as vector, carries bot parameters, and can be styled.

Yes. Encode t.me/yourbot?start=value and the bot receives that value when the chat opens. Keep it short - it's encoded verbatim, so a long identifier makes a noticeably denser pattern.

Every printed code pointing at the old one stops working, with no redirect, and the freed username can be taken by someone else. Settle it before printing, or encode a redirect on your own domain.

No. Without it, the t.me link opens Telegram's web page for that destination, showing a preview and an open-in-app prompt. Public channels look far better on that page than private groups do.

No. The brand's light blue doesn't hold enough contrast against white at module size. Use it in the artwork around the code and keep the pattern dark.

Because t.me is a very short domain. A username link runs about 18 characters where an instagram.com or linkedin.com URL runs 30 to 40, so the same printed square holds fewer, larger modules.

Not directly, but a bot can: encode t.me/yourbot?start=poster1 and the bot records which printed code each new conversation came from. That's more precise than scan counting on any other network here.

Why KoloQR?

  • Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
  • Customize colors, logos, and unique shapes
  • Download high-quality PNG and SVG files
  • Built for both print and digital
Generate QR Code
A plain black QR code beside the same code restyled as a circle with brand colors