Make an Ethereum QR Code From Your Wallet Address
Paste your 0x address, add an amount if you want one, and download a code that any Ethereum wallet reads - exported at print quality, with the checksum casing left intact.
Opens in Google Maps. Coordinates work too - "37.4224, -122.0841".
The code opens your business's "Write a review" form. Paste the Place ID, or a Google Maps link that carries one.
A UPI link carries no checksum, so a mistyped ID produces a code that scans perfectly and pays somebody else. Paste the ID from your payment app rather than typing it, and send yourself one rupee before printing.
Paste it exactly as copied. KoloQR does not assemble the payload - it encodes the one your bank issued, and checks it before you print it.
SVG, PNG, JPG • Max 2 MB
What Is an Ethereum QR Code?
An Ethereum QR code is a QR code that stores an Ethereum payment URI - an address, and optionally a value - written in the EIP-681 format. Scanning it in a wallet app fills in the recipient so nobody has to retype a 42-character hex string. The address lives in the pattern; no transaction happens until the sender approves one.

What EIP-681 Puts Inside the Pattern
The payment URI is a compact structure, and one of its parts trips up almost everyone the first time:
- ethereum: - the scheme. It is what makes the phone offer the code to a wallet app rather than to a browser.
- The 0x Address - 42 characters: the 0x prefix and 40 hexadecimal digits. Its mixed case is not decoration, and the next section explains why.
- ?value= - optional, and expressed in wei rather than in ether. One ETH is 10^18 wei, so 0.5 ETH is written as 500000000000000000 - eighteen zeros are easy to miscount by hand.
KoloQR converts the amount you type in ETH into wei for you, which removes the most common hand-built-URI error. Nothing in the code touches a network: an Ethereum QR code is text about where to send funds, and it cannot move anything on its own.
Never Uppercase an Ethereum Address
An Ethereum address is hexadecimal, so its letters could in principle be written in either case - and EIP-55 uses exactly that freedom to carry a checksum. The pattern of capitals and lowercase letters across the 40 hex digits is derived from a hash of the address itself, which lets every wallet detect a mistyped or corrupted address before it sends anything. Flatten the case and you throw that protection away: the address still points at the same account, but no wallet can tell whether it is the address you meant, and some refuse a mixed-case address whose checksum does not validate. This is the exact opposite of the Bitcoin bech32 trick, where uppercasing is recommended because it makes the QR pattern sparser - and it is why the two must never be treated as the same technique. On Ethereum, copy the address exactly as your wallet gives it to you, never retype it, and never let a design tool or a spreadsheet normalise the case. The denser pattern is the price of a checksum that catches errors, which on a payment code is a good trade.
Generate QR Code
Where Ethereum QR Codes Are Used
Forty-two hexadecimal characters is not something anyone should transcribe, which is why the code turns up wherever an address has to leave a screen:
How to Create an Ethereum QR Code
Address, amount, download - and one check that matters:
Generate QR Code- 1
Copy the Address Exactly From Your Wallet
Copy and paste it, never retype it, and never change the capitalisation. The mixed case is the EIP-55 checksum, and flattening it removes the only error protection the address has.
- 2
Open the Type Picker and Choose Ethereum
Ethereum sits under More, in the Crypto group. Paste the address, and enter an amount in ETH if you want one - KoloQR converts it to wei for the URI.
- 3
Say Which Network It Is For
The same address exists on every EVM chain. Print “Ethereum mainnet” - or the L2 you mean - beside the code, because the code itself cannot say it.
- 4
Verify by Scanning, Character by Character
Scan the exported file with a real wallet and compare the whole address against the one you copied, not just the first and last four. Then export SVG or PDF for print.

