Features
Image Cropping
Precision native crop powered by UCrop on Android and the iOSPhotoEditor SDK on iOS. Handles EXIF orientation automatically.
Freehand Drawing
Brush tool with a fully customisable colour palette. Pass your own hex colours or use the built-in 13-colour default palette.
Text Overlays
Add, drag, scale, and rotate text layers with per-layer colour control. Fully localizable via the languages prop.
Sticker Overlays
Drop any PNG sticker from your native resource bundle onto the image. Stickers are moveable and scalable.
New Architecture Ready
Ships a TurboModule codegen spec for zero-overhead interop on New Architecture (Fabric + TurboModules) while remaining fully compatible with the classic bridge.
TypeScript First
Every prop, callback, and constant is strongly typed. Ships CJS, ESM, and .d.ts declaration files built by react-native-builder-bob.
Promise & Callback APIs
Use ImageEditor.edit(path) for async/await flows, or ImageEditor.open(config) for callback-based integration. Both share identical options.
Fully Localizable
Every UI string in the editor — buttons, dialogs, permissions — is overridable at runtime via the languages prop. No native rebuild required.
Apache 2.0 Licensed
Permissive open-source license. Free to use in commercial projects without attribution in binaries.
Compatibility
| Platform / Tool | Minimum | Tested With |
|---|---|---|
| React Native | ≥ 0.73 | 0.78.2 |
| React | ≥ 18.2.0 | 19.0.0 |
| iOS | 13.0 | 18.0 |
| Android | API 24 | API 35 |
| Architecture | Old Arch ✅ | New Arch ✅ |
| Node.js | ≥ 16 | — |
Quick Install
npm install @phucprime/react-native-image-editoryarn add @phucprime/react-native-image-editor
