Skip to main content
Cloud Hosting starting at $2.91/mo. Auto-scaling servers with a FREE domain included. Start Now →
Performance

Image Optimization for Web: Compress, Convert & Serve Images the Right Way

Images make up 40–60% of most web pages' total weight. Optimizing them is the single highest-impact performance improvement you can make. This guide covers formats, compression, lazy loading, and responsive delivery.

S

Serverlys Team

Jun 18, 2026 · 6 min read

The average webpage in 2026 weighs 2.5MB, and images account for roughly half of that. A single unoptimized hero image can be larger than the rest of the page combined. When a 3MB JPEG is served to a user on a mobile connection, it can take 4–8 seconds just to download that one image — destroying your load time, your Core Web Vitals, and your user experience.

Image optimization isn't about making images look worse. Modern compression algorithms and formats like WebP and AVIF can reduce file sizes by 50–80% with no visible quality loss. This guide covers everything from choosing the right format to implementing responsive images and lazy loading.

Image Formats Compared: JPEG, PNG, WebP, AVIF, and SVG

Choosing the right format is the foundation of image optimization. Each format has specific strengths:

Format Best For Compression Transparency Browser Support
JPEG Photos, complex images Lossy No 100%
PNG Graphics, screenshots, transparency Lossless Yes 100%
WebP Photos and graphics (universal) Lossy + Lossless Yes 97%+
AVIF Photos (maximum compression) Lossy + Lossless Yes 92%+
SVG Icons, logos, illustrations Vector (scales infinitely) Yes 100%

WebP: The New Default

WebP should be your default format for most images in 2026. It supports both lossy and lossless compression, transparency (alpha channel), and animation. Compared to JPEG, WebP delivers 25–35% smaller files at the same visual quality. Compared to PNG, lossy WebP can be 60–80% smaller with nearly indistinguishable quality for most use cases.

With 97%+ browser support (every modern browser including Safari), there's no practical reason to serve JPEG or PNG as your primary format anymore.

AVIF: The Future Format

AVIF pushes compression even further, delivering 40–50% smaller files than JPEG and 15–20% smaller than WebP. The trade-off is encoding speed (AVIF takes significantly longer to compress) and slightly lower browser support at 92%. For sites that can pre-compress images during build time, AVIF is the optimal choice for photographic content.

When to Use SVG

SVG (Scalable Vector Graphics) is perfect for logos, icons, and simple illustrations. Because SVGs are code-based (XML), they scale to any resolution without quality loss and are typically tiny (1–10KB). Always use SVG for your logo, navigation icons, and decorative graphics. Never use JPEG or PNG for flat-color graphics that can be represented as vectors.

Compression: How Much Is Enough?

Image compression is about finding the sweet spot between file size and visual quality. The goal isn't the smallest possible file — it's the smallest file that still looks good.

Recommended Quality Settings

Image Type JPEG Quality WebP Quality AVIF Quality
Hero images 80–85 80–85 65–75
Product photos 80–85 80 65–70
Blog content images 75–80 75–80 60–65
Thumbnails 70–75 70–75 55–60
Background/decorative 60–70 60–70 45–55

At quality 80 for WebP, a typical 1200x800px photo weighs 80–120KB instead of 300–500KB in JPEG. The visual difference is imperceptible to 99% of visitors, but the load time difference is dramatic.

Compression Tools

Serverlys Tip: On our cloud hosting with LiteSpeed, the LiteSpeed Cache plugin can automatically serve WebP versions of your images to supported browsers without changing your HTML. Upload a JPEG, and LiteSpeed serves WebP — zero manual work.

Responsive Images: Serve the Right Size

Even a perfectly compressed image is wasteful if you serve a 2400px-wide image to a phone with a 375px-wide screen. Responsive images solve this by providing multiple sizes and letting the browser choose the best one.

The srcset Attribute

The srcset attribute tells the browser about available image sizes. The browser then selects the most appropriate size based on the viewport width and device pixel ratio:

<img src="hero-800.webp" srcset="hero-400.webp 400w, hero-800.webp 800w, hero-1200.webp 1200w, hero-1600.webp 1600w" sizes="(max-width: 600px) 100vw, (max-width: 1200px) 80vw, 800px" alt="Hero image">

With this markup, a phone with a 375px screen downloads the 400w image (roughly 30KB) instead of the 1600w image (roughly 200KB). That's an 85% reduction in data transfer for mobile users.

The picture Element

The <picture> element lets you serve different formats with automatic fallbacks:

<picture>
  <source type="image/avif" srcset="hero.avif">
  <source type="image/webp" srcset="hero.webp">
  <img src="hero.jpg" alt="Hero image" width="1200" height="800">
</picture>

