Skip to main content

Free tool

Free QR code generator for Telegram and websites

Type a Telegram username, a bot link or a website address. Get a QR code that opens it when someone points a camera at it. No account, no watermark, and the code encodes your link directly rather than a redirect through somebody else's domain that can expire or start charging you.

Build your QR code

The encoder runs in your browser, so the username or URL you type is never sent to us and the downloaded file carries nothing but your code. The one exception is the favicon option below: if you ask for a site's icon in the middle, that domain goes to our server once so it can fetch the icon for you.

Appearance

What a QR code actually contains

A QR code is a string of text in a grid of squares. Nothing more. A Telegram QR code holds the plain text https://t.me/yourname, and a website QR code holds https://example.com/pricing. A camera reads that string, the phone offers to open it, and either Telegram or the browser takes over. Someone with Telegram installed lands in a chat with you. Someone without it lands on a t.me page that offers the app.

That matters because most free QR code generators hand you a code pointing at their own domain, which then forwards to yours. It is a reasonable business: they get the scan analytics, and later they get the leverage. A redirect you do not own can be rate limited, rebranded, put behind a paywall, or switched off while your sticker is already on 400 laptops. A code that encodes your link directly cannot be changed by anyone, including us. That is the trade this free QR code generator makes on your behalf: no scan counter, and no expiry either.

It also means nothing here needs an account. There is no free tier to outgrow, no code that stops working in 14 days, and no watermark in the corner of the download. You get a PNG and an SVG, and they are yours.

Five destinations, and they behave differently once the camera closes. Pick by what you want to happen on the other side.

  • A Telegram username

    https://t.me/name opens a direct chat with a person, group or channel that has a public username. This is the one you want on a business card or a conference badge. It keeps working if you change your phone number, and it is what people mean when they go looking for a Telegram QR code generator.

  • A website address

    https://example.com/pricing is an ordinary URL, which is why this doubles as a free QR code generator for websites. Point it at the page that answers the question the poster raised, not at your homepage. A code on a menu that opens the menu is wasted; one that opens the ordering page is not.

  • A phone number

    https://t.me/+15551234567 works without a username, but only for people allowed to see that number under your privacy settings. Use it when the number is already public, for example a support line printed on a receipt.

  • A group or channel invite

    https://t.me/+AbCdEfGhIjKl is the join link for a private group or channel. It is revocable from inside Telegram, which is the point: print one code per event and revoke it when the event ends. Check the link's own expiry and member limit before you print, because a QR code cannot outlive the link inside it.

  • A bot, with a start payload

    https://t.me/your_bot?start=booth-berlin opens a chat with your bot and quietly hands it booth-berlin. This is the most interesting option on the list and the one almost nobody uses, so the Telegram bot QR code generator below gets a section of its own.

The Telegram bot QR code generator, and why start payloads matter

Append ?start=something to a bot link and Telegram delivers that text to the bot as the first message, formatted as /start something, before the person has typed a word. The payload is limited to 64 characters of letters, digits, underscores and hyphens, which is enough for a code, an id, or a short slug. Picking the bot option above turns this into a Telegram bot QR code generator rather than a plain link encoder.

The effect is that one printed sticker is no longer anonymous. ?start=booth-berlin and ?start=booth-lisbon go to the same bot, and the bot knows which one was scanned. Give each table at a conference its own payload and you get a per-table count without a tracking redirect, without a third-party analytics script, and without a link somebody else can switch off.

What else it is good for, beyond counting: carrying a referral code so the person who sent the link gets credit, pre-selecting a language so the first reply is already in the right one, pointing at one product out of forty so the bot does not open with a menu, and resuming something the person started on your website so they do not retype it.

The limits, because they decide whether this works for you. It only applies to bots; a payload on a personal username link does nothing. The payload is plainly visible in the URL to anyone who looks, so it is an identifier, never a secret or a token. For a brand new user the payload arrives the moment they tap Start. For someone who already has a chat open with that bot, clients differ on whether it is sent again, so do not build anything that depends on receiving it a second time. And there is a sibling worth knowing about: ?startgroup=payload prompts the person to add the bot to one of their groups and passes the payload along with it, which is the right link for a poster aimed at community admins.

One thing to keep straight: a bot is a Telegram account that a program answers. A personal account is a person. A QR code that opens a bot gets an instant reply and no human warmth; one that opens a username gets a human who may be asleep. Most teams want both, with the bot taking the first message and a person taking the second.

Colour, contrast, and putting a logo in the middle

Every decoration you add spends the same budget: the error correction that lets a scanner reconstruct a code it cannot fully see.

  • Contrast decides whether it scans, not colour. Any colour works as long as it is genuinely dark against a genuinely light background. Mid-grey on white is where scanning gets unreliable, and a brand colour that looks strong on screen is often too light once it is printed. Dark on light is what every scanner was built for; the black background option inverts that, which phone cameras handle and some older or industrial scanners do not.
  • The middle is free, up to a point. At correction level H a scanner can reconstruct about 30% of a damaged symbol, which is what lets a mark sit in the centre at all. This tool covers roughly a quarter of the width, well inside that budget, and it holds the level at H whenever something is in the middle. Add a second thing on top, a fold, a staple, or a die cut, and you are spending the same budget twice.
  • Which icons survive being shrunk. The favicon option fetches your site's icon and drops it in the centre. A square, high-contrast mark reads fine at that size. A wordmark, a thin outline, or anything with four colours in it turns to mush, and you are better off choosing Nothing and placing your own artwork into the downloaded SVG where you can control the padding.
  • Transparent is for designers, not for printers. A transparent background keeps whatever is underneath, which is useful when you are dropping the code onto a photograph or a coloured panel in a layout. It is also how people accidentally print a dark code onto a dark surface. If you pick transparent, make sure the surface behind it is light, or switch the code colour to white and let the dark surface do the work.

