TBToolbox
QR & Barcode

Bitcoin Payment QR Code

Bitcoin Payment QR Code creates bitcoin:address and optionally appends ?amount=value. It does not validate the address, network, checksum, amount, decimal precision, ownership, wallet compatibility, fees, or current exchange value. Cryptocurrency transfers can be irreversible, so the recipient and amount must be verified in the wallet before approval.

Runs locally — files stay on your device
Quick answer

Does generation prove the Bitcoin address is correct?

No. The address and amount are inserted as entered without validation.

A BIP 21 URI is a payment request, not a transaction

The URI can suggest a recipient and parameters to a compatible wallet. The wallet and user still construct, review, sign, and broadcast any transaction.

How it works

Enter the recipient string and optional BTC amount. The page concatenates them into a simple bitcoin URI and encodes it.

Key concepts

QR replacement attacks are possible

A printed or displayed code can be swapped for an attacker's address.

The wallet is the final control

Verify address, amount, network, and fees before signing.

When to use it

  • Draft a static payment request for a verified address.
  • Reduce manual address transcription.
  • Test BIP 21 handling in a wallet.

When not to use it

  • Do not use an address received through an unauthenticated channel.
  • Do not rely on the page to validate amount or network.
  • Do not scan and approve without comparing the wallet display.

Worked examples

Address only

Input
Verified Bitcoin address
Expected output
bitcoin:address

The wallet prompts for amount.

Amount request

Input
Address; amount 0.001
Expected output
bitcoin:address?amount=0.001

The value is inserted as text.

Invalid amount

Input
Amount abc
Expected output
QR still generated

No numeric validation occurs.

Common mistakes

Skipping address comparison

Malware or tampering can replace the destination. Correction: Verify on a trusted wallet display.

Assuming network validation

The generator does not parse address formats. Correction: Let a trusted wallet reject incompatibility.

Treating the request as paid

A QR does not prove a transaction occurred. Correction: Verify confirmations independently.

Best practices

  • Authenticate the source of the request.
  • Verify wallet-displayed recipient and amount.
  • Use a fresh address according to wallet privacy guidance.

Related operations and differences

Ethereum Payment QR Code

Choose Ethereum Payment QR Code when you need to create an Ethereum payment URI QR code.; use Bitcoin Payment QR Code specifically for qr bitcoin.

Code 128 Generator

Choose Code 128 Generator when you need to generate a downloadable Code 128 barcode.; use Bitcoin Payment QR Code specifically for qr bitcoin.

Code 39 Generator

Choose Code 39 Generator when you need to generate a Code 39 barcode.; use Bitcoin Payment QR Code specifically for qr bitcoin.

Contact vCard QR Code

Choose Contact vCard QR Code when you need to create a contact card QR code.; use Bitcoin Payment QR Code specifically for qr bitcoin.

EAN-13 Generator

Choose EAN-13 Generator when you need to generate an EAN-13 retail barcode.; use Bitcoin Payment QR Code specifically for qr bitcoin.

EAN-8 Generator

Choose EAN-8 Generator when you need to generate a compact EAN-8 barcode.; use Bitcoin Payment QR Code specifically for qr bitcoin.

Limitations and privacy

  • No address, checksum, network, amount, fee, ownership, balance, payment, or confirmation validation.
  • Only the simple amount parameter.
  • No exchange-rate conversion.

Generation happens locally in this browser. The PNG contains the entered payload, so share it with the same care as the underlying data.

Frequently asked questions

Does it send Bitcoin?

No.

Is the address validated?

No.

Is amount validated?

No.

Does the QR prove payment?

No.

References