The customizable mobile photo and video editor for your iOS and Android App

Provide a perfectly balanced UX your users are going to love - with our native editor solutions.

Supporting the great frameworks

Simplified implementation through your favorite frameworks.

import PhotoEditorSDK

let image = UIImage(named: "example")!
let photo = Photo(image: image)

let photoEditViewController = PhotoEditViewController(photoAsset: photo)
photoEditViewController.delegate = self

present(photoEditViewController, animated: true, completion: nil)

class MyActivity : Activity(), PermissionRequest.Response {
  ...
  fun openEditor(inputImage: Uri) {
    val settingsList = PhotoEditorSettingsList()
      .configure { it.setFontList(FontPackBasic.getFontPack()) }
      .configure { it.setFrameList(FramePackBasic.getFramePack()) }
      .configure { it.setFilterList(FilterPackBasic.getFilterPack()) }
      .configure { it.setOverlayList(OverlayPackBasic.getOverlayPack()) }
      .configure { it.setStickerLists(StickerPackEmoticons.getStickerCategory()) }
      .configure { it.source = inputImage }
    PhotoEditorBuilder(this)
      .setSettingsList(settingsList)
      .startActivityForResult(this, PESDK_RESULT)
  }
...
}


import React, { Component } from "react";
import { PhotoEditorModal } from "react-native-photoeditorsdk";

export default class App extends Component {
  render() {
    return (
      <PhotoEditorModal
        visible={true}
        image={require('./example.jpg')}
        onExport={(result) => {
          console.log(result);
        }}
      />
    );
  }
} 


var app = {
  initialize: function () {
    document.addEventListener(
      "deviceready",
      this.onDeviceReady.bind(this),
      false
    );
  },
  onDeviceReady: function () {
    PESDK.openEditor(
      (result) => {
        console.log(result); // success callback
      },
      (error) => {
        console.log(error); // failure callback
      },
      PESDK.loadResource("www/img/example.jpg")
    );
  },
};
app.initialize();


import {Component} from '@angular/core';
import {Platform} from '@ionic/angular';
declare var PESDK;
@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {
  constructor(platform: Platform) {
    platform.ready().then(() => {
      PESDK.openEditor(
          (result) => {
            console.log(result);  // success callback
          },
          (error) => {
            console.log(error);  // failure callback
          },
          PESDK.loadResource('www/assets/example.jpg'));
    });
  }
}

Make it seamless –
Customize our editor to fit your app’s design

Smart Features

Attention-grabbing and precise visual communication is key to engaging your target audience. Making good design more accessible with our Text Design tool as well as Animated and Smart Stickers.

If it moves, they'll watch it

VideoEditor SDK expands the toolkit of PhotoEditor SDK into the realm of mobile video creation. Empower your users to create engaging and professional-looking videos on the fly.

Packed with tons of features

View Documentation
Define Filter Presets
Define Filter Presets
Ultra High-Res Editing
Ultra High-Res Editing
Define Image Output SIze
Define Image Output SIze
Placing Stickers and Texts made easy with the Snapping Tool
Placing Stickers and Texts made easy with the Snapping Tool
Tablet Support
Tablet Support
Adjusting the editors language through Localization
Adjusting the editors language through Localization
Accessibility
Accessibility
Client-sided Rendering
Client-sided Rendering
Define Image Output Formats
Define Image Output Formats
Fast Image Export
Fast Image Export
Low Memory Footprint
Low Memory Footprint
Store EXIF data in outputs
Store EXIF data in outputs

Implement the editor and join the ranks of

Ready to get started?

Start your free trial or get in touch.
Start TrialGet License