Skip to content
Available now

Hide a card number in a photo

People photograph cards constantly: to send details to a partner, to attach to an expenses claim, to show a bank what went wrong. The photograph then lives in a chat history and a cloud backup for as long as the account exists.

This finds the number, covers it, and does the same for anything else on the card that matters.

Works today, in your browser. Photos open in the editor and Word documents are checked for hidden data; either way the file is read on your device and never uploaded.

A real test, not a pattern

A detector that flags any sixteen digits will flag order numbers, tracking codes and part numbers, and after the third false alarm people stop reading the results.

So the card detector runs the Luhn checksum, which every real card number satisfies and most random digit strings do not. What it reports is a number that could be a card, rather than a number that is the right length.

What else is on the card

The long number is the part people think about, and on its own it is usually not enough. The expiry date, the name and the security code on the back are what turn it into a usable set — and all three are in the same photograph.

Those are read as text as well, and sit under the other categories in the panel. Covering all of them takes one more click than covering the number alone.

The right way to send card details

Not in a photograph. If someone asks for a card number, read it to them, use the provider’s own sharing feature, or use a virtual card number you can cancel.

This exists for the photographs that already exist, and for the ones where the card is incidental — a receipt on a table, a card in the corner of a desk shot.

How to do it

  1. 1Open the photoThe number is found and covered with a solid box.
  2. 2Cover the name and expiry tooThey are listed separately, and they matter.
  3. 3Save the copyThe pixels are replaced; the original stays with you.

Questions

  • No. The checksum is arithmetic, done in your browser. Nothing about the card leaves the device, and the number is not even included in the result the page receives — the label shows a masked preview, never the digits.

Related

We report no issues found, never “safe”. Absence of detections is not proof of absence, and detection is best-effort.