Payment Codes on One Image
ImagesEverything runs locally in your browser — nothing is uploaded
Drop an image here, or click to choose
Or press Ctrl/⌘ + V to paste a screenshot
PNG / JPEG / WebP / GIF / BMP / AVIF · up to 30 MB each
Put two payment QR codes on a single image so a customer scans once and picks. The one real constraint: never rescale a QR code. The instinct is to scale both to a common height and line them up, but a QR code is a grid of modules and scaling resamples it, smearing squares into grey edges; downscaling discards sampling points — shrink an 800px code to 400px and a stripe one module wide may end up half a pixel. The result looks perfectly fine and only fails when a customer is standing at the counter. So nothing here is scaled: both codes are drawn at their original pixel size, each centred in its own cell. Codes of very different sizes will not look tidy, and untidy beats unscannable. The surrounding white space is not a style choice, it is what makes scanning possible. A QR code needs a clear margin (the quiet zone, four modules wide by spec) so scanners can find its edges; two codes placed too close lose that margin on their facing sides. The background must be light as well: scanners find the code by the contrast of dark modules against a light field, and on a dark background the quiet zone disappears. Colours, captions and spacing are all adjustable with a live preview. Everything happens locally and the codes are never uploaded — a payment code is your account information, which matters more here than with any other image.
Features
- Merge two (or more) payment codes into one image
- Side by side or stacked
- ⚠️ Nothing is rescaled — original pixels only, because scaling destroys scannability
- Adjustable margin and gap (the margin is the quiet zone a scanner needs)
- Optional caption under each code, such as the wallet’s name
- Adjustable background, white by default (dark backgrounds break scanner edge detection)
- Codes of different sizes are each centred in their own cell
- If the canvas exceeds the browser limit it says how to shrink it rather than handing you a blank image
- Merged in the browser; the codes are never uploaded
How to use
- Choose the first payment code, then the second (the order sets the layout order)
- Pick side-by-side or stacked, and fill in the two captions if you want them
- Adjust the margin and gap to taste (do not shrink the margin too far)
- Download the merged PNG
FAQ
- Why not scale both codes to the same size?
- Because it destroys scannability — in a way you cannot see. A QR code is a grid of modules and scaling resamples it; enlarging merely softens the edges, but shrinking throws sampling points away. An 800px code reduced to 400px can leave a one-module stripe half a pixel wide, and the scanner is then guessing. Hence nothing is rescaled here. It is also why two codes of different sizes come out untidy: tidiness is secondary, scannability is the hard requirement.
- Why leave so much white space?
- Because the QR specification requires a clear margin around the code (the quiet zone, at least four modules wide) for scanners to find its edges. When two codes sit next to each other, the space between them serves as the quiet zone for both — leave too little and a scanner may merge them into one code or fail to find an edge. The default 32px is estimated for typical payment codes; if yours are large (1000px and up), scale it up proportionally.
- Can I use a dark background?
- No — scanning will fail. QR recognition depends on the contrast of dark modules against a light field: the scanner binarises the image, then looks for the code’s boundary and quiet zone. On a dark background the light quiet zone is gone and the boundary cannot be found. It is not “some phones struggle”, it is “it does not scan”. The option is there for the cases where you genuinely know what you are doing.
Related tools
QR Code Reader
ImagesRead a QR code from a screenshot or photo. URLs, WiFi settings, contact cards and plain text are recognised; WiFi passwords are pulled out for you.
QR Code
GeneratorsGenerate QR codes for text, links, WiFi, contact cards or calendar events, with adjustable colours, downloadable as PNG or vector SVG.
Image Stitcher
ImagesStitch images into a tall strip, side by side, or a grid. Adjust the gap, corners and background; uniform sizing never upscales. Runs in your browser.
Image Converter
ImagesConvert between PNG, JPEG, WebP, AVIF, BMP and TIFF, with adjustable quality and size. JPEG output lays a background, so transparency never turns black.
Image Slicer
ImagesSlice an image into a grid for nine-tile posts or a tall image. Six grid shapes, per-tile padding, and names padded for posting in order.
Image Watermark
ImagesAdd a text watermark to a photo: nine positions plus tiling, with the size scaled to the image so it looks the same at any resolution.