Image

Image with load state, blur-up placeholder, graceful fallback, and optional zoom

Category: display · WCAG 2.2-AA · image, media, display, loading

States

Props

PropTypeDefaultDescription
srcstringImage source URL.
altstringAlternative text describing the image.
fallbackSrcstringImage shown if src fails to load
widthstring | numberIntrinsic width in px, forwarded to the `<img>`. Set it together with `height` so the browser can reserve the box before the image loads (no layout shift).
heightstring | numberIntrinsic height in px, forwarded to the `<img>`. Pair with `width` to reserve the box and avoid layout shift.
radius'none' | 'sm' | 'md' | 'lg' | 'full'mdCorner radius of the image ('none' | 'sm' | 'md' | 'lg' | 'full').
zoombooleanfalseWhen true, zooms the image on hover.
removeWrapperbooleanfalseRender a bare <img> with no wrapper, placeholder, or zoom
isBlurredbooleanfalseWhen true, renders a blurred backdrop behind the image.

Design tokens

When to use

When not to use

How to build an accessible Image in React →

Examples

Basic

<Image src="/photo.jpg" alt="A photo" width={320} height={240} />

With fallback

<Image src="/broken.jpg" fallbackSrc="/placeholder.jpg" alt="A photo" />

Blurred placeholder

<Image src="/photo.jpg" alt="A photo" isBlurred />

Hover zoom

<Image src="/photo.jpg" alt="A photo" zoom />

Related components

← Back to docs