Printing it so it scans on the first try

Most failed scans come from four things, and all four are decided before the file leaves your computer.

  • Keep the quiet zone. The empty border around the code is part of the code. Scanners use it to find the edges. This generator builds in the standard four modules of margin; if you crop the download to fit a layout, you have removed it.
  • Size it for the scanning distance. A rough working rule is that the printed code should be about a tenth of the distance it is read from. Read at 40 cm on a table tent, print at roughly 4 cm. Read across a 3 m booth, print at 30 cm. Download the 2048 px PNG or the SVG for anything that goes to a printer.
  • Keep the link short. More characters means more modules, and more modules means each one is physically smaller at the same printed size. A username link makes a small, forgiving code. A 200-character campaign URL with five tracking parameters makes a dense one that needs a steadier hand and a better camera. Strip the parameters you are not going to read.
  • Test on the worst phone in the office. Not yours. Print it at the real size, stick it where it is going, stand where the reader will stand, and try it on the oldest handset you can find. Every problem on this list is cheap to fix before the print run and expensive afterwards.

You cannot count scans on a static code, and that is fine

There is no counter inside a QR code. The only way to measure scans is to route them through a server somebody controls, which is exactly the redirect this free QR code generator refuses to add. So measure the other end instead.

Use a different destination per placement. A bot start payload is the cleanest, for the reasons above. For a website code, give each placement its own landing path or its own campaign parameter and read it in your analytics. Without either, give each campaign its own Telegram invite link, or its own account, and count new conversations rather than scans. You lose the raw scan number and keep the one that pays, which is how many of those people replied.

What happens after the scan

A printed code works when it is scanned by one person. It becomes a problem when it is scanned by four hundred, because every one of those scans is a direct message to a personal Telegram account, arriving in the same thread list as your family chat.

That is the point where Entergram is the answer rather than an advert. Its Telegram sales CRM puts the inbox of 100+ personal Telegram accounts in one interface, with assignment, pipeline stages and custom fields on each chat, so the conversations a QR code starts can be worked by a team instead of one person's phone. It runs on real personal accounts, each on its own proxy, not on the Bot API, so the chat the scanner sees is a chat with a human.

If the code points at a bot, the same holds in reverse: the bot can greet and tag, but someone eventually has to answer. Entergram is where that handover lands.

Questions about QR codes for Telegram and websites

Is this free QR code generator really free?

Yes. No account, no email, no watermark and no limit on how many you make. The encoding happens in your browser, so there is no cost to us per code and nothing to meter.

How do I make a QR code for my Telegram account?

Pick A Telegram username, type your username without the @, and download the PNG or SVG. The code will hold https://t.me/yourname, which opens a chat with you on any phone that has Telegram installed.

Can I use it as a QR code generator for a website, not just Telegram?

Yes. Choose A website address and paste any http or https URL. The code encodes that address directly, with no redirect through us, so it keeps working whatever happens to this page.

How does the Telegram bot QR code generator differ from a username code?

A bot code can carry a start payload, which Telegram hands to the bot as the first message. That lets one bot tell apart every poster, table or city you printed, which a username code cannot do. Everything else, the sizing, the colours and the files, is the same.

Does the QR code expire?

The code itself never expires, because it contains your link rather than a redirect through us. What can expire is the link inside it. A username link lasts as long as you keep the username. A private group invite link can be revoked or time limited from inside Telegram, and once it is, the printed code stops working.

Can I use it commercially, on packaging or a billboard?

Yes. The files are yours, with no attribution required and no licence attached. Download the SVG for anything a printer will touch, because it stays sharp at any size.

What is a start payload and do I need one?

It is text appended to a bot link as ?start=something, which Telegram hands to the bot as the first message. You need one if you want to know which printed code a person scanned, or to carry a referral code or a product id. You do not need one for a plain username or website code.

Why does my QR code look different each time I change one character?

Every character changes the encoded data, and the encoder picks a mask pattern that spreads dark and light modules evenly for that exact data. A one-character edit can also push the code into a larger version with more modules. Both are normal.

Can I put my own logo in the middle?

You can put your site's favicon there with the Your website icon option. For anything else, download the SVG and place your logo over the centre in a vector editor. Keep it under about a quarter of the width, keep error correction at H, and test the result with a real phone before printing a thousand of them.

Why does a mark in the middle need error correction H?

Anything in the middle covers modules the scanner would otherwise read. Level H lets a scanner reconstruct around 30% of a damaged symbol, which is what makes a centre mark survivable. The tool switches to H for you and says so, rather than letting you download a code that cannot be read.

Does the code work for someone who does not have Telegram?

They get the t.me web page for your username, which offers the app and, for public channels, shows recent posts. They cannot message you until they install Telegram, which is true of any Telegram link.

Do you store the username or URL I type?

No. The page loads the encoder into your browser and builds the code there, which you can confirm by opening the network tab and generating a code. The one request that does reach us is the favicon lookup, and only if you ask for a website icon in the middle: that sends the domain so we can fetch the icon.

What is the difference between this and the QR code inside the Telegram app?

Telegram can show you a QR code for your own profile on screen, which is built for a phone-to-phone handshake. This free Telegram QR code generator produces a file, at print resolution, for any link including invite links, bot links and plain website URLs, and gives you an SVG you can drop into a layout.

Keep going

Also free: Telegram Group Finder , Telegram Lead Finder , Telegram Message Formatter .

The scans are the easy part

A QR code gets someone into your Telegram. Getting four hundred of them answered, by a team, without anyone switching accounts on a second phone, is the job Entergram does.

See Entergram