# Zoom In animated icon

> Add the Zoom In micro animation to React with react-useanimations or shadcn. It plays on hover and reverses on mouse leave; free MIT Lottie files.

Zoom In is a 1 s micro animation that plays on hover and reverses on mouse leave; use it for zoom in and zoom out controls. Hover icons typically mark navigation items, delete buttons, settings, zoom controls and social links.

## Facts

- Interaction: [Hover](https://useanimations.com/interactions/hover). Plays forward on mouseenter and backward on mouseleave.
- Category: [Action](https://useanimations.com/categories/action)
- Duration: 1.00 s at 29.97 fps
- Artboard: 32 × 32 px
- Lottie size: 4.0 kB
- License: MIT, attribution optional ([Licencing & Terms](https://useanimations.com/licencing-and-terms))

## Files

- Lottie JSON: https://useanimations.com/icons/zoom-in.json
- ZIP (Lottie JSON and SVGs): https://useanimations.com/icons/zoom-in.zip
- shadcn registry item: https://useanimations.com/r/zoom-in.json
- Web page: https://useanimations.com/icons/zoom-in

## React

```bash
npm install react-useanimations
```

```jsx
import UseAnimations from 'react-useanimations';
import zoomIn from 'react-useanimations/lib/zoomIn';

<UseAnimations animation={zoomIn} size={32} />
```

## shadcn/ui

```bash
npx shadcn@latest add https://useanimations.com/r/zoom-in.json
```

```tsx
import { AnimatedZoomIn } from '@/components/animations/zoom-in';

<AnimatedZoomIn size={24} />
```

## HTML and lottie-web

```html
<div id="zoom-in-icon" style="width: 48px; height: 48px"></div>

<script src="https://cdn.jsdelivr.net/npm/lottie-web@5.13.0/build/player/lottie_light.min.js"></script>
<script>
  const el = document.getElementById('zoom-in-icon');
  const a = lottie.loadAnimation({ container: el, renderer: 'svg', loop: false, autoplay: false, path: 'https://useanimations.com/icons/zoom-in.json' });
  el.addEventListener('mouseenter', () => { a.setDirection(1); a.play(); });
  el.addEventListener('mouseleave', () => { a.setDirection(-1); a.play(); });
</script>
```

## FAQ

### What does Zoom In do when the pointer leaves halfway?

It reverses from the frame it reached back to the start, so a quick pass of the pointer gives a short nudge rather than the full 1 s. Taps on touch screens are ignored, but keyboard focus plays it.

### Will screen readers read the Zoom In icon?

By default it is aria-hidden. Pass aria-label="Zoom In" to announce it as an image, or leave it hidden when the link or button it sits in has its own text.

### Can Zoom In play on click instead?

Yes: pass interaction="click-replay". It then replays once from the start on every click unless reduced motion is preferred.

## Related icons

- [Zoom Out](https://useanimations.com/icons/zoom-out) (hover)
- [Log In](https://useanimations.com/icons/log-in) (click-replay)
- [Edit](https://useanimations.com/icons/edit) (hover)
- [Trash](https://useanimations.com/icons/trash) (hover)
- [Info](https://useanimations.com/icons/info) (hover)
- [Folder](https://useanimations.com/icons/folder) (hover)
- [Home](https://useanimations.com/icons/home) (hover)
- [Calendar](https://useanimations.com/icons/calendar) (hover)
- [Explore](https://useanimations.com/icons/explore) (hover)
- [Settings](https://useanimations.com/icons/settings) (hover)
- [Trash V2](https://useanimations.com/icons/trash-v2) (hover)
- [Search/X](https://useanimations.com/icons/search-to-x) (click-toggle)

[All action icons](https://useanimations.com/categories/action) · [All icons](https://useanimations.com/icons)
