Integrations
Editing photos with Photopea inside Fotofolio
Photopea runs inside Fotofolio via iframe + postMessage. Open any album photo, edit with layers and masks, save it back to the album as a new asset.
Photopea is a remarkable thing — a Photoshop-quality image editor that runs entirely in the browser. We embed it inside Fotofolio so you can do layered edits without leaving the dashboard. It opens PSD files, supports layers and masks, the healing brush, levels, curves, the lot.
Photopea is free with a small ad inside the editor (Photopea's, not ours). Their Pro tier ($5/user/mo) removes ads and unlocks a few extras — that's between you and Photopea; we don't bundle anything from that.
How to open it
- Fotofolio dashboard → My Studio → Edit images → Photopea.
- Source picker appears. Either From album (browse your existing photos) or From device (upload a PSD / AI / SVG / RAW from disk).
- Photopea loads with your file open. Edit normally — every Photopea tool works.
- When you're done, click Save to Fotofolio in our top bar (not Photopea's File menu). Pick a destination album. We save as a new asset; your original stays untouched in its original album.
How it works under the hood
We embed Photopea via iframe and communicate via the browser's postMessage API. The handshake is:
- On load, we pass Photopea your file as binary bytes via
postMessage. Photopea opens it as a fresh document. - When you click Save to Fotofolio, we script Photopea (via the same
postMessagechannel) to callapp.activeDocument.saveToOE("png"). Photopea exports the active document and posts the PNG bytes back to us. - We receive that
ArrayBuffer, create a draft photo from it, then publish the draft to your chosen album.
Everything happens in your browser. Your edit bytes never sit on our server outside the final upload-to-album step.
What Signatures look like in Photopea
Our toolbar has a Signature button. Click it, pick from your Signature library (or hit "Manage signatures" if you haven't built any yet). For a text signature we render the text to a PNG canvas using the font you chose (we wait for Google Fonts to fully load so canvas measures correctly); for an image signature we fetch the PNG from S3. Either way, we post the bytes into Photopea, which opens it as a new layer. From there you position it like any other layer.
Practical notes
- Big PSDs are big. A 400 MB PSD takes time to push through postMessage. Browser memory is also finite. For very heavy files you might prefer to keep them in desktop Photoshop and use Watch Folder for the final delivery.
- The save format is PNG. Quality and bit-depth match Photopea's PNG export. If you specifically need TIFF / JPEG, use File → Export As inside Photopea and download manually.
- We only know the active document. If you have multiple docs open in Photopea, our Save grabs whichever is currently focused.
If something feels off
The save handshake has a small timing dependency — Photopea needs to finish loading before we can script it. We added an empirically-derived 350ms grace period. On slow connections that occasionally isn't enough; if Save seems to do nothing, wait a second and click it again. Email hello@nanoappstudio.com if it's a repeatable issue and we'll tune the delay.
Ready to try this in your own workflow?
Free tier, no card. Or book a 30-minute walkthrough.