Toncoin (TON) QR Code Generator
Make a QR code for your TON wallet address, with an optional amount that wallets fill in for the payer. The address checksum is verified in your browser before the code is drawn.
What a Toncoin QR code is
A Toncoin QR code is a static QR code that stores a TON receiving address — a 48-character address usually starting with UQ or EQ — optionally with an amount in a ton://transfer link, so a wallet can scan it and fill in the payment details.
Paste your TON address and you get a code that Tonkeeper, the Wallet in Telegram, and other TON wallets can scan. Add an amount and the code becomes a ton://transfer link: the payer’s wallet opens with your address and the amount filled in, and they only have to confirm.
TON’s user-friendly addresses are 48 characters of base64 with a checksum at the end, and the generator verifies it before drawing anything, so a mistyped or truncated address is rejected rather than printed. The check runs in your browser and the address is never uploaded. If an exchange gives you a comment (memo) for deposits, it is not put in the code — print it next to it.
How to create a Toncoin QR code
- 01
Copy your TON address
In your wallet, tap Receive and copy the address; most wallets show it starting with UQ. On an exchange, open Deposit, choose TON on The Open Network, and note whether a comment or memo is shown too.
- 02
Paste it into the generator
Paste the address above. Both UQ… and EQ… forms are accepted. If the checksum fails, copy it again with the wallet’s copy button.
- 03
Add an amount, if you want one
Enter an amount in TON for a fixed price or invoice. Leave it empty for donations and tips. If there is a deposit comment, plan to print it in large text beside the code.
- 04
Download and test it
Download the PNG or SVG, scan it with a TON wallet, and check that the address and amount it shows are right. You do not have to send anything to test.
Things specific to TON
UQ… and EQ… are the same wallet
A TON address can be written with a flag that says whether a failed transfer should bounce back to the sender. EQ… is “bounceable”, UQ… is “non-bounceable”; the account behind them is identical, and money sent to either reaches the same wallet.
Why wallets show UQ… for receiving
If a wallet has never been used, a bounceable transfer to it is returned to the sender instead of arriving. The non-bounceable UQ… form avoids that, which is why wallets now show it on the Receive screen. Use whichever your wallet gives you.
Amounts with ton://transfer
With an amount, the code holds a link like ton://transfer/ADDRESS?amount=1500000000. The amount inside the link is in nanotons — one TON is a billion — but you enter it in TON and the generator converts it. The payer can still change it before sending.
Comments for exchange deposits
Some exchanges receive all TON deposits at one address and tell customers apart by a comment, sometimes called a memo or tag. Send without it and the funds reach the exchange but not your account. The code does not carry it, so print it beside the code and say it is required.
Fees are small but not zero
Every TON transfer pays a small network fee in TON, so the sender needs a little more than the amount in their wallet. Nothing is needed on the receiving side.
Where a Toncoin QR code helps
- Moving TON from a wallet to your exchange account
- Payments between friends in Telegram communities
- Invoices with the amount already set
- Donation and tip pages for creators
- Shop counters and event stalls that accept TON
- Stream overlays and video descriptions
If your deposit needs a comment or memo, the code alone is not enough — print it in text beside the code and say clearly that it is required.
Never put your 24-word recovery phrase or a private key in a QR code. Only the receiving address is needed.
TON payments cannot be reversed. Scan your code before printing, compare the first and last characters with your wallet, and keep printed codes where nobody can stick another one on top.
This site is not a wallet and is not part of Telegram. It does not hold TON, connect to your wallet, or confirm payments; it only draws the code.
Questions about this
Copy the address from your wallet’s Receive screen, paste it above, optionally add an amount in TON, and download the code. Scan it once before sharing it.
They are two spellings of the same wallet. EQ… asks for failed transfers to bounce back; UQ… does not, which is safer for a wallet that has not been used yet. Wallets show UQ… for receiving, and either one works in the code.
Yes. Enter an amount and the code uses a ton://transfer link, so the payer’s wallet opens with it filled in. They can still change it before sending.
No. The code carries the address and, if you set one, the amount. Print the comment in large text next to the code; the sender has to type it in their wallet.
It decodes the 48-character address and verifies its CRC16 checksum, along with the flags at the start. The raw developer form (0:…) has no checksum; it is accepted, but compare it by hand. A valid address that is not yours cannot be detected, so compare it with your wallet.
No. It is checked and encoded in your browser. The site uses Google Analytics to count visits and may show ads, but never receives your address.