The limit nobody else removes
"Nothing is uploaded" has stopped being a differentiator — most of the good image tools run locally now. What none of them removed is the file count. Squoosh, the reference implementation of the idea, still handles one image at a time. Caesium caps a session at ten. TinyPNG's web tool stops at twenty, because behind it there is a server being paid for.
We have no server in this path, so the cap has no reason to exist. The honest framing is not "no limits" but your device's limits rather than ours — which is why images are processed one after another instead of in parallel. Decoding several large photographs at once is the fastest way to exhaust a phone's memory and lose the tab.
What it will not do
No AVIF encoding, because no browser offers it from a canvas. No PDF, no video, no OCR — each of those needs either a large WebAssembly payload under a copyleft licence or a server, and both would break something we would rather keep true. The size limits that do apply are your browser's: canvases are capped at 8,192 pixels on a side and about 16.7 million pixels in total (the oldest iPhones' ceiling, applied in every browser), and oversized images are scaled to fit, with the size they came out at on their card, rather than silently returning a blank file.
Questions people ask
Straight answers. Each one links directly: copy the address after opening it.
Is there a limit on how many images I can convert?
No. Nothing is uploaded, so there is no server time to meter and no reason to cap you. The practical ceiling is your own machine’s memory, which is why the queue processes images one at a time rather than all at once. For comparison, the well-known client-side tools do cap: Squoosh has no batch mode at all, Caesium stops at ten files per session, and TinyPNG’s web tool stops at twenty.
Which format should I choose?
WebP for almost everything — it beats both JPEG and PNG on size at equivalent quality and has been universally supported since 2020. JPEG when something downstream refuses WebP, accepting that it has no transparency. PNG only for flat graphics, screenshots and anything with hard edges; it is lossless, which makes it the wrong choice for photographs where it can easily be several times larger than the alternatives.
Why is AVIF not offered?
Because no browser can encode AVIF from a canvas. Decoding is widely supported and often confused with encoding in articles on this subject; the Chromium issue for canvas AVIF encode is still open. We could ship a WebAssembly encoder, but that means roughly a megabyte of extra download and a broader Content-Security-Policy, and WebP gets you most of the way. We would rather not offer it than offer a version that quietly does something else.
Does converting remove EXIF data?
Yes, as a side effect of re-encoding — the canvas holds pixels, not metadata. That includes GPS coordinates, which phones embed by default and which are the main privacy risk in sharing a photograph. Worth knowing in both directions: if you needed the copyright or camera fields preserved, they will not survive.
Why did one of my files get bigger?
Usually converting a flat graphic or screenshot to a lossy format, or a small PNG to JPEG where the JPEG overhead exceeds the saving. The per-file figure shows a positive number when that happens rather than hiding it — a converter that only ever reports savings is not measuring anything.