Crypto QR Code Generator: Turn a Bitcoin
or Wallet Address Into a QR Code
Free, and honest about the part other generators skip: a QR code of a bare wallet address does not prefill an amount in anyone's wallet app, because there is no amount in it to prefill. Here is what does, and what to check before you print.
The generator opens on Text, which is what a wallet address is. Paste your address — or a Bitcoin URI you wrote yourself — and it is encoded exactly as entered. Nothing here validates an address, so copy it from your wallet rather than typing it.
Pattern
Eyes






Crypto QR codes, explained
What Is a Crypto QR Code?
A crypto QR code is an ordinary QR code whose payload happens to be crypto data — almost always either a wallet address on its own, or a payment-request URI that wraps that address together with an amount.
There is no separate “crypto” barcode standard. The symbol is the same ISO/IEC 18004 QR code used for a link or a contact card; the only thing that makes it a crypto code is the string inside. And that string is where the whole subject gets decided, because the two options behave completely differently once somebody scans them.
A bare address — something like bc1q… or 0x… — is just a string of characters. Encode it and the code contains that string and nothing else. No amount. No label. No currency. A payment-request URI is a structured string that a wallet can recognise as a request: BIP-21 defines bitcoin:<address>?amount=… for Bitcoin, and ERC-681 defines an ethereum: equivalent. Same QR code, same wallet, entirely different scan.
It is one of many QR code types, and one of the few where getting the payload wrong costs real money rather than a broken link.
Read this first
What QRKIT Can and Cannot Do With Crypto
QRKIT is a QR code generator, not a wallet and not a payment processor. It has no crypto builder — no coin picker, no address field, no amount field. It encodes the text you give it. Knowing exactly where that line falls is worth two minutes before you print anything.
What you can do here
- Encode a wallet address as a Text QR code — any coin, any chain, because we do not parse it
- Encode a payment-request URI you wrote yourself, character for character, amount included
- Point a URL QR code at an exchange or wallet payment link, or at a page listing how to pay you
- Style it — colours, logo, patterns, frames — and preview it without signing in
- Download a PNG once you are signed in — SVG and PDF come with any paid plan, and no plan adds a watermark
What QRKIT will not do
- Build a BIP-21 or ERC-681 payment request for you — there are no address or amount fields to build one from
- Prefill an amount from a bare address — there is no amount in the string, so there is nothing to prefill
- Validate your address, verify a checksum, or notice that you pasted an address for the wrong network
- Connect to any chain, wallet or exchange, or see a single transaction
- Tell you whether a specific wallet app honours a URI you encoded — test that yourself
The consequence, stated plainly
If you encode a bare wallet address, the person scanning it has to type the amount themselves. That is not a QRKIT limitation — it is arithmetic. The amount is not in the code, so no app on either end can invent it. Every generator that markets a “Bitcoin payment QR code” and then hands you an address-only symbol has the same behaviour; most of them simply do not mention it.
Whether that matters depends on the job. For a donation code, a tip sign or a “send to this wallet” note on packaging, an address is genuinely all you need — the payer chooses the amount anyway. For an invoice, a fixed price or a checkout, it matters a lot: an amount typed by hand is an amount that can be typed wrong. That is the case for writing the URI yourself, which is the next section.
Three honest shapes
Three Ways to Make a Crypto QR Code — and When Each One Is Right
There is no fourth option hiding behind a paywall. These are the three, and the difference between them is entirely what string ends up in the pattern.
Text QR code
1. The bare wallet address
Paste the address into the Text field. Static, free, unlimited, and the simplest thing that works. A scan surfaces the address; the payer picks the amount. Right for donations, tips and “send here” notes — wrong for a fixed price.
Text QR code
2. A URI you write yourself
Write the BIP-21 string by hand — bitcoin:bc1q…?amount=0.005&label=Order%201234 — and paste that into the same Text field. We encode it verbatim. This is the only way to get an amount into the code here, and it is on you to get the syntax right.
URL QR code
3. A link to a payment page
Point a URL code at a checkout your exchange or payment provider generates, or at a page listing your addresses. The only shape you can repoint after printing or count scans on — but it hands the phone a link, not a wallet handoff, so it needs internet and a browser.
On writing the URI yourself. BIP-21 is a published Bitcoin Improvement Proposal, not a QRKIT invention, and it is specific: the amount must be decimal BTC with a period as the decimal separator, so amount=0.005 and never a comma. Parameters prefixed req- are mandatory: per the spec, a wallet that meets one it does not implement must reject the whole URI. Ethereum's equivalent is ERC-681, which reached Final status. Support for either is a per-wallet, per-version decision that we are in no position to promise on any wallet's behalf — so encode it, then scan it with the wallet the people paying you actually use.
Side by side
Bare Address vs Payment URI vs Payment Link
All three are QR codes QRKIT will make for you. They are not interchangeable.
Swipe to see all three columns →
| Bare address (Text) | BIP-21 URI you wrote (Text) | Payment link (URL) | |
|---|---|---|---|
| What is in the code | Your address, nothing else | Address plus amount, label, message | A web link |
| Prefills an amount | No — there is no amount in it | That is what the amount parameter is for | Depends on the page you link to |
| Who sets the amount | The payer, by hand | You, when you write the string | Whatever your provider's page does |
| Needs internet to scan | No | No | Yes — it opens a browser |
| Static or dynamic | Static | Static | Dynamic (or static, if you never need to change it) |
| Editable after printing | No | No | Yes, if dynamic |
| Scan counts | No — nothing of ours is in the path | No — same reason | Yes, if dynamic |
| Free plan | Unlimited | Unlimited | One dynamic code, 100 scans a month |
| Syntax risk | Low — one string, copied | On you — we do not check the URI | Low — but the page is yours to keep working |
Background on the two modes, independent of crypto: static QR codes and dynamic QR codes. For the plain-text mechanics, see text QR codes; for the link shape, URL to QR code.
The risk nobody prints on the sign
A Swapped Address Is Invisible Until the Money Is Gone
A QR code is opaque on purpose. You cannot read an address by looking at the pattern, which is convenient right up until someone replaces the pattern. Sticking a printed code over a legitimate one is a well-documented QR attack pattern, and the crypto version of it has a property that makes it worse: there is no chargeback, no dispute window and nobody to call.
01
Overlaid and swapped codes
A sticker with the attacker’s address, placed over yours on a sign, a card or packaging. Nothing about the printed symbol looks wrong. Put your codes where tampering is visible, and re-scan them yourself on a schedule.
02
One character, unrecoverable
Nothing in this tool checks an address — the only validation is that the field is not empty. A typo encodes cleanly and scans cleanly. Copy from your wallet instead of typing, then scan the finished code and compare the whole string, not just the first six characters.
03
The wrong network
An address pasted for a chain the sender is not using, or a token sent over the wrong network, is the other expensive mistake. We cannot warn you: the tool does not know one chain from another because it never parses what you type. Confirm the network in your wallet first.
Before you send crypto to any code you did not create, check the decoded address in your wallet against one you obtained through a different channel — and check the entire string. Our guide to QR code scams walks through the sticker-overlay pattern, fake payment pages and the rest of the family, with what each one looks like in the wild.
How it works
How to Make a Bitcoin or Crypto Wallet QR Code
The generator at the top of this page already opens on Text. Four steps, and the fourth is the one people skip.
Step 1
Copy, don’t type
Use your wallet’s copy button. Nothing in the generator checks an address, so a single wrong character becomes a normal-looking QR code that sends funds somewhere unrecoverable.
Step 2
Address, or a URI
Paste the address alone if the payer chooses the amount. If you need an amount attached, write the BIP-21 string yourself — bitcoin:address?amount=0.005 — and paste that instead.
Step 3
Keep it static, keep it readable
The data must live in the pattern, so keep it static — a redirect link is not a wallet handoff. Crypto strings are long and the pattern is dense: keep strong contrast, leave the quiet-zone margin clear, and go bigger than you would for a short link.
Step 4
Scan it back before you print
Scan the finished code with the wallet the people paying you actually use, and compare the decoded string against your wallet character by character. Then test the printed proof, not the screen.
Printing it on a card, a sign or packaging? Our guide to printing QR codes covers minimum sizes, quiet zones and file formats. Use the SVG for print — on this create flow SVG is the true vector output, while the PDF is a raster image placed on an A4 page. Both come with any paid plan; a free account downloads PNG.
What free actually includes
Is a Crypto QR Code Generator Free?
For the shape most people on this page need — a static code carrying an address or a URI — yes, with no cap worth mentioning. The limits live on the dynamic side, and they are worth reading before you print something you cannot reprint.
Static codes: unlimited, uncapped
Address codes and URI codes are static, and static codes are not counted or capped on any plan. There is no scan limit either, for the structural reason that there is nothing of ours between the scanner and your data — a static code cannot be switched off by us because it never touches us.
Dynamic codes: one, and 100 scans a month
Free includes one dynamic code, and 100 scans per month counted across the whole account. Past 100 a free dynamic code stops redirecting until the monthly reset — scans still arrive, they just do not resolve. On a code linked from a printed payment sign, that is the failure you do not want to discover late.
Downloads: free account, no watermark
Designing and previewing need no account. Getting the file does — a signed-out visitor is not handed a download from the QR tool. Once you are signed in, every plan including free exports without a watermark. A free account downloads PNG, up to 1024 px; SVG and PDF come with any paid plan.
When paid is worth it here
Only for the link shape. If you are running a payment page behind a dynamic code with real traffic, Starter starts at $6/month billed yearly and raises the dynamic-code allowance to 12. For a static address code, paying changes nothing about the code itself — the one thing it buys you is the SVG and PDF export, via a paid plan.
Full ladder on the pricing page. Prices shown there follow your region, so a eurozone visitor sees euros rather than the dollar figure above.
Where they are used
What People Actually Use Crypto QR Codes For
Note how many of these are cases where the payer picks the amount. That is not a coincidence — it is why an address-only code is the common shape.
Donation and tip codes
A creator, a project or a cause displaying a wallet address on a page, a card or a stream overlay. The payer decides the amount by definition, so a bare address is exactly right and the missing amount parameter costs nothing.
Receiving from someone in the room
Splitting a bill, settling a debt, paying a friend. The sender types the amount anyway, and both of you can compare the decoded address on the spot — which is the one situation where verification is easy.
Invoices and fixed prices
The case that genuinely needs an amount in the code. Write the BIP-21 URI with the amount and a label carrying your invoice number, encode that, and test it with the wallet your customer will use. A bare address here means every payment is a manual transcription.
A page that lists your addresses
One URL code pointing at a page with your addresses for each chain, so a single printed code covers all of them and you can change it later. This is the shape a dynamic code is for — and the shape the 100-scan free cap applies to.
Crypto QR Codes — Frequently Asked Questions
Get started
Encode Your Wallet Address
— Free, and Exactly As Typed
Paste an address or a URI you wrote yourself, style the code, and scan it back before you print it. No amount is invented and no address is altered — what you type is what the code carries.
Crypto is one option among many: QR codes for payments covers the rest. For the plain-text mechanics behind an address code, see text QR codes; to repoint a link after printing, dynamic QR codes; and before you scan anything you did not print, how QR code scams work.
