---
title: "Image animated icon"
description: "Image animated icon (Interface). The picture is reframed to a new crop. Light: the landscape swipes left inside the fixed frame, its left hill sliding out past the edge, overshoots the new crop a little and snaps back into it; the sun is farther away and follows the hills a beat later, so the scene has depth. Strong: a faster, longer swipe that overshoots further and settles in two beats, with the sun trailing further behind. The frame never moves and the new crop holds."
canonical: https://generativeicons.com/icons/image/
---

# Image animated icon

The picture is reframed to a new crop. Light: the landscape swipes left inside the fixed frame, its left hill sliding out past the edge, overshoots the new crop a little and snaps back into it; the sun is farther away and follows the hills a beat later, so the scene has depth. Strong: a faster, longer swipe that overshoots further and settles in two beats, with the sun trailing further behind. The frame never moves and the new crop holds.

- Id: `image`
- Category: Interface
- Search terms: picture, photo, pic, img, landscape, jpg, jpeg, png, insert image, add image
- Two states: prepared to result, played forward and back
- Styles: outline, solid, duotone; outline weights 1.5, 2, 2.5 (any from 1 to 3); motion light or strong
- File: https://generativeicons.com/assets/image.lottie (dotLottie, 7064 bytes, sha256 235a9fa777b88b0d21afe817a286f052871e9a285232da7f5590d61847d7f258)
- License: MIT

## Install

```sh
npm install @lottiefiles/generative-icons-runtime
npx generative-icons init
npx generative-icons add image
```

## React

```tsx
// npm install @lottiefiles/generative-icons-react
'use client';
import { AnimatedIcon } from '@lottiefiles/generative-icons-react';
import icon, { src } from './generative-icons/image.mjs';

export function ImageIcon() {
  return <AnimatedIcon icon={icon} src={src} size={32}
    color="#ffffff" variant="outline" weight={2}
    motion="light" theme="dark" />;
}
```

## JavaScript

```js
import { createIcon } from '@lottiefiles/generative-icons-runtime';
import icon, { src } from './generative-icons/image.mjs';

const handle = await createIcon(canvas, {
  icon, src,
  color: '#ffffff', style: 'outline', weight: 2,
  motion: 'light', theme: 'dark'
});
button.addEventListener('click', () => handle.play());
// On removal: handle.destroy();
```

More: https://generativeicons.com/icons/image/ · https://generativeicons.com/api/icons/image
