# @expo/image-utils

> A package used by Expo CLI for processing images

Latest version **0.11.5** (published 2026-08-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install @expo/image-utils
pnpm add @expo/image-utils
yarn add @expo/image-utils
bun add @expo/image-utils
```

## Health

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

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

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

## Facts

| | |
|---|---|
| Version | 0.11.5 |
| Published | 2026-08-24 |
| First published | 2019-06-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 7 |
| Unpacked size | 80.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 52024 |
| Maintainers | ide, brentvatne, expoadmin, exponent, bycedric, kudochien, alanhughes, tsapeta, expo-bot, philpl, ccheever, wschurman |
| Keywords | json |

## Links

- npm: https://www.npmjs.com/package/@expo/image-utils
- Repository: https://github.com/expo/expo
- Homepage: https://github.com/expo/expo/tree/main/packages/%40expo/image-utils#readme
- Issues: https://github.com/expo/expo/issues
- npm.io page: https://npm.io/package/@expo/image-utils

## Dependencies (7)

- [chalk](https://npm.io/package/chalk.md) ^4.0.0
- [getenv](https://npm.io/package/getenv.md) ^2.0.0
- [semver](https://npm.io/package/semver.md) ^7.6.0
- [parse-png](https://npm.io/package/parse-png.md) ^2.1.0
- [jimp-compact](https://npm.io/package/jimp-compact.md) 0.16.1
- [@expo/spawn-async](https://npm.io/package/@expo/spawn-async.md) ^1.8.0
- [@expo/require-utils](https://npm.io/package/@expo/require-utils.md) ^57.0.5

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 0.11.5 (latest) — 2026-08-24
- 0.11.6-canary-20260909-ea7a89a (canary) — 2026-09-09
- 0.10.5 (sdk-56) — 2026-08-28
- 0.8.17 (sdk-55) — 2026-08-25
- 0.10.2-canary-20260701-9100865 (canary-sdk-56) — 2026-07-01
- 0.8.14-canary-20260429-a5e59cf (canary-sdk-55) — 2026-04-29
- 0.5.1 (sdk-51) — 2024-04-23
- 0.4.1 (sdk-50) — 2023-12-19
- 0.3.10-alpha.0 (alpha) — 2021-01-13
- 0.11.6-canary-20260902-26df09e — 2026-09-02
- 0.8.16 — 2026-08-17
- 0.11.5-canary-20260812-27f94d4 — 2026-08-12
- 0.11.5-canary-20260806-8c2d007 — 2026-08-06
- 0.10.5-canary-20260723-64edab9 — 2026-07-23
- 0.10.4 — 2026-07-23
- … 236 more at https://npm.io/package/@expo/image-utils/versions

## README

<!-- Title -->
<h1 align="center">
👋 Welcome to <br><code>@expo/image-utils</code>
</h1>

<p align="center">A library for image processing functionality in Expo CLI.</p>

<!-- Body -->

It uses `sharp` for image processing if it's available through a global `sharp-cli` installation. Otherwise it uses `jimp`, a Node library with no native dependencies, and warns the user that they may want to install `sharp-cli` for faster image processing.

## Advanced Configuration

This package can be configured using the following environment variables.

### EXPO_IMAGE_UTILS_NO_SHARP

When truthy, this will force global `sharp-cli` resolution methods like `isAvailableAsync()` and `findSharpInstanceAsync()` to fail. Other processes can use this to fallback on Jimp for image modifications. By default this is falsy (undefined).

`findSharpInstanceAsync()` will throw an error if disabled because it shouldn't be invoked if `isAvailableAsync()` returns `false`.

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