Displays a single image with preview and tranformation options.

import Image from 'primevue/image';

Image is used similar to the standard img element.


<Image src="/image.jpg" alt="Image" width="250" />

Enabling preview mode displays a modal layer when the image is clicked to provide transformation options such as rotating and zooming.


<Image src="/image.jpg" alt="Image" width="250" preview />

An eye icon is displayed by default when the image is hovered in preview mode, use the indicatoricon slot for custom content. In addition, the image and preview slots are available to define the thumbnail and detailed image respectively.


<Image alt="Image" preview>
    <template #indicatoricon>
        <i class="pi pi-search"></i>
    <template #image>
        <img src="/thumbnail.jpg" alt="image" />
    <template #preview="slotProps">
        <img src="/image.jpg" alt="preview" :style="" @click="slotProps.onClick" />

Screen Reader

The preview button is a native button element with an aria-label that refers to the aria.zoomImage property of the locale API by default, with previewButtonProps you may use your own aria roles and attributes as any valid attribute is passed to the button element implicitly.

When preview is active, dialog role with aria-modal is applied to the overlay image container.

Button controls use aria.rotateRight, aria.rotateLeft, aria.zoomIn, aria.zoomOut and aria.close from the locale API as aria-label.

ButtonBar Keyboard Support

When preview is activated, close button receives the initial focus.

tabMoves focus through button bar.
enterActivates the button.
spaceActivates the button.
escCloses the image preview.