---
title: "Filter animated icon"
description: "Filter animated icon (Tools). The filter is applied and the list narrows. Light: a push passes down through the funnel: the full-width source dips, then each tier below dips in turn and narrows as it passes, stopping dead at its result width. Strong: a deeper push with a rebound, the same narrowing in order, then a second smaller push follows through. The source keeps its width; the widths are data and never overshoot."
canonical: https://generativeicons.com/icons/filter/
---

# Filter animated icon

The filter is applied and the list narrows. Light: a push passes down through the funnel: the full-width source dips, then each tier below dips in turn and narrows as it passes, stopping dead at its result width. Strong: a deeper push with a rebound, the same narrowing in order, then a second smaller push follows through. The source keeps its width; the widths are data and never overshoot.

- Id: `filter`
- Category: Tools
- Search terms: funnel, refine, refine results, narrow down, sieve, criteria, conditions, segment, show only
- 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/filter.lottie (dotLottie, 5427 bytes, sha256 0774ecaa729689d1eea431f17f0f5f74b4b5c80b616c85f240bcd65a5b9ed211)
- License: MIT

## Install

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

## React

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

export function FilterIcon() {
  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/filter.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/filter/ · https://generativeicons.com/api/icons/filter
