OpenCraftTools Free to use. No account needed. Download

Early alpha · MIT or Apache-2.0 · v0.9.0

PhotoCraft for ArtCraft workflows: a Photoshop-shaped open-source editor

PhotoCraft is an open-source photo editor written from scratch in Rust, built around the document model people already use: layers, masks, adjustment layers, text, vectors and brushes, with layered PSD as a format it reads and writes rather than imports. It installs on Linux, Windows, macOS and FreeBSD, ships a WebAssembly build, and can be driven from a command line, a JSON action file or an MCP client.

Open upstream release Try PhotoCraft in your browser Read the source

PhotoCraft interface with a photo canvas, editable layers and adjustment controls
Upstream PhotoCraft interface preview; the artwork shown in the repository is public-domain source material. View the original asset

PhotoCraft facts, checked 2026-10-15

Latest release
v0.9.0
Released
2026-10-14
Licence
MIT or Apache-2.0
Release assets
Official release
Stage
Early alpha
Source repository
storytold/photocraft
What upstream publishes today
Platform Architectures Build formats Where work runs
Linux x86_64, aarch64 AppImage, deb, rpm, flatpak, tar.gz Local: your CPU, GPU and files
Windows x64, arm64 MSI installer, portable zip Local: your CPU, GPU and files
macOS universal (Apple silicon and Intel) DMG Local: your CPU, GPU and files
FreeBSD x86_64 tar.gz Local: your CPU, GPU and files
Browser (WebAssembly) any modern browser photocraft-web-0.9.0.zip Browser build; confirm the current hosting and file boundary upstream
CLI macOS universal build photocraft-cli-0.9.0-macos-universal.zip Command-line or agent workflow; verify the installed release before batching

What it does

Layers, masks and adjustment layers

Composites are built from real layers with masks, adjustment layers, layer styles, text, vector shapes and brushes — the model Photoshop users already know.

PSD and PSB read and write

Layered PSD and PSB files can be opened, edited and saved back, with the result depending on the document features the current release supports. The repository publishes a compatibility test suite for the format.

GPU rendering paths

Metal, Vulkan, DX12 and WebGPU back ends, selected per platform, so canvas work stays responsive at full resolution.

Native and browser builds from one core

The same Rust core compiles to desktop binaries and a WebAssembly bundle, so the browser build is not a separate toy engine.

CLI, JSON control channel and MCP

Drive the editor from a command, a JSON action file or an MCP client, which is what makes batch work and agent automation possible.

Batch processing

Apply an action set across a directory of files instead of clicking through each one by hand.

What it does not do yet

  • Early alpha: features land continuously and some panels still change between releases.
  • No generative AI inside the editor: PhotoCraft edits pixels you bring. AI generation is ArtCraft's job.
  • Plugin compatibility with Photoshop's filter ecosystem is not the same; expect to rebuild workflows.
  • Specialist typography and pre-press tooling is thinner than a mature commercial editor.
  • The browser bundle is a build of the desktop core, not a cloud service: files stay local.

Automation surface

Run one filter over a file

photocraft-cli run input.psd \ --cmd filter.sharpen.smartSharpen \ --params '{"amount":80}' \ --out output.png

Command syntax is documented by the upstream project; verify against your installed version before relying on it in production.

Batch a folder from an action set

photocraft-cli batch --actions grade.json --in ./raw --out ./graded

One JSON action file drives the whole directory.

Expose PhotoCraft to an MCP client

photocraft-cli mcp

Lets an agent that speaks MCP drive the editor headlessly.

PhotoCraft preview and release limits

This is an upstream preview of PhotoCraft. It helps you recognise the workflow, but it is not a promise that every panel, model or file format is unchanged in v0.9.0. Use the release and source links above for the version-specific truth.

Browser experience

Try PhotoCraft online for PSD editing

Target workflow: layered PSD, masks and reversible adjustments. The editor opens in the upstream application; This portal does not upload, proxy or retain your files.

  • Layered PSD files
  • Masks and adjustments
  • Browser-first evaluation
Open PhotoCraft online

What the project is actually doing

Most free editors are either a wrapper around an existing raster library or a browser toy with a layers menu. PhotoCraft is a from-scratch implementation of an editor, and that choice shows up in three places: a document model that keeps layer structure when it saves a PSD, a rendering engine that talks to your GPU through the APIs your platform actually provides, and a command interface that lets the same engine run without a person at the keyboard. The name of the target is easy to miss in that list. It is not "a free Photoshop clone". It is an editor whose files stay editable, which is a smaller claim and a much more useful one.

