Skip to content

SpeedPart of: Image optimisation

How to reduce image file size without losing visible quality

To reduce image file size, resize the image to the pixels you need, compress it at a sensible quality and save it in an efficient format. The steps, the settings and the free tools, on any computer.

getReport teamUpdated 26 Sept 202612 min read

To reduce image file size, do three things in this order: resize the image to the pixel dimensions you actually need, compress it at a quality around 75–80, and save it in an efficient format such as WebP or JPEG instead of PNG for photos. Resizing alone often removes most of the bytes; compression and format take care of most of the rest, with no difference you can see at normal size. This guide walks through each step with the settings to use and free tools for Windows, Mac, your browser and the command line. For the bigger picture on websites, including loading and responsive images, see our guide to image optimization for the web.

Quick answer

  • Resize first. Scale the image to the width it will be shown at (at most twice that for sharp screens). A 4000-pixel camera photo shown 1000 pixels wide carries 16 times the pixels it needs.
  • Compress at quality 75–80 for JPEG or WebP. Most photos look the same as the original at their displayed size.
  • Pick the right format. Photos as WebP, AVIF or JPEG; screenshots and graphics as PNG or lossless WebP; never a photo as PNG.
  • Strip metadata. Camera data adds bytes and can include the GPS location of the photo.
  • Crop away anything the image does not need.
  • Free and private: the getReport image compressor does resize, compress and convert in your browser, up to 50 images at a time, without uploading them.

Why image files are big

An image file's size depends on three things:

  1. The number of pixels. File size grows with width × height. Doubling both dimensions roughly quadruples the data to store. Phone and camera photos are often 4000 pixels wide or more, far more than any web page, email or document displays.
  2. The compression. Lossy formats such as JPEG, lossy WebP and AVIF throw away detail you are unlikely to notice; the quality setting decides how much. Lossless formats such as PNG keep everything.
  3. The format. Newer formats store the same picture in fewer bytes. Google's WebP documentation reports lossy WebP files 25–34 % smaller than comparable JPEGs.

A photo straight from a phone gets all three wrong for the web: too many pixels, a high quality setting and an older format. That is why the savings are usually large.

Step 1: Resize the image to the pixels you need

Resizing is the biggest lever. Pixels the screen never shows are pure waste, and there are many of them: an image 4000 pixels wide shown in a 1000-pixel slot has 16 times the pixels that slot can display (4000 × 4000 ÷ 1000 ÷ 1000, for a square image).

Work out the target width first:

  • On a website: the widest the image is ever displayed, times two at most for high-density ("retina") screens. A full-width hero rarely needs more than about 2000 pixels, a content image in an 800-pixel column about 1600. Our guide on image sizes that do not hurt lists targets per image type.
  • For email or messaging: 1200–1600 pixels on the longest side is plenty for a photo on any screen.
  • For an upload form with a limit (such as "under 200 KB"): resize first, then adjust quality. Dropping from 4000 to 1600 pixels usually brings a photo far closer to the limit than any quality setting.

Always keep the aspect ratio locked when you resize, and keep the original file: you can make a smaller copy from it any time, but you cannot add pixels back.

Step 2: Compress at a sensible quality

Compression settings decide how much detail a lossy format keeps. Higher numbers mean more detail and bigger files, but the curve is steep at the top: going from quality 100 to 80 often shrinks a JPEG a lot, while nobody can see the difference at normal size.

FormatStarting quality for photosNotes
JPEG75–85MozJPEG produces smaller files than most default encoders at the same setting
WebP (lossy)75–80Quality numbers are not the same scale as JPEG
AVIF50–65Lower numbers than WebP give similar results
PNGLosslessReduce colours (PNG-8) for simple graphics, or switch to lossless WebP

Check the result at the size the image will be shown, looking at detailed areas such as hair, text, foliage or fabric. If you see blocks, smearing or halos around edges, go up five points and try again. Then stop: saving the same JPEG over and over at lower quality adds new losses each time, so always export from the original.

For graphics, screenshots and anything with text, lossy compression shows quickly as fuzzy edges. Keep those lossless (PNG or lossless WebP) and reduce the size by resizing and by reducing the number of colours instead.

Step 3: Save it in an efficient format

The format decides how efficiently the same pixels are stored:

  • Photos: WebP or AVIF if the image goes on a website; JPEG where compatibility matters most, such as email and documents.
  • Screenshots, charts, graphics with text: PNG or lossless WebP.
  • Logos and icons: SVG, if you have a vector version.

The most expensive mistake is a photo saved as PNG. Because PNG is lossless, a photo as PNG is usually several times the size of the same photo as a JPEG. Our comparison of JPEG vs PNG explains which to use for what, and the explainer on what a WebP file is covers the format most websites should now use for photos.

Step 4: Strip metadata and crop

Photos carry EXIF metadata: camera model, lens, settings, date and often the GPS coordinates of where the photo was taken. It adds kilobytes and can reveal more than you intended. Most export dialogs have an option to remove it; tools that re-encode from pixels, such as the getReport image compressor, do not carry it over.

Cropping helps twice: fewer pixels to store, and a picture that focuses on what matters. Crop before you resize, so the target width applies to the part you keep.

How to compress an image in your browser

