Monero (XMR) QR Code Generator

Make a QR code for your Monero address or subaddress, with an optional XMR amount that wallets fill in for the payer. The address checksum is verified in your browser before the code is drawn.

Starts with 4 or 8 and has 95 characters (106 for an integrated address). Its checksum is verified here.

Leave it empty and the payer enters the amount. With an amount, the code becomes a payment link that most wallets fill in for them.

Double-check the address and network — payments can’t be reversed.

Contrast 21.0:1

What a Monero QR code is

A Monero QR code is a static QR code that stores a Monero receiving address — a 95-character address starting with 4 or 8 — optionally with an amount in the monero: payment format, so a wallet can scan it and fill in the payment details.

Paste a Monero address and you get a code any Monero wallet can scan. Add an amount and the code becomes a monero: payment link, so the payer’s wallet opens with your address and the amount already filled in. Monero addresses are long — 95 characters, or 106 for integrated addresses — which is exactly why a code beats copying them by hand.

Every Monero address ends in a Keccak-based checksum, 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. Keep in mind that while the Monero blockchain hides senders and amounts, a QR code shows your address to anyone who sees it.

How to create a Monero QR code

  1. 01

    Get a receiving address

    In your wallet (Monero GUI, Feather, Cake Wallet, and others), open Receive. Most wallets offer a new subaddress starting with 8 for each purpose — use one of those, or your primary address starting with 4.

  2. 02

    Paste it into the generator

    Paste the address above. If the checksum fails, copy it again with the wallet’s copy button; with 95 characters, retyping is not realistic.

  3. 03

    Add an amount, if you want one

    Enter an amount in XMR for a fixed price or invoice. Leave it empty for donations and tips, so the payer decides how much to send.

  4. 04

    Download and test it

    Download the PNG or SVG, scan it with a Monero wallet, and check that the address and amount it shows are right. You do not have to send anything to test.

Monero address types

  • 4… — primary address

    The main address of a wallet, 95 characters long. It works for everything, but every payment to it is linked to the same public identifier — fine for a single donation sign, less so if you hand it to many different people.

  • 8… — subaddress

    Wallets can generate as many subaddresses as you like, all feeding the same balance. Giving each payer, shop, or campaign its own subaddress lets you tell payments apart and stops anyone who sees two of your codes from linking them.

  • Integrated addresses

    A 106-character address that packs a primary address and a short payment ID together. Some services still use them to identify deposits. They are accepted; if a service gives you one, use it exactly as shown.

  • Amounts with tx_amount

    With an amount, the code holds a link like monero:ADDRESS?tx_amount=0.25. Amounts are in XMR. Most Monero wallets fill it in, and the payer can still change it before sending.

  • What stays private and what does not

    On-chain, Monero hides who paid you and how much. Off-chain, the address in your code is public to everyone who sees it, and anyone you share a view key with can see incoming payments. Print the code where you are happy for it to be associated with you.

Where a Monero QR code helps

  • Donation pages for open-source and privacy projects
  • Invoices with the amount already set
  • Market stalls and meetups that accept XMR
  • Tip jars for writers and podcasters
  • Moving XMR between your own wallets
  • Conference badges and speaker slides

A printed or posted code reveals your address to everyone who sees it. Use a separate subaddress (8…) for each place you publish one, so payments and audiences cannot be linked to each other.

Never put a seed (mnemonic), private spend key, or private view key in a QR code. Only the receiving address is needed.

Monero 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. It does not hold XMR, scan the blockchain, or confirm payments; it only draws the code.

Questions about this

Copy a receiving address or subaddress from your wallet, paste it above, optionally add an amount in XMR, and download the code. Scan it once before sharing it.

Yes. Enter an amount and the code uses the monero: payment format with tx_amount, so the payer’s wallet opens with the amount filled in. They can still change it.

A subaddress (starting with 8) is usually better for anything you publish. It reaches the same wallet, and using a different one per payer or place keeps them from being linked.

The payments are: the blockchain does not show who sent them or how much. The code itself is not — anyone who sees it learns your address. That is why separate subaddresses matter.

It decodes the address from Monero’s base58 and verifies the Keccak-256 checksum at the end. 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.