Which File Format Should You Download?
KoloQR exports your Ethereum QR code in three formats. Pick by where it will be seen:
- PNG for point-of-sale screens, overlays, and web pages, where the code appears at one fixed size.
- SVG for donation signage, invoices, and printed cards - anything a printer scales without softening the edges.
- PDF for handing to a print shop or dropping into an invoice template at print-ready quality.
Ethereum codes are among the densest on this site: a 42-character mixed-case address cannot use the alphanumeric encoding, and a value in wei adds eighteen more digits. That combination needs vector export and generous sizing - a payment code that fails to scan sends someone back to typing hex by hand.
Generate QR CodeBest Practices for Ethereum QR Codes
A payment code has a failure mode no other QR type has, and Ethereum adds a second one on top of it:
Preserve the Address Casing Exactly
The mixed case is the EIP-55 checksum. Flattening it to all lower or all upper strips the wallet's ability to detect a corrupted address before sending.
Always Name the Network
The same 0x address exists on Ethereum, Arbitrum, Optimism, Polygon, Base and every other EVM chain. Funds sent on the wrong one are usually unrecoverable, and the code cannot say which you meant.
Let the Generator Convert ETH to Wei
EIP-681 expresses value in wei - eighteen decimal places. Typing that by hand is how an amount ends up a thousand times too large or too small.
Verify the Whole Address After Generating
Scan the exported file in a wallet and compare every character. Checking only the first and last four is exactly the shortcut address-swapping malware relies on.
Be Careful With Fixed Amounts in Print
A value in wei is fixed the moment it is printed while the exchange rate is not. Print the address alone on anything long-lived and let the sender enter the amount.
A Plain Address Code Won't Move Tokens
It requests ETH. Sending USDC or any other ERC-20 needs a token transfer, which a plain address URI does not express - so label the code with the asset you expect.
Keep the Modules Pure Black
Style the artwork around the code, not the pattern. This is the one type where a marginal contrast ratio is never worth the design.
Protect the Quiet Zone
Four modules of clear margin on every side, and more on a busy sign. Error correction can rebuild damaged modules; it cannot find a code with no margin.
Size It Generously
At least a tenth of the reading distance, then a step larger. These are dense symbols, and density is the thing print quality punishes first.
Never Publish a Private Key or Seed Phrase as a Code
A receiving address is safe to show anyone. A private key or seed in a QR code is the entire wallet, readable by every camera in the room.
Why Your Ethereum QR Code Isn't Working
An Ethereum code fails in ways worth knowing before money is involved. These four cover nearly every case.
The Wallet Warns That the Checksum Is Invalid
- Cause
- The address casing was changed somewhere between the wallet and the generator - flattened to lowercase by a spreadsheet, uppercased by a design tool, or retyped by hand.
- Fix
- Copy the address fresh from your wallet and paste it without editing. Never apply the Bitcoin uppercase trick to an Ethereum address; there the casing is free, here it carries the checksum.
Funds Were Sent and Never Arrived
- Cause
- Almost always the wrong network. The same address exists on every EVM chain, and a transfer on Polygon to an address you watch on mainnet is invisible in your wallet even though it succeeded.
- Fix
- Print the network name beside the code, in words, on every surface. Check the address on the block explorer for the chain the sender actually used before assuming anything is lost.
The Amount Was Wrong by Orders of Magnitude
- Cause
- The value parameter was written in ether rather than wei, or a hand-typed wei figure was miscounted. One ETH is eighteen zeros, and eighteen is hard to count.
- Fix
- Enter the amount in ETH and let the generator convert. If you are checking a URI you were given, count the digits after value= before trusting it.
The Code Is Very Dense and Hard to Scan
- Cause
- A mixed-case address cannot use the QR alphanumeric encoding, so all 42 characters go into byte mode at 8 bits each - and a wei value adds up to eighteen more digits.
- Fix
- Drop the value parameter if it is not essential, export SVG or PDF, and print larger. Uppercasing is not an option here; the checksum is worth more than the density saving.
Still not sure whether the fault is the file or the print? Drop the exported image into the QR code scanner - if it decodes on a desktop and not on paper, the fault entered after the file.
Questions? Answered
An Ethereum QR code stores a payment URI - an address, and optionally a value - in the EIP-681 format. Scanning it in a wallet app fills in the recipient, so nobody has to retype a 42-character hex string.
Copy the address from your wallet, choose Ethereum in KoloQR's type picker, and paste it in. Add an amount in ETH if you want one pre-filled, then download PNG or SVG. Nothing is sent to a server.
Because it's the EIP-55 checksum. The pattern of upper and lowercase letters is derived from a hash of the address, and it's what lets a wallet detect a corrupted address before sending. Flattening it removes that check.
No. Uppercasing a bech32 Bitcoin address is recommended because it makes the pattern sparser and the case carries no meaning. On Ethereum the case carries the checksum, so uppercasing destroys real error protection.
EIP-681 expresses it in wei - one ETH is 10^18 wei. Enter the amount in ETH and let the generator convert it; hand-typing eighteen zeros is how amounts end up a thousand times off.
A plain address URI doesn't. The same 0x address exists on Ethereum, Arbitrum, Optimism, Polygon and every other EVM chain, so print the network name beside the code - it's the most expensive mistake to get wrong.
A plain address code requests ETH. Tokens are moved by a contract call that a simple address URI doesn't express, so label the code with the asset you expect - senders choose the token in their wallet.
Yes, if it holds a receiving address - that's public and can only be used to send you funds. Never publish a private key or seed phrase in a code; that is the entire wallet, readable by any camera.
No. The scan fills in the recipient and, if present, the value. The sender still reviews and approves the transaction in their wallet - a QR code cannot move funds on its own.
Because the mixed-case address forces byte-mode encoding at 8 bits per character, where an uppercased bech32 address gets alphanumeric mode at 5.5. Add a wei value and the payload grows again - so print larger.
Keep Exploring
Pages that pick up where this one leaves off - the same setting, the same kind of code, or the next thing worth deciding.
Bitcoin QR Code
Turn a Bitcoin address into a code any wallet app can scan, with an optional amount.
Branded QR Codes
Match QR codes to your brand with a logo, colors, and custom shapes - without sacrificing scannability.
Etsy QR Code
Send a scan to your Etsy shop or to a single listing, from a tag or a stall sign.
PayPal QR Code
Take a payment from a printed code by sending the scan to your PayPal.me link.
Why a QR Code Is Not Scanning, and How to Tell Which Fault You Have
The three ways a QR code fails - never detected, read badly, or read perfectly into a broken destination - and how the symptom tells you which one you have before you measure anything.
WiFi QR Codes
Guests scan once and connect - no password read out letter by letter, no app to install.
Why KoloQR?
- Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
- Customize colors, logos, and unique shapes
- Download high-quality PNG and SVG files
- Built for both print and digital
