eolix/photosuite

JavaScript

12

1 commits

updated Sep 23, 2026

See the code

See what people are saying

README

PhotoSuite Logo

PhotoSuite

A desktop image editor faithfully replicating classic Adobe Photoshop (~2020) with 1:1 native PSD/PSB compatibility.

Build Status Tauri v2 Platform Support Open Source

Quick StartDownloadsWhat This IsFeaturesSupported FormatsDocumentationBuilding & Testing


Quick Start

# Clone with submodules included
git clone --recursive https://github.com/eolix/photosuite.git
cd photosuite

# Install dependencies and start in development mode
npm install
npm run dev

Note: If already cloned without --recursive, initialise submodules before starting:

git submodule update --init --recursive

Downloads

Pre-built binary packages are available on the Releases page:

PlatformPackage FormatArchitecture
macOSUniversal .dmgApple Silicon (arm64) & Intel (x86_64)
Linux.deb, .rpmx86_64
WindowsNSIS installer (.exe)x64

What This Is

PhotoSuite is a full-featured desktop raster and vector graphics editor designed with fidelity in mind rather than reinterpretation. Panels sit where you expect them, shortcuts match your muscle memory, dialogs expose identical fields, and tools behave exactly like the originals — right down to modifier keys. If you know Photoshop ~2020, you already know PhotoSuite.

  • PSD/PSB Native Format: PSD is the native format, not a lossy import filter. Documents round-trip cleanly through the binary format: layer records, masks, blending modes, channel data, descriptors, layer effects, smart-filter stacks, text engine data, vector paths, slices, and colour profiles. A file saved in PhotoSuite opens in Photoshop with its layer tree intact, and vice versa. PSB is supported for large documents.
  • Offline-First & Private: Built as a Tauri v2 application. The editor runs HTML5, WebAssembly, and WebGL inside the system webview, backed by a lightweight Rust host for filesystem access, native menus, dialogs, clipboard, and printing. Everything stays local on your machine with zero telemetry or cloud requirements.

Disclaimer: Not affiliated with or endorsed by Adobe. Photoshop is a registered trademark of Adobe Inc., referenced here solely to describe the interface and behavioral specifications this project aims to replicate.


Key Features

  • Layer Engine & Styles:

    • Raster layers, vector layers, layer groups, clipping masks, and layer masks.
    • 1:1 Photoshop layer styles: Drop Shadow, Inner Shadow, Outer Glow, Inner Glow, Bevel & Emboss, Satin, Color Overlay, Gradient Overlay, Pattern Overlay, and Stroke.
    • Smart Objects and Smart Filter stacks with non-destructive editing.
    • Layer Comps palette and tracker.
  • Tools & Canvas Experience:

    • Complete toolset: Marquee, Lasso, Magic Wand, Crop, Brush, Clone Stamp, Healing Brush, Eraser, Gradient, Blur/Sharpen, Dodge/Burn, Pen, Type, Shapes, Hand, Zoom, and Eyedropper.
    • Full canvas panning, zooming, rotation, pixel grid, rulers, and custom guides.
    • Deep History palette with snapshot support.
  • Filters & WebAssembly Acceleration:

    • Classic Filter Gallery with multi-band runner and live thumbnails.
    • Liquify with interactive mesh warping.
    • Lens Correction backed by the Lensfun database.
    • WebAssembly-powered image processing (blur, median, WebP encode/decode, zstd compression, etc.).
  • Vector Geometry & Advanced Typography:

    • Vector path geometry and boolean operations powered by Paper.js.
    • High-fidelity font parsing via Typr.js, complex text shaping via HarfBuzz (WASM), and bidirectional text layout via FriBidi (WASM).
    • Type along path, text warp, OpenType ligatures, kerning, and character/paragraph palettes.
  • Automation, Scripting & Extensibility:

    • Photoshop Actions (.atn) parser and playback engine.
    • JavaScript/JSX scripting engine powered by Acorn.
    • Sandboxed sidebar plugins using plain HTML, CSS, and JavaScript communicating via IPC (see PLUGINS.md).
  • Native Desktop Integration:

    • Native OS menus via Tauri.
    • Direct printing support (CUPS on macOS/Linux, Windows Spooler on Windows).
    • Drag-and-drop file loading and native OS file dialogs.

Supported Formats

PhotoSuite opens and exports a comprehensive range of raster, vector, and digital design formats:

