React Native Photo Editor (RNPE)

Image editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and PhotoEditor (Android)


The difference between the 2 platforms is huge – Be careful when using
This lib is for personal use, so if you customize your style or change something, Please fork this library and check the detailed documentation in the original library:

During the development of this package. I was thinking of moving it as part of an earlier library that I finished. If the support community for this library was large enough, I would have to dismiss this idea immediately.




  • Drawing on image with option to change its Brush’s Color, Size, Opacity, Erasing and basic shapes.
  • Apply Filter Effect on image using MediaEffect
  • Adding/Editing Text with option to change its Color with Custom Fonts.
  • Adding Emoji with Custom Emoji Fonts.
  • Adding Images/Stickers
  • Pinch to Scale and Rotate views.
  • Undo and Redo for Brush and Views.
  • Deleting Views



iOS Android


  • Swift 5.3 (Xcode12.4+)
  • iOS 12+


yarn add @baronha/react-native-photo-editor && cd ios/ && pod install && cd..

Don’t forget add file .swift in your project (and create bridging header file swift).


import PhotoEditor from "@baronha/react-native-photo-editor";

// ...

const result = await;


Property Type Default value Platform Description
uri string required both Local image path


iOS Android

Custom Filters(iOS)

LUT (Hald image)

How to create cube data from LUT Image

We can download the neutral LUT image from lutCreator.js.

Hald Images

Hald is a graphical representation of 3D LUT in a form of a color table which contains all of the color gradations of 3D LUT. If Hald is loaded into editing software and a color correction is applied to it, you can use 3D LUT Creator to convert your Hald into 3D LUT and apply it to a photo or a video in your editor.

Detailed documentations are available on here

IMPORTANT You have to copy this folder and paste in Xcode root folder See Example

To Do

  • Customize.
  • Sync between two platforms.


We’re trying to improve performance. If you have a better solution, please open a issue or pull request. Best regards!


See the contributing guide to learn how to contribute to the repository and the development workflow.