Skip to main content
Render the editor in a React app with the EmbedEditor component.
Try every prop live in the playground, open on React, and copy the code it writes.
Free is on public npm, with no key. It has the Adjust tools, and a small “embededitor.com” badge in the corner of the menu.

Install

The React entry needs react and react-dom 18.3 or 19 as peers. There is no CSS to import.

Render

PhotoEditor.tsx
The editor fills the box its parent gives it, so give the parent a height, and at least 320 px of width.

Get the File Back

onProcess receives the saved File and the state it was made with.
PhotoEditor.tsx

Open as a Modal

openEditor opens the editor over the page: a dialog on a desktop, a bottom sheet on a phone.
edit-photo.ts
More in Open as a modal.

Update Props

Props apply live: change them like any other React prop.src and state are read when the editor opens. Once an image is on screen, give the editor a new key to open another one.
PhotoEditor.tsx
Pass a stable src (memoize it). A new Blob or URL.createObjectURL(file) written inline restarts the load each time the component renders while the image loads.

Clean Up

Unmount the component to remove the editor. For the modal, call the close that openEditor returns; Save closes it too, once onProcess returns.
data-* and aria-* attributes on EmbedEditor go to its host element, which helps with tests and analytics. Any other unknown prop is invalid.

Next Steps

Props

Every option the editor takes.

The Saved State

Reopen a photo with its edits.

Next.js

Server components and safe areas.

Theming

Match the editor to your brand.