Open source, cross-platform professional image editor. Layered documents, 16/32-bit colour, ICC/CMYK, PSD read and write, full RAW support, and AI tools that run entirely on your machine. Windows and macOS.
Status: 0.1.0 — usable on Windows. The core engine, file formats, tools, adjustments, filters, Develop, the AI layer, the academy, the plugin API and animation are all in place. The macOS packaging code is written but has not been verified on a real Mac.
| Area | Contents |
|---|---|
| Document | Tile-based sparse store, 8/16/32-bit, ICC/CMYK, 27 blend modes, layer styles, masks, smart objects |
| Formats | .mas (native), PSD (layered read + write), PNG/JPEG/WebP/AVIF/HEIC/TIFF/GIF/BMP/ICO, SVG and PDF import, print PDF (CMYK + bleed + marks), RAW (LibRaw), GIF and APNG animation |
| Tools | Brush engine, selection family (lasso / wand / colour range + refine), retouch and healing brushes, clone, patch, smudge, gradient, text, pen and shapes, free transform |
| Colour | 16 adjustment layers (curves, selective colour, .cube LUTs included), 16 filters, a Develop module with 16 adjustments in one recipe |
| Warping | Liquify, puppet warp, multi-plane perspective warp, content-aware scale, text warp |
| AI | Background removal, portrait matting, edge refinement, ×2/×4 upscaling, object removal, denoising — all local, models bundled |
| Interface | Simple Mode and Pro Mode, command palette, sortable and hideable panels, five workspaces, TR + EN, dark and light themes |
| Learning | 49 interactive lessons, a first-run tour, an in-app and PDF manual |
| Extending | Sandboxed plugin API (Worker + GLSL filters), action recorder, batch processing |
An editor you can install in place of Photoshop and run without paying a subscription to anybody. It has two faces: Simple Mode for someone with no experience (ten large task cards) and Pro Mode for real work (the full panel layout). Inside it there is a teaching academy that does not advance until you have actually performed the step.
The AI tools run locally. Nothing you open is uploaded anywhere, because there is nowhere for it to go.
| Windows | macOS | |
|---|---|---|
| Version | Windows 10 1809+ / 11 (x64) | macOS 12 Monterey+ |
| Architecture | x64 | Apple Silicon (arm64) and Intel (x64) |
| GPU | DirectX 11 capable, WebGL2 | Metal capable |
| RAM | 8 GB (16 GB recommended) | 8 GB (16 GB recommended) |
npm install
npm run devnpm run dev starts the Vite dev server, the watch build for the main process and
Electron together. Closing Electron shuts all of them down.
The AI model weights are not in the repository — they are half a gigabyte and would not survive a clone. They are fetched on demand:
node scripts/fetch-models.mjs| Command | Job |
|---|---|
npm run dev |
Development session (renderer + main + Electron) |
npm run typecheck |
TypeScript across the whole repo |
npm run lint |
ESLint |
npm test |
Unit tests (Vitest) |
npm run test:golden |
Regression baselines: blend, filter and adjustment output |
npm run test:e2e |
Electron end-to-end tests (Playwright) |
npm run build |
Production build of main and renderer |
npm run icons |
Generates the app icons from code (.png/.ico/.icns) |
npm run dist |
Installer for the current platform |
npm run manual |
Builds the manual (TR + EN, HTML + PDF) |
npm run notice |
Regenerates the model licence notice from the registry |
packages/
platform/ Platform abstraction: paths, shortcuts, capabilities, panel layout
core/ Document model, command/history, tile store, filters, warps
gpu/ WebGL2 compositor, blend and adjustment shaders
codecs/ Format read/write (.mas, PSD, PDF, RAW)
ai/ onnxruntime wrapper, model registry, tiled inference
academy/ Interactive teaching engine and manual source
plugins/ Plugin manifest, sandbox contract, GLSL wrapper
apps/
desktop-main/ Electron main process
desktop-renderer/ React application and the pixel surface
One rule: packages/core and packages/ui do not know which platform they are running
on. Windows and macOS differences live only inside packages/platform, explicitly listed.
Shortcuts are written canonically as Mod+Z, where Mod resolves to Ctrl on Windows and
Cmd on macOS.
The project is open source and does not use a code signing certificate. On first run:
Windows — SmartScreen shows "Unknown publisher". More info → Run anyway.
macOS — Gatekeeper quarantines the app. Right-click it and choose Open, or from a terminal:
xattr -dr com.apple.quarantine /Applications/masstudio.appThis is 0.1.0 and the first public release. It is a large application built and tested mostly by one person on one machine — which means the bugs left in it are, by definition, the ones I could not find that way.
I am actively developing this and would be grateful for feedback and bug reports. The most useful kinds:
- A file that opens wrong. PSD and RAW have enormous surface area; a file that renders incorrectly, with the file attached if you can share it, is the single most valuable report.
- Anything on macOS at all. The packaging code is written and has never run on real hardware. If you try it, I want to hear what happened even if the answer is "it did not start".
- Performance on your GPU. The compositor is WebGL2 and driver behaviour varies more than it should. Tell me the card and what got slow.
- Simple Mode and the academy. These exist for people new to image editing, and I am the wrong person to judge whether they work. If a lesson was confusing, that is a bug.
- Anything you expected to find and could not. A missing feature you went looking for says more about priorities than a roadmap does.
Open an issue for any of it, including half-formed ones. At this stage a rough report is worth more than a polished one that never gets filed.
MIT — full text in LICENSE.
The bundled AI model weights are chosen only from permissively licensed models (MIT / Apache-2.0 / BSD-3); weights restricting commercial use are not included. Every distributed model's licence and source is listed in NOTICE.md, and that list is generated from the model registry — a hand-written one would start lying the first time a model changed.
🇹🇷 Türkçe: README.tr.md