Images Best Practices

Use onerror

Use onerror as a fallback for src attribute.

<img src="" onerror="this.src=''">

Use Background Color

Using a background color is a good practice for images that are not loaded yet.

img {
    background-color: #eee;

Use Lazy Loading

Lazy loading is a good practice for images that are not visible on the screen.

<img src="" loading="lazy">

Use srcset

Use srcset to provide multiple image sources for different screen sizes.

<img src="" srcset=" 2x, 3x">

Use alt

Use alt attribute to provide a description for the image.

<img src="" alt="Image description">

Use Aspect Ratio

Use Aspect Ratio to prevent layout shift.

img {
    aspect-ratio: 16/9;

Choose The Right Image Format

Make sure that you use the right image format for the type of image you want to display.

  • Use PNG for images with transparency.
  • Use JPEG for images with no transparency.
  • Use WebP for images with transparency and/or with animations.

WebP images will generally provide better comporession than older formats like PNG and JPEG.

You can use WebP images will another image format as a fallback.

    <source srcset="" type="image/webp">
    <img src="" alt="Image description">