Guides · · 6 min read

Image Compressor

Reduce image file size by encoding a JPEG at a chosen quality, then compare the measured bytes. This tool accepts JPEG, PNG and WebP and outputs JPEG. It keeps pixel dimensions and fills transparency with white; it does not promise a fixed percentage saving.

Concept illustration of image compressor
Image-processing concept, not a before-and-after result from your file.

Reduce image file size by encoding a JPEG at a chosen quality, then compare the measured bytes. This tool accepts JPEG, PNG and WebP and outputs JPEG. It keeps pixel dimensions and fills transparency with white; it does not promise a fixed percentage saving.

Repeated JPEG saves can introduce additional artifacts. Work from the best available original when comparing settings, and keep that original. Transparency, original metadata and animation are not retained in the JPEG output.
Image Compressor Tool

Best solution

Reduce image file size by encoding a JPEG at a chosen quality, then compare the measured bytes.

Reduce image file size by encoding a JPEG at a chosen quality, then compare the measured bytes. This tool accepts JPEG, PNG and WebP and outputs JPEG. It keeps pixel dimensions and fills transparency with white; it does not promise a fixed percentage saving.

Local image workspaceJPEG output

Choose a file to start. Nothing is uploaded.

Single still image. JPEG uses white behind transparency. Decoder notices

Kepo
Kepo · Desktop Widget for Mac

Opens the Kepo download page; this calculation or file is not transferred.

Install Widget to Mac
Key solutions at a glance The main decisions from this guide, condensed into one table.
I want to...
Solution
Use the Online Tool
Choose the file and start at quality 82.
A Concrete Example
Two 1600 × 1200 photographs can compress to different sizes at the same setting because their detail differs.
What Changes in the Image
Compression and resizing are separate operations.
Check the Download Before Using It
Open the download in the application that will receive it.
Privacy, Limits and Failure States
The image-processing code does not upload the selected file.
Use It in a Repeatable Image Workflow
For occasional edits, this browser tool can provide a quick, local step before sharing an image.

Use the Online Tool

Choose the file and start at quality 82. Lower quality gradually while checking the preview. If the original is already JPEG and re-encoding is no smaller, the tool keeps the original bytes and says so. Other source formats still produce the requested JPEG, even when the result is larger.

Choose one file using the file picker. The control shows the accepted input format and limits. A filename alone is not enough: the tool checks image bytes and then asks a decoder to open them. A damaged file or unsupported encoding produces a visible error instead of a downloadable file with a misleading extension.

Click Process image after setting the controls. Wait for the processed preview and the measured dimensions and bytes. Changing an input clears the previous result, so an old download is not presented as if it belonged to new settings. While a conversion is in progress, the interface shows that state rather than displaying an invented percentage.

A Concrete Example

Two 1600 × 1200 photographs can compress to different sizes at the same setting because their detail differs. A flat sky is not as demanding as foliage or fine texture. Use the actual byte count shown after processing, not a size estimate based only on width and height.

Output behavior of this page’s tool.
Property This task
Output JPEG
Dimensions Preserved
Quality Adjustable
Guaranteed saving None; actual bytes shown

Use a copy of a familiar image for your first check. A picture with text near an edge, a recognizable orientation and some fine detail makes changes easier to notice. Compare the downloaded file, not only its thumbnail, because a small preview can hide artifacts or a changed border.

What Changes in the Image

Compression and resizing are separate operations. This page changes JPEG encoding quality without deliberately changing dimensions. A target-size workflow may need both lower quality and smaller dimensions; use the dedicated 100 KB tool only when its additional resizing behavior is acceptable.

Pixel dimensions, encoding format and file size are separate properties. A file can keep the same dimensions and change size after encoding; a smaller pixel grid can still produce a larger file in another format. The component reports dimensions and actual bytes so you do not have to infer one property from another.

This workflow produces a single rendered still. It is not a multi-frame editor, an archival photo export or a metadata-preservation tool. Keep the original file when you need camera metadata, an animation, a depth image or the original color and HDR information. A successful download means the stated output was encoded, not that every source-container feature survived.

Check the Download Before Using It

Open the download in the application that will receive it. Confirm the file format, dimensions, orientation and visible background. If the destination has a byte limit, compare the exact byte count rather than relying on a rounded “KB” label. A requirement can also include minimum dimensions and an accepted-format list.

Repeated JPEG saves can introduce additional artifacts. Work from the best available original when comparing settings, and keep that original. Transparency, original metadata and animation are not retained in the JPEG output.

Do not overwrite the only copy of a source image. The download receives a new filename ending in -kepo and the actual output extension. If you compare multiple settings, retain enough of the input and setting information to reproduce the preferred version. Repeated lossy saves from already modified copies can make comparison less reliable.

Privacy, Limits and Failure States

The image-processing code does not upload the selected file. Decoding, drawing and encoding run on your device, and the download is a browser-created local object URL. The page and any required decoder code still need to load normally; local file processing does not mean the website itself makes no network requests.

Files must be non-empty and at most 20 MB. Decoded images and output canvases are limited to 24 megapixels, with no side larger than 16,384 pixels. These checks reduce excessive memory use but cannot guarantee that every device will handle every file below the limits. Large or complex HEIC files can require substantial memory while decoding.

If decoding fails, try a known supported still image or export the source from an application that can open it. If encoding is unavailable, the tool does not silently substitute another output format. A failed run clears the previous result. The original file on disk is not changed by the attempt.

Use It in a Repeatable Image Workflow

For occasional edits, this browser tool can provide a quick, local step before sharing an image. For repeated work, keep an original, record the required output dimensions and format, and check one finished sample in the actual destination before repeating the operation across more files.

Kepo offers Mac desktop widgets and small personal workflows. The download link opens the app download page; it does not import your image, transfer this page’s settings or create an image-processing widget automatically. This online result remains a separate downloaded file.

Sources and Implementation Notes

The browser encoder contract and HEIC decoder documentation describe the capabilities used here.

Frequently Asked Questions

Is my image uploaded?

The processing code runs locally and does not upload the selected image. The website and decoder code still load over the network.

What format do I download?

This page produces JPEG. The preview and download refer to the actual encoded result, not a renamed input file.

Does this preserve every feature of the original?

No. This is a single-still, rendered-pixel workflow. Preserve the original if you need animation, original metadata or other container-specific information.

Keep the original, inspect the actual download and match the output to the destination’s real requirements.

Desktop Dashboard

Stay informed with Kepo on your desktop

Embed interactive widgets, monitor dynamic sites, track APIs, and run ambient AI agents right on your macOS desktop.

Related Articles

View all posts →
Guides

HEIC to JPG

Convert a HEIC still image into a real JPEG file locally in your browser. Select the HEIC file, choose a quality setting, process it and download the JPEG. The converter decodes the source before encoding the output; changing the filename extension alone would not perform this conversion.

Read →
Guides

HEIC to PNG

Decode a HEIC still image and save its browser-rendered pixels as PNG. Choose a HEIC file, process it and download the actual PNG. This is useful when a workflow specifically requires PNG, but it is not a way to recover detail already lost in the original image.

Read →
Guides

WebP to PNG

Convert a WebP still image into PNG in your browser. PNG can preserve transparency in the decoded bitmap, but this tool exports a single still image rather than an animated sequence. Select the WebP file, process it and check the downloaded PNG.

Read →