Free Image Compressor and Resizer
Drag in photos or choose several files, set a quality level and a maximum width, and convert them to WebP or JPEG. The tool shows the original size, the new size, and the percentage saved, then lets you preview and download each file or all of them.
Images are redrawn on a canvas in your browser. That re-encoding strips EXIF and other metadata, including location data. This is a file-size helper, not a PageSpeed score and not a ranking forecast.
No images selected yet.
This is the encoder quality, not a visual score and not a Google metric.
Images narrower than this stay at their current width. They are never upscaled.
The example image is generated in your browser so you can see the layout. It is not a photo from a live site.
| Preview | File | Before | After | Saved | Size |
|---|
What the compressor does
This page helps you make photos smaller before you upload them to a blog. Add one or more images, choose WebP or JPEG, set an encoder quality, and optionally set a maximum width. The files are drawn on a canvas in your browser, then encoded again. You see the original size, the new size, and the percentage saved. You can preview the result and download each file, or download a zip of the whole batch.
Re-encoding on a canvas strips EXIF and other metadata, including location data. That is a side effect of the method, not a separate redaction step. Keep a copy of the original if you still need the metadata. The percentage saved is ordinary arithmetic from the two file sizes. If the new file is larger, the report says so. This is not a PageSpeed score, not a Core Web Vitals measurement, and not a ranking forecast.
Use this as a preparation step, not as a substitute for measuring the live page. Official guidance treats Core Web Vitals as field metrics judged at the 75th percentile of real visits. A smaller image can help Largest Contentful Paint when that image is the main content in the viewport, but only a later measurement can show whether the live page improved. The numbers on this page are limited to the files you added.
WebP often produces a smaller file than JPEG at a similar quality setting, but that is not guaranteed for every picture. JPEG cannot keep transparency; transparent pixels are drawn on a white background. Animated GIFs are flattened to a single frame. SVG files, if the browser can draw them, are turned into a bitmap. Images are never upscaled. If a source image is extremely large, the longest side may be capped at 8,192 pixels so the browser can draw it.
How to use it
Drop images onto the box or choose several files from your device. JPEG, PNG, WebP, and similar still-image formats work best. Pick WebP or JPEG. Use the quality slider as an encoder setting, not as a visual grade. A typical starting point is 70 to 85. Then set a maximum width if the photo is wider than you will display it. On many blogs, 1,200 or 1,600 pixels is enough for a standard post image. Leave the width blank if you only want to change the format or quality.
Choose Compress images. Work stays on this device. Load example image creates a picture in the browser so you can see the layout; it is not a live photo and not a target. Reset clears the files and the results. Download all saves one file directly, or a zip when there is more than one successful result. The zip stores the already-encoded images, because they are already compressed.
If you are replacing a featured image or a hero photo, keep a version that still looks sharp on a phone and on a wide desktop. A file can be too light as well as too heavy. Preview the result at the width you actually use in the template before you publish. If the photo looks blocky, raise the quality a little or use a slightly larger width, then compare the new byte count again.
After you download the new files, upload them in Blogger in place of the heavy originals. Add descriptive alt text. Include width and height so the layout can reserve space. Official LCP guidance warns against lazy-loading the main image that appears in the first viewport, because that delays the request. Use lazy loading for images that start off screen, not for the hero or featured image at the top of the post.
How to read the result
The summary cards add up the files that encoded successfully. Total saved uses the same percentage as a single file: the change from the original total to the new total. A result of about the same size, or a larger file, means this quality, width, or format did not shrink that picture. Try a lower quality, a narrower max width, or the other format. Do not keep a larger export just because it went through the tool.
Each row shows a preview, the suggested file name, the two sizes, the percentage, and the output dimensions. Warnings under a row explain things the tool had to do, such as flattening transparency, using JPEG when WebP is unavailable, or capping a very large image. A red row means that file could not be decoded or encoded. Other files in the same batch can still succeed.
The example image is generated on a canvas so the demo does not need a stock photo or a network request. Treat it as a walkthrough of the buttons and the table, not as a typical savings figure. Real photos will produce different percentages, and some already-compressed files will not shrink.
Large files are processed one at a time so the page stays usable. A file larger than 40 MB is refused with a message, rather than risking a tab crash. Nothing is uploaded in either case. This page also cannot open a live URL, crawl your blog, or tell you what PageSpeed Insights will report after you replace an image.
What this tool cannot do
It cannot measure Largest Contentful Paint, Interaction to Next Paint, or Cumulative Layout Shift. It cannot log into Search Console or run Lighthouse. It cannot promise that a smaller image will raise a performance score or improve rankings. It cannot keep animation in a GIF, keep EXIF, or keep transparency in a JPEG file. The practical use of this page is to resize and re-encode photos on your device, see the real byte counts, and download files you are willing to upload to your blog.