How to build PhotoCraft from source
Build PhotoCraft from source with Rust 1.95+: prerequisites for Linux, Windows and macOS, the exact cargo commands, optional CJK fonts, the CLI and the WebAssembly target.
Updated 2026-10-11 · PhotoCraft 0.7.0
PhotoCraft is a Rust workspace. You can build the desktop app, the headless CLI and the WebAssembly app yourself. If you only want to use PhotoCraft, the packaged releases are simpler.
1. Prerequisites
- Rust stable, 1.95 or newer. The workspace sets
rust-version = "1.95". Install it with rustup. - Linux: install the windowing, GL and GTK development packages:
# Debian/Ubuntu
sudo apt install libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libgtk-3-dev
# Fedora/RHEL
sudo dnf install libxkbcommon-devel wayland-devel libX11-devel libXrandr-devel libXi-devel mesa-libGL-devel gtk3-devel
# Arch
sudo pacman -S libxkbcommon wayland libx11 libxrandr libxi mesa gtk3
# openSUSE
sudo zypper install libxkbcommon-devel wayland-devel libX11-devel libXrandr-devel libXi-devel Mesa-libGL-devel gtk3-devel
- Windows: use the Rust MSVC toolchain, and install Visual Studio or the Microsoft C++ Build Tools with the Desktop development with C++ workload. On Windows 11, Smart App Control can block Cargo or the build's executables (error
os error 4551). The development guide explains how to check this.
2. Clone and run
git clone https://github.com/storytold/photocraft
cd photocraft
cargo run --release -p photocraft -- image.psd # the desktop app
cargo test --workspace # the test suite
The build guide also lists:
cargo build --workspace
cargo run -p photocraft-cli -- --help
3. Optional: Japanese fonts
Japanese fonts for the UI and the Type tool come from craft-fonts, an optional build input; desktop release builds always include it. Without it, PhotoCraft uses your system's CJK fonts.
git clone https://github.com/storytold/craft-fonts ../craft-fonts
CRAFT_FONTS_DIR="$PWD/../craft-fonts" cargo run --release -p photocraft
4. Optional: HEIC and the web build
- HEIC support is a build-time feature:
cargo build -p photocraft --features heif. Official builds include it. - The web target needs
rustup target add wasm32-unknown-unknown. The project checks it withcargo xtask wasm.
Workspace apps
apps/photocraft: the native desktop applicationapps/photocraft-cli: the headless CLI, JSON-lines server and MCP serverapps/photocraft-web: the WebAssembly application, built with Trunk
Sources
Every factual claim in this article is taken from these upstream files. If something here disagrees with them, the upstream source wins.
PhotoCraft Hub is an unofficial community site. PhotoCraft is made by the ArtCraft team; screenshots are from the PhotoCraft repository (MIT OR Apache-2.0) and show public-domain artwork.
NextPhotoCraft 0.7.0 release notes explained