The getReport image compressor takes up to 50 JPEG, PNG or WebP images at a time and:

  1. Scales each one down to the longest side you choose (for example 1920 or 1600 pixels).
  2. Encodes it as WebP, AVIF or JPEG at the quality you set, using the WebAssembly builds of libwebp, libavif and MozJPEG, the codecs Google's Squoosh uses.
  3. Shows the size before and after in a table, and lets you download the files one by one or as a zip.

Everything runs in a Web Worker in your browser. Your files never leave your device, so there is no upload limit, no account and nothing stored on a server. If a new file would be larger than the original, the tool says so and keeps the original. Transparent PNGs keep their transparency in WebP and AVIF, and get a white background in JPEG. AVIF encoding takes several seconds per photo, so for a large batch WebP is the faster choice.

How to reduce image size on Windows and Mac

Windows 11, Photos app: open the image, open the "…" menu and choose Resize image. Pick a preset or enter custom pixel dimensions, set the quality slider and save a copy.

Windows, Paint: Home → Resize, choose Pixels, keep "Maintain aspect ratio" ticked and enter the new width. Then File → Save as → JPEG picture. Paint gives no quality setting, so use it for resizing and a compressor for the rest.

Mac, Preview: Tools → Adjust Size, enter the new width with "Scale proportionally" ticked. Then File → Export, choose JPEG (or HEIC or PNG) and move the Quality slider left until the estimated file size is where you want it.

Image editors such as Photoshop, Affinity Photo and GIMP all have an export dialog with a quality setting and a preview of the resulting file size.

How to compress images in bulk from the command line

For whole folders, or as a step in a build, the free command-line tools are the fastest route. With ImageMagick 7:

Shell
# Shrink to at most 1600 px on the longest side (only if larger), quality 80, strip metadata
magick photo.jpg -resize "1600x1600>" -quality 80 -strip photo-small.jpg

# Every JPEG in a folder to WebP at quality 80, at most 1600 px
magick mogrify -format webp -resize "1600x1600>" -quality 80 -strip *.jpg

With Google's WebP encoder:

Shell
cwebp -q 80 -resize 1600 0 photo.jpg -o photo.webp

The > in ImageMagick's resize only shrinks images that are larger; small ones are left alone. -resize 1600 0 in cwebp keeps the aspect ratio.

For PNG graphics, pngquant reduces a full-colour PNG to a palette of up to 256 colours, which is lossy but usually invisible on graphics, and oxipng recompresses PNGs losslessly.

How to reduce image file size on a website

On a site, compress images before they go up and let the platform keep doing it:

  • WordPress creates several sizes of every upload and scales originals down to 2560 pixels on their longest side. An image optimization plugin adds compression and WebP or AVIF conversion; the comparison of image optimisation plugins explains the trade-offs.
  • Shopify, Wix and Squarespace resize and convert on their own CDNs, but still start from your upload, so a sensible original helps.
  • Custom sites can resize and convert at build time or through an image CDN.

To find the images that need it:

The image size checker lists up to 100 images on a page with their file size, format, real pixel size and displayed size. It flags files over 300 KB and images served at more than twice their displayed size.

Common mistakes

  • Compressing without resizing. A 4000-pixel image at quality 60 is still bigger than it needs to be, and now looks worse. Resize first.
  • Compressing a copy of a copy. Each lossy save loses more detail. Export from the original each time.
  • Saving photos as PNG because it is "lossless". The file gets far bigger with no visible gain.
  • Changing the file extension. Renaming photo.png to photo.jpg does not convert it; the file stays the same size.
  • Quality 100. It is often much larger than quality 85 and looks the same.
  • Lossy compression on screenshots. Text becomes fuzzy. Keep screenshots lossless and resize them instead.

Questions people ask

How do I compress an image?

Open it in an image compressor or editor, choose a quality around 75–80 for photos and save a copy. For the biggest saving, first resize it to the pixel dimensions you need and choose an efficient format such as WebP or JPEG. Browser tools like the getReport image compressor do all three at once without uploading the file.

How can I reduce the size of an image in KB?

Reduce the pixel dimensions first, then lower the quality step by step until the file fits. A phone photo resized from 4000 to 1600 pixels wide and saved at quality 75–80 as JPEG or WebP usually lands in the low hundreds of kilobytes or below. If it is still too big, drop the width further before lowering the quality below 70.

Does resizing an image reduce its file size?

Yes, usually more than anything else. File size grows with the number of pixels, so halving both the width and the height leaves a quarter of the pixels to store. Resizing only helps when you make the image smaller; enlarging it adds pixels, makes the file bigger and makes the picture blurrier.

How do I reduce the size of a PNG file?

Resize it if it is larger than needed, then either reduce it to a palette of 256 colours or fewer with a tool such as pngquant, or convert it to lossless WebP, which Google reports as 26 % smaller than PNG. If the PNG is actually a photo, save it as JPEG or lossy WebP instead; that shrinks it the most.

Why is my image file size so large?

Usually because it has far more pixels than needed, was saved at a very high quality, or is a photo stored as PNG. Photos from phones and cameras are often 4000 pixels wide or more and several megabytes. Check the pixel dimensions and format first; resizing and saving as WebP or JPEG fixes most cases.

Can I reduce an image's file size without losing quality?

Without losing any data, only a little: lossless recompression and stripping metadata shave off some bytes. Without losing visible quality, yes, a lot: resizing to the displayed size and lossy compression at quality 75–80 remove detail nobody can see at that size. Always compare the result at the size it will be shown.

Check your site before and after Check