CategorySupported Formats
Native & AdobePSD, PSB, Adobe Illustrator (.ai), Adobe XD (.xd)
Standard RasterPNG, APNG, JPEG, WebP, AVIF, TIFF, GIF, BMP, TGA, OpenEXR (.exr)
Vector & DocumentSVG, PDF, PostScript (.ps), EPS, EMF, WMF, DXF
Digital DesignSketch (.sketch), Figma (.fig), Affinity Photo/Designer (.af - WIP), GIMP (.xcf)
Camera RAWDNG, CR2, NEF, ARW, and standard camera RAW formats

Documentation

Comprehensive architecture guides and development documentation are located in docs/:

DocumentDescription
docs/ARCHITECTURE.mdCodebase architecture, module layering rules, directory layout, and design principles.
docs/PLUGINS.mdGuide to writing sidebar plugins using standard HTML, CSS, and JavaScript.
tests/README.mdBehavioural test suite documentation, test harness, and mocking guidelines.
src/vendor/README.mdComplete third-party vendor provenance, pinned commits, upstream licenses, and build scripts.

Building & Testing

Prerequisites

  • Node.js: v25 or newer
  • Rust: Current stable toolchain (rustup)
  • Tauri Prerequisites: Platform dependencies for Tauri v2

Commands

npm run dev        # Launch the app from source with Tauri
npm run build      # Build the production application bundle for your current platform
npm test           # Run the behavioral test suite (1,600+ tests)
npm run verify     # Verify imports, cyclic dependencies, static bindings, and bootstrap
npm run lint       # Run ESLint across src/

Automated cross-platform builds (macOS universal, Linux deb/rpm, Windows x64) are run on every release tag via GitHub Actions.


Inspiration and Prior Art

The primary inspiration for this project is Photopea, Ivan Kutskir's browser-based editor, which demonstrated that a desktop-class image editor with complete PSD fidelity is achievable in a web runtime. The author has also open-sourced many format libraries utilised by this project. An archive snapshot is available at ruanjiyang/Photopea-Offline.


Open Source Used Here

All third-party libraries live in src/vendor/ as pinned git submodules with their respective upstream licenses:

Contributors

eolix

1 commits

eolix/photosuite

JavaScript

12

1 commits

updated Sep 23, 2026

See the code

See what people are saying

README

PhotoSuite Logo

PhotoSuite

A desktop image editor faithfully replicating classic Adobe Photoshop (~2020) with 1:1 native PSD/PSB compatibility.

Build Status Tauri v2 Platform Support Open Source

Quick StartDownloadsWhat This IsFeaturesSupported FormatsDocumentationBuilding & Testing


Quick Start

# Clone with submodules included
git clone --recursive https://github.com/eolix/photosuite.git
cd photosuite

# Install dependencies and start in development mode
npm install
npm run dev

Note: If already cloned without --recursive, initialise submodules before starting:

git submodule update --init --recursive

Downloads

Pre-built binary packages are available on the Releases page:

PlatformPackage FormatArchitecture
macOSUniversal .dmgApple Silicon (arm64) & Intel (x86_64)
Linux.deb, .rpmx86_64
WindowsNSIS installer (.exe)x64

What This Is

PhotoSuite is a full-featured desktop raster and vector graphics editor designed with fidelity in mind rather than reinterpretation. Panels sit where you expect them, shortcuts match your muscle memory, dialogs expose identical fields, and tools behave exactly like the originals — right down to modifier keys. If you know Photoshop ~2020, you already know PhotoSuite.

  • PSD/PSB Native Format: PSD is the native format, not a lossy import filter. Documents round-trip cleanly through the binary format: layer records, masks, blending modes, channel data, descriptors, layer effects, smart-filter stacks, text engine data, vector paths, slices, and colour profiles. A file saved in PhotoSuite opens in Photoshop with its layer tree intact, and vice versa. PSB is supported for large documents.
  • Offline-First & Private: Built as a Tauri v2 application. The editor runs HTML5, WebAssembly, and WebGL inside the system webview, backed by a lightweight Rust host for filesystem access, native menus, dialogs, clipboard, and printing. Everything stays local on your machine with zero telemetry or cloud requirements.

Disclaimer: Not affiliated with or endorsed by Adobe. Photoshop is a registered trademark of Adobe Inc., referenced here solely to describe the interface and behavioral specifications this project aims to replicate.


