DEV Community

Cover image for Responsive Images: Best Practices in 2025
Aleksey Razbakov
Aleksey Razbakov

Posted on

Responsive Images: Best Practices in 2025

When designing responsive websites, choosing between max-width and min-width in your responsive image setup can influence how your site adapts to different screen sizes. Let's explore the differences, their applications, and which image sizes work best to ensure optimal performance and user experience.

Max-Width or Min-Width: What’s the Difference?

  • For mobile-first designs, max-width tends to be more intuitive since it aligns with CSS conventions for smaller-to-larger progressions. The max-width approach starts with smaller screens and cascades up.

    sizes="
      (max-width: 768px) 100vw,
      50vw
    "
    
  • For desktop-first designs, min-width might make more sense as you start with larger screens and adapt downward. The min-width approach starts with larger screens and cascades down.

    sizes="
      (min-width: 1536px) 1536px,
      (min-width: 1280px) 1280px,
      (min-width: 1024px) 1024px,
      (min-width: 768px) 768px,
      100vw
    "
    

Which Should You Use?

Mobile-First Approach (max-width):

  • Best for most projects, aligning with modern design trends where the focus is on smaller screens and scaling up.
  • Easier to maintain and test due to the natural progression of styles.

What Image Sizes Should You Use?

Responsive images rely on the srcset and sizes attributes to deliver the most appropriate image for each screen size. Here are the recommended image widths to include in your srcset:

  1. Small Screens (Mobile):

    • Images around 640px to 768px wide work well for most smartphones.
  2. Medium Screens (Tablets):

    • Use widths between 1024px and 1280px.
  3. Large Screens (Desktops):

    • Common widths include 1920px and 2560px for full-width images.

The Biggest Image You Should Generate

While 8K displays have resolutions of 7680x4320 pixels, generating images this large is rarely practical for web use.

Stick to a maximum image size of 2560px. This is sufficient for most designs, including Retina screens, without excessive file sizes.

Why Not Always Use the Largest Size?

  • Larger images increase load times and consume more bandwidth.
  • Most users don’t view images at their maximum resolution, even on high-resolution displays. Browsers scale images down, so serving overly large files often wastes resources.

Example: Responsive Image Implementation

Here's how to use the srcset and sizes attributes to serve responsive images efficiently:

<img
  src="example-1024.jpg"
  srcset="
    example-640.webp 640w,
    example-1024.webp 1024w,
    example-1920.webp 1920w,
    example-2560.webp 2560w,
    example-5120.webp 5120w
  "
  sizes="
    (max-width: 640px) 100vw,
    50vw
  "
  alt="Responsive image example"
/>
Enter fullscreen mode Exit fullscreen mode
  • srcset: Defines available image sizes in WebP format for better compression and performance.

  • sizes: Specifies how much of the viewport the image should occupy at different screen widths.

  • Fallback src: Uses image in JPG format to ensure compatibility with browsers that don’t support WebP. Choosing size:

    • Balanced Dimensions: Choose a fallback image size that offers acceptable quality on both small and medium-sized devices. A common recommendation is to use an image around 800px wide, as it provides a middle ground suitable for various screen sizes.
    • Avoid Extremes: Using the smallest image as a fallback can lead to poor visual quality on larger screens, while using the largest image can cause unnecessary data usage and slower load times on smaller devices. Therefore, a mid-sized image is often the most practical choice.
    • Consider Aspect Ratio Consistency: Ensure that the fallback image maintains the same aspect ratio as the images specified in the srcset. This consistency helps prevent layout shifts and maintains design integrity across different devices.

This setup ensures that smaller images load on mobile devices, saving bandwidth, while larger images are served to users with bigger screens when needed.

Final Thoughts

Choosing between max-width and min-width depends on your design approach, but a mobile-first strategy with max-width is often the most effective. When deciding image sizes, aim for the smallest size that maintains quality at the target resolution. For most projects, 2560px is the largest size you'll need, with exceptions for high-resolution or fullscreen applications.

By following these practices, you can create responsive, performance-optimized websites that look great across all devices.

Top comments (0)