Why writing it in Rust matters to you

A language choice is only interesting when it changes what you can do with the product. Here it changes two things. First, one core compiles to desktop binaries and to a WebAssembly bundle, so the browser version is the same engine rather than a separate reimplementation that loses features whenever the desktop one adds them. Second, a memory-safe engine is what makes it realistic to hand a compositor to a script or an agent: an automation that crashes halfway through four hundred files is worse than no automation, and the class of crash that a rewrite in Rust is meant to remove is exactly the one you meet when nobody is watching the process.

Layers, masks and the things you can undo

The working model is stacking rather than painting. Adjustment layers sit above the pixel data and apply downward, so an exposure decision stays a decision you can revisit. Masks hide without deleting, which means the file you send back still contains what you decided not to show. Layer styles, text and vector shapes exist as their own kinds of object rather than as baked pixels. This is the vocabulary of a commercial editor, and the reason a file produced here can be handed to a colleague without an apology attached to it.

Living with layered PSD

Reading a PSD is common; writing one back with its structure intact is the rare part. PhotoCraft treats PSD and PSB as working formats and carries a compatibility test suite for them in the repository. Two consequences are worth planning around. You gain the ability to do real client work on a machine that has no commercial licence attached to it. You also inherit an alpha project's boundaries: some layer styles come back approximate, nested smart objects are a known weak point, and a file from an unusual producer can reveal a gap. The practical answer is the same one you would use anywhere: keep a flattened reference, save the project before exporting a delivery copy, and check structure on open rather than discovering it on handoff. The comparison guide walks through exactly which elements survive the round trip.

GPU paths and the browser build

Compositing at full resolution is a rendering problem before it is an editing problem, and the editor selects a back end per platform: Metal on Apple platforms, Vulkan on Linux, DX12 on Windows, WebGPU where a browser exposes it. That matters most on large canvases, where a raster pipeline gives you a laggy preview and a GPU pipeline gives you the actual image. The WebAssembly build applies the same idea in a tab: it is the desktop core compiled for the browser, so nothing uploads to a server for your pixels to come back. It is not a hosted service, and on modest hardware it will feel like a desktop engine running inside a browser rather than a lightweight web tool.

Editing as a command instead of a click

The part that puts PhotoCraft in a different category from most free editors is that you do not have to use it by hand. A command-line binary runs a single operation against a file. A JSON action file describes a sequence and applies it to a directory. An MCP server exposes the same operations to a program that speaks MCP, which is how an agent ends up doing the repetitive half of a job while a person handles the half that needs judgement. That is a real workflow difference: the person who retouches five hundred product shots one panel at a time and the person who defines the grade once and lets a script apply it are not doing the same work.

What it is not

It is not generative: there is no model inside the editor, and AI imagery belongs to ArtCraft rather than here. It is not a Photoshop replacement in the sense of parity — plugin compatibility, specialist typography and pre-press depth are places a two-decade commercial product simply has more. It is not finished: the project describes itself as early alpha, panels move between releases, and the right way to read any claim on this page is as a statement about a specific build. None of that makes it the wrong tool; it makes it a tool with a scope, and the scope is exactly what an editor-shaped, file-honest, scriptable raster workflow needs.

Who should install it

Who this is for

  • Client PSD work on Linux
  • Reversible colour grading with adjustment layers
  • Batch retouching driven by an action file
  • Agent-assisted editing over MCP
  • A licence-auditable editor inside a studio pipeline

Questions people actually ask

Is PhotoCraft a replacement for Photoshop?

It is an editor with a similar document model, not a parity replacement. Layered files, masks and adjustment layers work in the way you expect; plugin compatibility, some effects and specialist print workflows are where a commercial product still has more depth built up over years.

Can it open a PSD without flattening it?

Yes, that is its central design goal. Layers, groups, masks, adjustment layers and text come back as editable objects, with layer styles and nested smart objects the areas to verify against a reference export.

Do my photos get uploaded anywhere?

No. Both the desktop builds and the WebAssembly build process locally. There is no account, no upload endpoint and no project storage behind the editor.

Is there a command-line version for batching?

Yes. A CLI runs a single operation, a JSON action file applies a sequence across a directory, and an MCP server lets an agent drive the editor. The published release includes a dedicated CLI archive.

How stable is it for client work?

Plan around the alpha. Save the project file before exporting, keep a flattened reference, and check which release your guide was written against. People who treat it as a dependable fallback alongside a mature editor have a better time than people who expect a stable release line.