Skip to content
qrcodegenerator.in
BITCOIN

Bitcoin QR code generator

A BIP-21 payment link: the wallet opens with your address filled in, and the amount when you set one. Nothing moves until the payer confirms in their own wallet.

A Bitcoin QR code stores a bitcoin: payment link with a wallet address and optional amount, which a wallet opens ready to send.

Add the content
Starts with 1, 3 or bc1. Checked for shape, not existence — paste it exactly.
Style this code
Style this code — colour, shape, branding, frame and output
Colour & contrastThe ink, the paper behind it, and the three eyes. Every choice is contrast-checked as you make it.
Foreground
18.0:1 against the background — clears the 4.5:1 a camera wants margin on.
Background
Eye colours
ShapeHow the squares are drawn. The three eyes are styled apart from the data, because a scanner finds the code by them.
Modules
Every shape here is decode-tested before it is offered. Shapes that lose the symbol — diamond, star, heart — are not on this list, however good they look.
Eye frame
Eye centre
BrandingYour mark on the code. Every picture here costs scanability — the notes say how much, and the preview is the truth.
Logo image
PNG, JPEG or WebP, up to 2MB. The modules beneath it are cleared and error correction rises to cover the hole.
Background picture
Sits behind the modules, quiet zone included. A busy picture is the classic reason a decorated code stops scanning — check the preview with a phone before printing.
Foreground texture
Washes over the ink itself, so it is capped well below full strength — at full strength there is no code left to scan.
Frame & captionA border and a line of text around the code — the "scan me" that tells a passer-by what it is for.
Frame style
A frame is drawn outside the quiet zone, never into it — the canvas grows instead, so the border cannot cost the code its margin.
OutputWhat comes out of the download buttons, and what the symbol actually carries.
Options
Automatic picks the smallest encoding that carries your text, and is right almost always. The other three exist for older scanners that expect one specific encoding; each refuses text it cannot carry rather than mangling it. Encodings we cannot convert to correctly are not offered at all.The margin never goes below 4 — ISO/IEC 18004's minimum; smaller is not a QR code. A logo raises error correction to at least Q. Encoding is chosen by the encoder per symbol and shown in the readout — a manual charset menu only makes codes bigger.
Embedded databitcoin:bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdqThe exact text the symbol carries — what any scanner will read out.
Save this design — free account, the code stays editable →
Your code
v433×33 modulesbyteEC-M52/64mask 2
4/4 4 of 4 checks passHow we measure (opens in a new tab)
Print-ready PDF

A press file at the finished size: 3mm bleed, crop marks and a trim box a print shop’s checks read. The code is drawn black on white whatever the design above — how a colour prints is something only a test print can show.

No account · no watermark · no scan limits

What the code carries, and what it cannot

The payload is a bitcoin: URI from BIP-21 — address, optional amount in BTC, an optional label and message. It is a request, not a transfer: the wallet shows all of it and the payer approves or does not. A typo in the address is money gone, which is why the shape is validated before anything encodes.

Shape-checked, not balance-checked

The address is verified to look like a Bitcoin address — legacy 1…, script 3…, or bech32 bc1… — and nothing more. No one can tell from the string whether it is yours; scan the printed code with your own wallet once before the print run.

Other chains

Ethereum, Solana, XRP and USDT each have their own page, because each encodes differently and only one of them is a BIP-21 URI. Ethereum carries value in wei with a chain id; Solana Pay takes plain decimal amounts; XRP has no payment-link standard at all, so its code is an address. None of them reads a Bitcoin address, and this page will not build one of theirs.

Bitcoin QR codes

Does the amount lock what the payer sends?

No — wallets prefill it and the payer can change it before confirming. Leave it blank for a tip-jar code where any amount is welcome.

Which address type should I use?

The one your wallet gives you. bc1 (bech32) addresses are the current default and encode slightly smaller; all three shapes work in any maintained wallet.

Is it safe to print an address?

An address only receives. The real risk is substitution — someone pasting their own over yours — so scan the final print with your own wallet and check the first and last characters against your records.

What are label and message for?

The label names the recipient in the payer’s wallet; the message describes the payment. Both travel percent-encoded inside the URI and neither is required.

Example Bitcoin (BTC) QR code made with this generator, decode-tested, not scored
An example Bitcoin (BTC) QR code from this generator — the same code the preview above shows, decoded before it was published.

Built to ISO/IEC 18004:2024 (the QR code symbology) · BIP-21 (the bitcoin: payment URI)