Privacy policy

Short version: your images stay on your device, because there is no code here that could send them anywhere else.

Last updated: 2026

What happens to your images

Nothing leaves your computer. LocalPhotoTool is a static website: the browser downloads the page and its scripts, and then does all decoding, resizing, analysis and encoding locally using standard web APIs (Canvas, Web Workers, Blob and WebAssembly).

  • No uploads. There is no endpoint on this site that accepts image data, and no script here sends a single byte of your image over the network.
  • No storage. Files are held in browser memory for the duration of a session and are discarded when you close or reload the tab. There is no server-side copy because there is no server-side processing.
  • No logging of file names or contents. Standard web-server access logs may record the URLs of pages and assets you request (as with any website), but your images are never part of any request.

Metadata in your photos

Because output files are rebuilt from pixels, EXIF metadata — including GPS coordinates, camera model, serial numbers and embedded thumbnails — is removed by default. The camera orientation tag is applied to the pixels first so your photos remain upright.

What the site does store

A few small things, all of which stay on your device and can be cleared at any time from your browser settings:

  • Your compression settings (strategy, format, quality, resize limits) are saved in localStorage so the page remembers your preferences next time.
  • Your theme choice (light or dark) is saved the same way.
  • The tools you open — a short list of the tools you used on this device, so the homepage can put them at the top for next time. It is only page names, kept in localStorage, never sent anywhere, and it can be wiped with the Clear your tools button.
  • A random visitor ID — a string of letters and digits generated in your browser — is used only to avoid counting the same person twice in the visit counter described below.

None of these values contains any information about your files.

The visitor counter

We keep one anonymous, de-duplicated count of how many people have used the site — for our own reference. It is deliberately the least invasive thing that can still answer that question:

  • No cookies. The ID lives in localStorage on your own device; it is never sent to an advertising network and is not combined with anything else.
  • No profiling. The page sends only that ID and the page path. No user agent, referrer, IP address or screen details are stored, and nothing is kept that could identify you.
  • De-duplicated. The ID is stored as a one-way hash (SHA-256) and counted once per day, so reloading, opening several tabs or coming back tomorrow does not inflate the number.
  • First-party core. The counter runs on this domain. There is no advertising tracker, no cross-site tracking and no tracking pixel anywhere on the site.
  • Bots excluded. Crawlers, uptime monitors and link-preview fetchers are filtered out, because they are not people.

If you would rather not be counted at all, blocking or clearing site data for this domain is enough — the site works exactly the same without it.

Third-party requests

The site loads its own styles and scripts from its own domain. Optionally, when a browser cannot encode a format natively, the page may fetch a WebAssembly codec module (for example MozJPEG or libwebp) from a public CDN such as esm.sh or jsDelivr. That request contains no image data, no identifiers and no personal information — it is the same kind of request as loading a library from a script tag.

If those modules cannot be reached, the site falls back to the encoders built into your browser and every feature continues to work.

For page-view statistics the site uses Cloudflare Web Analytics, chosen because it does none of the things this policy rules out: it sets no cookies and writes nothing to localStorage, it does not fingerprint your device, it does not follow you to other websites, and it reports only aggregate figures — page, referring site, country and device class. No individual visitor profile is built, and nothing is passed to advertising networks.

The one exception is the device-to-device transfer page. To introduce your two devices to each other, that page exchanges connection details (network addresses and encryption keys) with a public signaling service — the same kind of handshake any video call makes. The signaling service relays nothing else: file and message contents travel directly between your two devices over an encrypted connection. When both networks are too strict for that direct link, the page routes the encrypted stream through a public TURN relay so the transfer can still complete — the relay forwards already-encrypted bytes, cannot read them and stores nothing. The page states this in a notice at the top of the tool.

What we do not do

  • We do not use advertising networks or third-party analytics that profile you.
  • We do not set tracking cookies.
  • We do not require an account, so we hold no email address, name or payment details.
  • We do not sell or share data, because there is no personal data to sell or share.

Children

The service is suitable for everyone and does not knowingly collect any personal information from anyone, including children under 13.

Changes

If this policy changes, the revised version will be posted on this page with an updated date. If a change ever meant images would leave your device, that would be stated plainly at the top — and it would contradict everything this site is built on.

Contact

Questions about privacy: [email protected]