Privacy
Bytes are read from disk by this page, rewritten in a worker and handed straight back to your download folder; no origin, no queue and no log ever sees them, and nothing survives the tab closing.
The short version
Pick a file, and the picture is decoded and re-encoded by code running on your own machine. There is no server behind this site — it is a static export, there are no API routes, and no endpoint exists here that could accept a file even if something tried to send one. Close the tab and nothing about your picture remains.
What happens to a file you open, precisely
- The browser hands this page a reference to the file you chose. The first megabyte is read to identify the format and to measure the metadata blocks; the rest is read to decode the pixels.
- The pixels live in memory as an ImageBitmap. They are not written to local storage, session storage or IndexedDB — a build-time audit fails this site if any of those appear in code that can reach an image buffer.
- Re-encoding happens in a Web Worker on the same machine. The result is a blob in memory, which the download control hands to the browser as a file.
- Nothing about the file — not its name, not its size, not its dimensions, not its contents — is transmitted anywhere by this page.
- Reloading or closing the tab discards all of it. There is no history and no recent-files list.
Saved recipes — only if you save one
The Presets panel has a Save button. Pressing it stores the settings on screen — the goal, the cap, the format, the quality, the dimensions, the metadata policy — under a name you choose, in this browser's own IndexedDB storage for this site. It stores no picture, no file name and nothing about any file. It is never sent anywhere, other sites cannot read it, and the × on a saved recipe deletes it (clearing this site's data in your browser deletes them all). If you never press Save, nothing is stored.
What this page downloads, and when
- The page itself, its styles and its scripts, from compresspicture.com.
- The image worker (/image-worker.js, a few tens of kilobytes), the first time a picture is opened. It does the re-encoding off the main thread and contains no network or storage code — the build checks that.
- The HEIC decoder, about two megabytes of WebAssembly, only when you open a HEIC file — never before. It comes from compresspicture.com like everything else.
- The encoders, each the first time an encode needs it, from this site's /codecs/ folder: MozJPEG (283 KB) for JPEG, libwebp (312 KB) for WebP, libavif (3.4 MB) for AVIF and OxiPNG (166 KB) for PNG. They run inside the image worker; your browser caches them afterwards.
- Nothing else. No fonts, scripts or frames from anyone else load on the tool pages, apart from the measurement beacon described next.
What the analytics see
CompressPicture uses Cloudflare Web Analytics, with a property and token that belong to this site alone. The beacon is loaded only when the page is served from compresspicture.com itself — not on a local copy, a preview deployment or any other address. It records page views and page-load timings, together with the path of the page, the referring page, the browser, operating system and device type, and a country derived from the request.
It sets no cookie and stores nothing in your browser, so it cannot recognise you from one visit to the next. It never receives a picture you open, its name, its size or dimensions, the settings you chose or the file you downloaded: all of that stays inside the tab, and nothing in the image code can send it anywhere.
Software this site ships
The encoders and decoders above are open-source software used under their own licences — including libheif under the LGPL-3.0, loaded as a separate, replaceable file. The full list, with each licence, is in the licence notice.
Advertising
There is none. Advertising on this site is served by Google AdSense; the ad script loads on the page but never receives your images, file names or anything you do in the tool.
What is not here
- No accounts and no sign-in. No tool asks for an email address; only the contact page does, and only if you choose to write.
- No file storage, no processing queue, no logs of your work.
- No cookies, and no identifier shared with any other site.
- No browser storage of anything but the recipes you choose to save.
- No tracking parameters on outbound links. The only ones are to official portals, on the upload-spec pages.
The contact page
The contact page is the one place on this site that sends anything, and it sends only when you press its Send button: the name, email address and message you typed, plus the name of this site, posted to a Google Form that the people behind CompressPicture read. Nothing goes while you type, that page loads no Google script, font or frame beforehand, and no other page here talks to Google. It cannot carry a picture.
Contacting us and changes to this page
If something on this page turns out to be inaccurate, it is a bug and worth reporting through the contact page. Any change to how this site handles files will be described here before it ships, and a change that introduced a server-side step would be a different product rather than an update to this one.