Images are almost always the largest files on a webpage, and large files mean slow load times. According to HTTP Archive data, images account for roughly 50% of the total bytes transferred when loading a typical webpage — more than scripts, stylesheets, fonts, and HTML combined. If your site feels slow, images are the first place to look.
The good news is that image optimization is one of the highest-impact, lowest-effort improvements you can make. Here's what actually moves the needle.
Page speed affects more than just user experience. Google uses Core Web Vitals — including Largest Contentful Paint (LCP), which measures how fast the main content of a page loads — as a ranking factor. If your hero image is a 4MB uncompressed JPEG, it's likely the element that triggers LCP, and it's making both your users and Google wait.
Studies consistently show that most users abandon a page if it takes more than 3 seconds to load on mobile. A single poorly optimized image can push you past that threshold on its own.
loading="lazy" to your <img> tags tells the browser to wait until the image is about to scroll into view before downloading it. This is a one-line HTML change that can dramatically improve initial page load time, especially on long pages. All modern browsers support it.
width and height attributes on your <img> tags, matching the image's actual pixel dimensions. The browser will scale it with CSS but won't cause a layout jump.
There's no universal rule, but these are reasonable targets for web images:
| Image type | Target file size | Maximum |
|---|---|---|
| Hero / banner image (full width) | 100–200 KB | 400 KB |
| Blog post inline image | 50–100 KB | 200 KB |
| Thumbnail / card image | 20–50 KB | 100 KB |
| Product photo (e-commerce) | 80–150 KB | 300 KB |
| Logo / icon (PNG) | 5–20 KB | 50 KB |
If your images are consistently over these targets, the format and compression fixes above will bring them down. If you're already within range but pages still feel slow, the issue is more likely JavaScript or server response time.
WebP was developed by Google specifically for the web and has been supported by all major browsers since 2020. Despite that, a large proportion of websites still serve JPEG for photographs. The switch from JPEG to WebP is the single biggest file size reduction available for most photo-heavy sites, typically cutting image weight by 25–35% with no visible quality change.
If you're on WordPress, plugins like ShortPixel or Imagify can convert and serve WebP automatically. If you're managing images manually, converting your JPEGs to WebP before uploading is straightforward — ConvertoFile does it in your browser with no file uploads.
A few common suggestions that are less effective than they sound:
Stripping EXIF data — removing camera metadata saves a few kilobytes at most. Worth doing for privacy (as we covered in another article), but it won't noticeably speed up your site on its own.
Compressing already-compressed images — running a JPEG through a compressor a second time adds generation loss without meaningfully reducing file size. Always compress from the original.
Progressive JPEG — progressive JPEGs load in low-resolution passes rather than top-to-bottom, which can feel faster to users even if total load time is the same or slightly longer. It's a minor UX improvement, not a performance one.
Before uploading any image to your website, run through this:
<img> tag have width, height, and loading="lazy" (for below-the-fold images)?That's it. Following those four steps consistently will put your image performance ahead of the majority of websites out there.
Upload any JPEG or PNG and download a WebP at the quality setting you choose. Nothing is sent to any server — conversion runs locally on your device.
Open Image Converter