Skip to main content

Overview

Responsive images ensure your website delivers optimally-sized images to every device, reducing page load times and bandwidth usage. The ButterCMS Image API makes this easy through URL-based transformations.

Why responsive images matter

  • Performance: Smaller images load faster on mobile devices
  • Bandwidth: Save data for users on limited connections
  • SEO: Google rewards fast-loading pages
  • User Experience: Images display correctly across all screen sizes

Basic implementation

Using srcset

The srcset attribute lets browsers choose the best image size:

Understanding srcset and sizes

Common patterns

Full-width hero image

Blog Post featured image

Card grid image

Using the picture element

For art direction (different crops for different devices):

Framework examples

React component

Vue component

Next.js with next/image

WebP with fallback

Serve WebP to supported browsers with JPEG fallback:

Helper functions

JavaScript utility

Best practices

Use Appropriate Sizes

Don’t serve 4K images for thumbnails. Match image sizes to display sizes.

Lazy Loading

Add loading="lazy" for images below the fold.

WebP When Possible

WebP offers 25-35% smaller files than JPEG at similar quality.

Test Performance

Use Lighthouse or WebPageTest to verify image optimization.
General front-end sizing guidance, not a ButterCMS-specific spec. Adjust it to your own design’s breakpoints.

Next steps

Image Transformations

All transformation options

Security

Secure your images

Performance

CDN optimization

Media Field

Working with media fields