WatermarkPictureStart

QR code watermarkA QR code on your photo that still scans

Link your shop or portfolio from the picture — made on this page and checked at the size you save.

Choose photoor drop it here · paste works too

No photo handy?

FreeNo sign-upPhotos stay on your device

A snowy peak over a still lake with “© Alpine Light” set in the bottom right corner

Try it first

Play with a live sample

Encoded on this page from your link, with a plate, a quiet zone, a caption — and a check that it will scan at the size you save. Move the controls — open your photo and the same studio fills with it.

A drawing, not a photograph — but the mark on it is real work. It is laid down by the same renderer that writes your files, from the same settings, at the reduced size a preview uses. Move the grid or the opacity in the inspector and this redraws.

Drop one photo or three hundred. Set the mark once. Every file gets the same one.

Drop one photo or three hundred. Set the mark once. Every file gets the same one.Marks are applied here. No picture is sent anywhere.

When a QR code belongs on a photo

A QR code turns a photo into a way back to you: a product shot that opens your shop, a print at a market stall that opens your portfolio, a poster that opens the booking page. It is not a protection against copying — anyone can crop it off — so put it where it is useful and leave the protecting to a name or a lattice.

The code is encoded here from what you type, following the QR standard: function patterns, error-correction codewords, the mask with the lowest penalty. Nothing is asked of a generator service, so there is no short link to expire and no record of what you encoded.

Size and contrast for scanning

Pixels per moduleEach square of the code needs about 3 output pixels for a phone to read it reliably. The check shows the figure at the size you will save, not on the screen.
ContrastModules against the plate, as a WCAG ratio. Dark on light, 3 : 1 or better.
OpacityA translucent code lets the photo show through its modules. 90–100 % scans most reliably.
Smallest widthThe narrowest mark that still gives 3 px a module on this picture, in pixels and as a share of the width.

The mark’s width snaps to a whole number of pixels per module, so the saved code has no blurred seams between squares.

Plate and quiet zone

Readers look for a light margin around the code — the quiet zone. Here it is drawn on the plate, from 0 to 8 modules wide (this mode starts at 4, the standard’s figure). The plate is what makes a code readable on a busy photo; switch it off only on a plain light background. A short caption under the code — “Scan for the shop” — tells people what they will get.

  • The scan check predicts from geometry and colour; it does not run a scanner. Test the saved file with a phone.
  • A code holds up to 180 bytes here — enough for a shop link or a contact line, not a paragraph.

What the code contains stays here

The link you type is encoded in this tab and drawn onto your picture; neither is sent anywhere. To put a code inside a designed badge with your name, use the watermark maker; to put one on a whole folder of product shots, use the product photo mode.

QR code watermark questions

Will the QR code scan once it's small?

The scan check tells you before you save. It works out how many pixels each module of the code gets at the saved size and warns under 3, measures the contrast between the modules and the plate and warns under 3 : 1, and states the narrowest mark that still gives 3 pixels a module on this picture. It is a prediction from the code's geometry, so try the saved file with your phone before you print or post it.

Does the code expire?

No. The code is encoded on this page directly from the text you type — your link goes into the pattern itself, with no redirect or short link in between — so it keeps working for as long as the link does.

Is my link sent anywhere?

No. The QR pattern is computed by code that runs in this tab; the link is not fetched, shortened or checked over the network. The photo stays on your device too.

Which error correction should I pick?

This mode starts on Q, which survives about a quarter of the code being damaged — useful on a photo where the plate is translucent or a corner is busy. L holds the most data in the fewest modules; H survives the most damage but makes the code denser at the same size. Levels a link is too long for are greyed out.