Skip to content
qrcodegenerator.in
SOLANA

Solana QR code generator

A Solana Pay request: address, amount in SOL, and an optional label the wallet shows the payer. The payer approves in their own wallet.

A Solana QR code stores a solana: transfer request with the recipient and an optional amount, which a Solana wallet opens ready to send.

Add the content
Checked for length only — a Solana address carries no checksum, so nobody can tell a typo from a real address.
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 datasolana:Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYBThe exact text the symbol carries — what any scanner will read out.
Save this design — free account, the code stays editable →
Your code
v433×33 modulesmixedEC-M53/64mask 3
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

Amounts in SOL, not lamports

Solana Pay takes the amount in the units a person types — 0.5 means half a SOL. There is no conversion to get wrong here, which makes it the most forgiving of the payment standards we build.

What we can check, and what nobody can

A Solana address is a 32-byte public key written in base58. We verify it decodes to exactly 32 bytes. There is no checksum in the format, so a typo that still lands on 32 bytes is undetectable — by us, by the wallet, by anyone. Scan the printed code with your own wallet before you print a thousand of them.

Label, message and memo

The label names you in the payer’s wallet and the message describes the payment; the memo travels on-chain with the transaction. All three are percent-encoded, so an ampersand in a shop name cannot break the request.

Solana QR codes

Does this work for USDC or USDT on Solana?

USDT has its own page, which fills in the mint address for you. This page builds a native SOL transfer.

What is a transaction request?

Solana Pay also defines a form where the code points at a server that returns a transaction to sign. That is a live integration rather than a printed code, and we do not generate one.

Can the payer change the amount?

Yes. The wallet prefills what the code carries and the payer confirms or edits before anything is signed.

Why does my address look shorter than the example?

Base58 drops leading zero bytes into single characters, so a valid address can be 43 characters instead of 44. Both are 32 bytes.

Example Solana (SOL) QR code made with this generator, decode-tested, not scored
An example Solana (SOL) 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) · Solana Pay specification (the solana: transfer request)