Choose a static image, select JPEG or WebP, switch to Target size and enter 500. ImageCompress interprets this as 500,000 bytes, not 512,000. It tests a bounded set of qualities and reports the exact selected Blob, quality and attempt count. Because browser codecs differ, this worked workflow intentionally does not invent one universal output byte count.
Decide from the returned status
TARGET_MET means the selected tested Blob is at or below 500,000 bytes. TARGET_NOT_MET means even the quality-10 attempt exceeded it at unchanged dimensions. In either case inspect the preview. Download only if the actual appearance and destination support are acceptable.
Inspect the actual output
The preview and download point to the same browser-created Blob, so compare edges, gradients, text and transparent areas before using it. The byte count is exact for that Blob, but another browser or codec version may produce different bytes from the same visible settings. Keep the original file until the destination accepts the result.
Know what re-encoding changes
ImageCompress preserves decoded pixel dimensions, not the original encoding. It does not promise metadata, ICC profiles, DPI, animation, byte identity, losslessness or professional colour fidelity. JPEG replaces transparency with the selected matte. Use ImageResize separately when changing dimensions is acceptable and a smaller byte budget cannot be reached by quality alone.