Browsers that support AVIF get the smallest file. Those that support WebP (but not AVIF) get the WebP version. Older browsers fall back to JPEG. Everyone gets the best experience their browser can handle.

Lazy Loading: Only Load What's Visible

Lazy loading defers the download of off-screen images until the user scrolls near them. This has a massive impact on initial page load because most pages have images below the fold that users may never even see.

Native Lazy Loading

Modern browsers support native lazy loading with a simple attribute:

<img src="photo.webp" loading="lazy" alt="Product photo" width="800" height="600">

This is the easiest implementation and requires no JavaScript. The browser handles the intersection detection and download timing automatically.

Critical Rules for Lazy Loading

Image Delivery Optimization

Use a CDN for Image Delivery

Serving images from a CDN reduces download time by serving from edge servers near the visitor. For image-heavy sites (ecommerce, portfolios, galleries), a CDN can reduce image load time by 60–80% for international visitors.

Preload Critical Images

For LCP images, add a preload link in the <head> so the browser starts downloading immediately, even before it parses the HTML body:

<link rel="preload" as="image" href="/images/hero.webp" fetchpriority="high">

This can improve LCP by 100–300ms because the browser starts downloading the image in parallel with other resources instead of waiting until it encounters the <img> tag in the HTML.

CSS Background Images

Background images set via CSS are discovered late in the rendering process (the browser has to download and parse the CSS first). If your LCP element uses a CSS background image, consider switching to an <img> tag with object-fit: cover for better performance, or add a preload link for the background image.

WordPress Image Optimization Workflow

WordPress sites have specific tools and workflows for image optimization:

  1. Install an optimization plugin. ShortPixel, Imagify, or Smush. Configure it to compress on upload and generate WebP/AVIF versions.
  2. Bulk optimize existing images. Run the plugin's bulk optimization on your media library. For a site with 500 images, this typically reduces total storage by 60–70%.
  3. Configure WordPress image sizes. WordPress generates multiple sizes for each upload (thumbnail, medium, large, full). Make sure these sizes match your theme's actual display sizes. Remove unused sizes to save storage.
  4. Enable WebP delivery. Configure your plugin to serve WebP to supported browsers. Most plugins handle this via .htaccess rules or the <picture> element.
  5. Add native lazy loading. WordPress 5.5+ adds loading="lazy" to images automatically. Verify this is working and that your LCP image is excluded.

Serverlys Tip: WordPress on our cloud hosting includes LiteSpeed Cache, which handles WebP conversion and delivery automatically. Combined with NVMe storage for fast image serving, your images load faster without any extra configuration. See all our features.

Measuring Image Performance

After optimizing, verify your improvements with these tools:

Target Metrics

Metric Target Why It Matters
Total image weight < 500KB for most pages Keeps total page weight under 1.5MB
Largest single image < 150KB Prevents any one image from blocking LCP
Images served in modern format 100% (WebP/AVIF) Maximum compression with quality
Images with dimensions set 100% Prevents CLS from image loading

Frequently Asked Questions

Does image optimization affect visual quality?

Not noticeably with modern formats and tools. WebP at quality 80 is visually indistinguishable from the original JPEG in most cases. AVIF can achieve the same quality at even lower file sizes. The key is using the right quality setting for each use case — hero images can be higher quality (80–85), while thumbnails and decorative images can go lower (60–70).

Should I use AVIF or WebP?

Use both with the <picture> element. Serve AVIF as the primary format (smaller files) with WebP as a fallback. AVIF has 92%+ browser support in 2026, but WebP at 97%+ ensures nearly every visitor gets an optimized format. If you can only choose one, WebP is the safer choice for broader compatibility.

How do I handle images uploaded by users?

For user-generated content (profile photos, forum posts, submitted images), process images server-side on upload. Resize to maximum dimensions, compress to quality 80, and convert to WebP. Tools like Sharp (Node.js) or Imagick (PHP) handle this programmatically. Never serve user-uploaded images at their original size and format.

What about icons and logos?

Always use SVG for icons and logos. SVGs are resolution-independent (look crisp on any screen), typically tiny (1–5KB), and can be styled with CSS. If an icon must be a raster image, use PNG with aggressive compression and serve WebP versions. For icon sets, consider an SVG sprite sheet to reduce HTTP requests.

How much page speed improvement can I expect?

For a typical unoptimized site, image optimization alone can improve load times by 40–60% and boost your PageSpeed score by 15–30 points. Sites with many large, uncompressed images see the most dramatic improvements. We've seen ecommerce product pages go from 8s load times to under 2s with image optimization alone.

Related Articles

Host your images on fast infrastructure

Serverlys cloud hosting with NVMe SSDs, LiteSpeed, and built-in CDN delivers your optimized images at maximum speed.