Key Features

  • Layer Engine & Styles:

    • Raster layers, vector layers, layer groups, clipping masks, and layer masks.
    • 1:1 Photoshop layer styles: Drop Shadow, Inner Shadow, Outer Glow, Inner Glow, Bevel & Emboss, Satin, Color Overlay, Gradient Overlay, Pattern Overlay, and Stroke.
    • Smart Objects and Smart Filter stacks with non-destructive editing.
    • Layer Comps palette and tracker.
  • Tools & Canvas Experience:

    • Complete toolset: Marquee, Lasso, Magic Wand, Crop, Brush, Clone Stamp, Healing Brush, Eraser, Gradient, Blur/Sharpen, Dodge/Burn, Pen, Type, Shapes, Hand, Zoom, and Eyedropper.
    • Full canvas panning, zooming, rotation, pixel grid, rulers, and custom guides.
    • Deep History palette with snapshot support.
  • Filters & WebAssembly Acceleration:

    • Classic Filter Gallery with multi-band runner and live thumbnails.
    • Liquify with interactive mesh warping.
    • Lens Correction backed by the Lensfun database.
    • WebAssembly-powered image processing (blur, median, WebP encode/decode, zstd compression, etc.).
  • Vector Geometry & Advanced Typography:

    • Vector path geometry and boolean operations powered by Paper.js.
    • High-fidelity font parsing via Typr.js, complex text shaping via HarfBuzz (WASM), and bidirectional text layout via FriBidi (WASM).
    • Type along path, text warp, OpenType ligatures, kerning, and character/paragraph palettes.
  • Automation, Scripting & Extensibility:

    • Photoshop Actions (.atn) parser and playback engine.
    • JavaScript/JSX scripting engine powered by Acorn.
    • Sandboxed sidebar plugins using plain HTML, CSS, and JavaScript communicating via IPC (see PLUGINS.md).
  • Native Desktop Integration:

    • Native OS menus via Tauri.
    • Direct printing support (CUPS on macOS/Linux, Windows Spooler on Windows).
    • Drag-and-drop file loading and native OS file dialogs.

Supported Formats

PhotoSuite opens and exports a comprehensive range of raster, vector, and digital design formats:

CategorySupported Formats
Native & AdobePSD, PSB, Adobe Illustrator (.ai), Adobe XD (.xd)
Standard RasterPNG, APNG, JPEG, WebP, AVIF, TIFF, GIF, BMP, TGA, OpenEXR (.exr)
Vector & DocumentSVG, PDF, PostScript (.ps), EPS, EMF, WMF, DXF
Digital DesignSketch (.sketch), Figma (.fig), Affinity Photo/Designer (.af - WIP), GIMP (.xcf)
Camera RAWDNG, CR2, NEF, ARW, and standard camera RAW formats

Documentation

Comprehensive architecture guides and development documentation are located in docs/:

DocumentDescription
docs/ARCHITECTURE.mdCodebase architecture, module layering rules, directory layout, and design principles.
docs/PLUGINS.mdGuide to writing sidebar plugins using standard HTML, CSS, and JavaScript.
tests/README.mdBehavioural test suite documentation, test harness, and mocking guidelines.
src/vendor/README.mdComplete third-party vendor provenance, pinned commits, upstream licenses, and build scripts.

Building & Testing

Prerequisites

  • Node.js: v25 or newer
  • Rust: Current stable toolchain (rustup)
  • Tauri Prerequisites: Platform dependencies for Tauri v2

Commands

npm run dev        # Launch the app from source with Tauri
npm run build      # Build the production application bundle for your current platform
npm test           # Run the behavioral test suite (1,600+ tests)
npm run verify     # Verify imports, cyclic dependencies, static bindings, and bootstrap
npm run lint       # Run ESLint across src/

Automated cross-platform builds (macOS universal, Linux deb/rpm, Windows x64) are run on every release tag via GitHub Actions.


Inspiration and Prior Art

The primary inspiration for this project is Photopea, Ivan Kutskir's browser-based editor, which demonstrated that a desktop-class image editor with complete PSD fidelity is achievable in a web runtime. The author has also open-sourced many format libraries utilised by this project. An archive snapshot is available at ruanjiyang/Photopea-Offline.


Open Source Used Here

All third-party libraries live in src/vendor/ as pinned git submodules with their respective upstream licenses:

Contributors

eolix

1 commits

Languages

JavaScript

97.2%

CSS

1.5%

Rust

1.2%