Background Remover
Cut a uniform background out of a logo, product shot or sprite - no AI, no upload.
Resize and re-encode images to JPEG, PNG, WebP, or AVIF, with a real measured before/after file size.
It is real. process() calls the result canvas's toBlob() with your chosen format and quality, waits for the actual encoded bytes, and reports that measured size next to the real byte size of the file you uploaded. Nothing here is guessed from resolution or a compression-ratio formula.
No, deliberately. Max width/height only ever scale an image down to fit inside that box (like CSS object-fit: contain) - if the original is already smaller than both limits, it is left at its original size. This is a compressor, not an upscaler, and upscaling would only add blur while making the file bigger, not smaller.
AVIF encoding support via canvas.toBlob() is inconsistent across browsers - Safari in particular may not support it at all. When toBlob() returns null for the format you picked, this tool says so plainly instead of pretending it worked, and still hands back the resized image so you can save it as PNG, WebP, or JPEG instead.
No. Decoding, resizing, and re-encoding all happen with the browser's own <canvas> and toBlob() APIs on your device. The image is never uploaded anywhere, which is also why the "original size" comparison is only available for a file you actually chose - the built-in Example image was never a file on disk, so that number is honestly reported as unknown rather than faked.
Cut a uniform background out of a logo, product shot or sprite - no AI, no upload.
Convert an image to a Base64 data URI for inline embedding.
Generate a favicon.ico plus every PNG size and the ready-to-paste head tags to match, entirely in your browser.
Your input is saved in this browser so a refresh does not lose it. Tools handling credentials are never saved.