Practical image workflow
Why Image Compression Misses a Target Size
Diagnose genuine target misses: encoding overhead, format constraints, detail, dimensions and upload rules can conflict.
Read the result before changing settings
A target is a request, not a guaranteed output. Read the exact bytes and the reached/not-reached status for each file. The tool does not replace a smaller original with a larger re-encoded copy. An already-small file may therefore remain unchanged; an original above a very low target can remain above it when encoding cannot help. A failed decoding row is different from a successful compression row that missed its size target. Retry with new settings only after understanding which state you have.
A file has a minimum encoding cost
Even a tiny image needs a header and encoded data. A target below that overhead cannot be reached merely by reducing quality. The iterative search is bounded to keep browser work finite, so it also cannot promise the mathematical smallest representation of every image. Repeatedly retrying the same source with the same settings is unlikely to solve this. Avoid interpreting an approximate displayed KB label as proof: use the exact byte count and the correct KB/KiB unit.
PNG quality is not a photo-quality knob
PNG stores rendered pixels losslessly, but shrinking the pixel grid removes original detail. Transparent graphics, noise and dense screenshots behave differently from smooth photographs. Moving a quality slider cannot make PNG become a low-quality JPEG. If the receiving service allows JPG and transparency is unnecessary, explicitly convert a copy and compare it. Keep a PNG original for logos and transparent artwork; never silently flatten it just to chase a byte limit.
Resolve conflicting requirements
Suppose a form needs an exact pixel box, a specific format and a strict byte cap. Cropping or padding can establish the pixel box; compression might then reduce it to meet the cap. Inspect both conditions afterward. Text may become unreadable before the file fits. In that case, simplify irrelevant margins or use a cleaner scan, and consult the receiver rather than claiming the file is compliant. Upscaling a tiny image only increases pixels; it does not add captured detail.
Separate an upload rejection from a compression miss
A server can reject a file because of its MIME type, extension, pixel bounds, orientation, content rules or its own interpretation of size. FileOnTap cannot reproduce a private receiving service’s checks. Verify that the downloaded extension matches the real format and that the output opens locally. Keep the original, inspect the service’s error, and adjust the relevant property rather than reducing quality without a reason. Corrupt and unsupported files should be replaced with a valid static image.
Further reading
Browser image export and file-size units: MDN canvas toBlob and NIST SI prefixes. These describe APIs and units, not a guarantee of any upload service accepting your file.