# expo-motion-blur

> Native Motion Blur for Android & iOS

Latest version **0.1.0** (published 2026-09-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install expo-motion-blur
pnpm add expo-motion-blur
yarn add expo-motion-blur
bun add expo-motion-blur
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2026-09-23 |
| First published | 2026-09-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 387.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 35 |
| Author | rit3zh |
| Maintainers | imax.i7 |
| Keywords | react-native, expo, expo-motion-blur, ExpoMotionBlurView |

## Links

- npm: https://www.npmjs.com/package/expo-motion-blur
- Repository: https://github.com/rit3zh/expo-motion-blur
- Homepage: https://github.com/rit3zh/expo-motion-blur#readme
- Issues: https://github.com/rit3zh/expo-motion-blur/issues
- npm.io page: https://npm.io/package/expo-motion-blur

## Alternatives

- [@luma.gl/experimental](https://npm.io/package/@luma.gl/experimental.md) — 77.1K weekly downloads
- [persona-harness](https://npm.io/package/persona-harness.md) — 4.7K weekly downloads
- [@tsparticles/effect-bubble](https://npm.io/package/@tsparticles/effect-bubble.md) — 4.6K weekly downloads
- [f3d](https://npm.io/package/f3d.md) — 730 weekly downloads
- [spark-html-motion](https://npm.io/package/spark-html-motion.md) — 298 weekly downloads

## Recent versions

- 0.1.0 (latest) — 2026-09-23

## README

# expo-motion-blur

Native Motion Blur for Android & iOS

https://github.com/user-attachments/assets/77cb3937-59c4-4eb8-b522-1c9b5352c7aa

## Installation

```sh
npx expo install expo-motion-blur
```

This package contains native code and requires a [development build](https://docs.expo.dev/develop/development-builds/introduction/). It is not supported in Expo Go.

## Usage

Wrap any moving content in `MotionBlurView`. The blur follows the view's on-screen velocity, whatever is driving it.

```tsx
import { MotionBlurView } from 'expo-motion-blur';

<MotionBlurView intensity={40} speedForMaxBlur={1500}>
  <Card />
</MotionBlurView>;
```

## API

`MotionBlurView` accepts all `View` props, plus the following:

| Prop              | Type      | Default | Description                                                                |
| ----------------- | --------- | ------- | -------------------------------------------------------------------------- |
| `intensity`       | `number`  | `40`    | Maximum streak length, in points, on each side of the content.             |
| `speedForMaxBlur` | `number`  | `1500`  | Speed, in points per second, at which `intensity` is reached.              |
| `samples`         | `number`  | `32`    | Texture reads per pixel (4–64). Higher values are smoother but cost more.  |
| `enabled`         | `boolean` | `true`  | When `false`, children render as in a plain `View`.                        |
| `live`            | `boolean` | `false` | Re-captures children every frame. Use for content that changes mid-motion. |

## Platform support

| Platform                  | Behavior                                           |
| ------------------------- | -------------------------------------------------- |
| iOS / tvOS 16.4+          | Per-pixel Metal shader                             |
| Android 13+               | Per-pixel runtime shader                           |
| Android 12                | Directional blur along the view's center of motion |
| Android 11 and below, Web | No blur; children render normally                  |

## License

MIT

---
_Source: https://npm.io/package/expo-motion-blur · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
