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.

Free generatorAny chain, any addressPNG free · SVG/PDF paidSwap-scam risks explained

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.

STEP 1Enter the URL
STEP 2Customize Design
QR Code Preview
Classic
Bubble
Smooth
Sharp
Elegant
Dots
STEP 3Download your QR code
Can't be edited after download

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 codeYour address, nothing elseAddress plus amount, label, messageA web link
Prefills an amountNo — there is no amount in itThat is what the amount parameter is forDepends on the page you link to
Who sets the amountThe payer, by handYou, when you write the stringWhatever your provider's page does
Needs internet to scanNoNoYes — it opens a browser
Static or dynamicStaticStaticDynamic (or static, if you never need to change it)
Editable after printingNoNoYes, if dynamic
Scan countsNo — nothing of ours is in the pathNo — same reasonYes, if dynamic
Free planUnlimitedUnlimitedOne dynamic code, 100 scans a month
Syntax riskLow — one string, copiedOn you — we do not check the URILow — 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.

If the first case is yours, QR codes for donations works through the same setup for the non-crypto rails. Taking other payment methods too? QR codes for payments covers the wider set, including the apps that do issue their own codes. Collecting in India runs into the same wall this page does, for a different reason: UPI QR codes explains why the code you are paid through is issued by your bank or UPI app rather than by a generator, and what is left to build around it.

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.

Unlimited static codes on the free planAny chain — we never parse your stringPNG free · SVG/PDF paid, never watermarked

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.