Skip to content
SethRobinsonPublic

About

Open-source image editor focused on PSD compatibility and workflows familiar to Adobe Photoshop users.

Topics

Resources

Stars

602 stars

Watchers

5 watching

Forks

Repository files navigation

Patchy logo

Patchy Image Editor

A free, open-source image editor for Windows, macOS, Linux, and the browser. Built with a focus on accurate PSD compatibility, keeping text, vectors, masks, layer styles, and Smart Objects editable when working with layered Photoshop files. Work in limited palettes without flattening your layers, import editable Affinity and PDF artwork, and extend the editor with classic plug-ins and JavaScript.

Download · Try in your browser · Features · Full gallery

For bug reports and feature requests, please open an issue or post in Discussions. These are the best places to post because search engines can index them, helping others find the questions and answers. Want to chat? Join Seth's Discord.

Cyclist photo with color-wheel and Levels controls, an editable Levels adjustment layer, a Smart Filter stack and shared mask, grouped text, and a clipping mask

Designed to feel familiar if you're used to Photoshop's workflows and keyboard shortcuts.

Download

Latest release: 1.13 · October 17, 2026 · Release notes · All releases

Windows releases are code signed by Seth A. Robinson; the macOS app is signed and notarized (Robinson Technologies Corporation); the Linux Flatpak repository is GPG signed. Every release is published on the GitHub Releases page with SHA-256 checksums.

Platform Package Download
Windows 10/11 (64-bit) Installer PatchyWindowsInstaller.exe (100 MB)
Windows 10/11 (64-bit) ZIP file (no installer) PatchyWindowsNoInstaller.zip (100 MB)
macOS 12+ (Apple Silicon) DMG - drag to Applications PatchyMacOS.dmg (111 MB)
Linux (x86_64) Flatpak, from our repository The command below, or com.rtsoft.patchy.flatpakref
Linux (x86_64) Flatpak bundle (single file) PatchyLinux.flatpak (68 MB)
Linux (x86_64) AppImage (Ubuntu 22.04+) PatchyLinux.AppImage (119 MB, details)
Any modern browser Nothing to install patchyimageeditor.com or rtsoft.com/patchy

Linux

Paste this into a terminal. It installs Patchy for your user from the Patchy Flatpak repository and pulls the shared KDE runtime from Flathub. No root needed.

flatpak install --user -y https://rtsoft.com/flatpak/com.rtsoft.patchy.flatpakref

Patchy then updates with flatpak update or through your software center, and starts from your application menu or with flatpak run com.rtsoft.patchy.

This needs the flatpak tool. If needed, install it first with sudo apt install flatpak.

The .flatpakref link in the table downloads a small file that a Flatpak-aware software center (GNOME Software, KDE Discover) can open to install Patchy. Ubuntu has none by default, and on Ubuntu 24.04 GNOME Software's Open button fails to start Flatpak apps, so use the terminal command above instead.

The single-file bundle is the same build, for when you would rather download a file first. Install it with flatpak install --user -y PatchyLinux.flatpak. It still fetches the KDE runtime from Flathub, and it updates from the same repository afterwards.

My flatpak knowledge is limited, so I hope all this makes sense. I hope to submit Patchy to Flathub eventually, but for now we have our own repository.

AppImage

PatchyLinux.AppImage is one file that runs without installing anything, on Ubuntu 22.04 or newer (or another distro from 2022 on: Debian 12, Fedora 36, Mint 21 and so on). It updates itself, so keep it somewhere you can write to, such as ~/Applications:

mkdir -p ~/Applications && cd ~/Applications
wget -O PatchyLinux.AppImage https://github.com/SethRobinson/Patchy/releases/latest/download/PatchyLinux.AppImage
chmod +x PatchyLinux.AppImage
./PatchyLinux.AppImage

(curl -LO works instead of wget -O PatchyLinux.AppImage.) You can also make it executable from your file manager (Properties > Permissions, "Allow executing file as program") and double-click it.

The AppImage does not need libfuse2, but it does need FUSE 3, which most desktops already have. If it says it cannot mount itself, install it:

Distro Command
Ubuntu, Mint, Debian, Pop!_OS sudo apt install fuse3
Fedora sudo dnf install fuse3
openSUSE sudo zypper install fuse3
Arch, Manjaro sudo pacman -S fuse3

Without FUSE (some containers and minimal systems), run it with ./PatchyLinux.AppImage --appimage-extract-and-run.

To add Patchy to your application menu, open the AppImage with Gear Lever.

When a new version is out, Patchy's update prompt can download it, replace the AppImage file and start again (if the file sits in a folder you can write to; otherwise it offers the download). AppImage tools such as Gear Lever or AppImageUpdate can also update it. For AI control, the connector command is the AppImage file with the argument patchy-mcp (Help > Set up AI Control shows the exact line). The AppImage opens HEIC images through your distribution's libheif (Ubuntu and Debian: the libheif1 package, plus libheif-plugin-libde265 on Ubuntu 24.04 and later); the Flatpak brings its own.

Screenshots

See it in action. Click an image for the full-size capture.

Layer Style and gradient color controls over layered artwork.
Build up layer effects
Layer styles with multiple effects, blending controls, and Photoshop-compatible presets.
Kai's Power Tools 5 running in its own window over Patchy. Classic 32-bit and 64-bit 8BF filters work on Windows.
Bring your old plug-ins
Kai's Power Tools 5 running in its own window over Patchy. Classic 32-bit and 64-bit 8BF filters work on Windows.
Object Selection tool with a vintage car selected in a busy Havana street from one loose box drag, the rest of the photo muted.
Select the object, not the box
Drag a loose box around anything and Object Selection picks out just the object. Runs on your CPU.
Editable paths, gradient and pattern paint, dashed strokes, rounded corners, and a Paths panel.
Edit the paths
Editable paths, gradient and pattern paint, dashed strokes, rounded corners, and a Paths panel.
Editable warped text, a paragraph with inline bold, italic, color and mixed fonts, tracked lettering, and vertical Japanese columns.
Give type its own voice
Warped text, mixed fonts and styles in one paragraph, letter spacing, and vertical Japanese.
Tilt-Shift Blur with on-image controls and live preview in the Filter Gallery.
Shape the focus
Comes with many filters and a filter gallery, like Tilt-Shift Blur with live previews.
The G'MIC Filter Library with Rodilius selected among the Artistic filters, its settings beside the list, and a live preview on the right half of a Havana street photo, with the original on the left.
Nearly 400 G'MIC filters
Browse the G'MIC library, adjust the settings, and watch the result render live on your canvas. Here Rodilius runs inside a selection, with the original photo on the left.

See the full gallery for painting, palette mode, seamless textures, Camera Raw, long shadows, scripting, and more.

Features

Workflow What you get
Layered Photoshop files PSD and PSB, editable text, groups, masks, clipping, blend modes, and layer styles.
Pixel art and game assets Paint in a fixed palette while keeping layers, text, and effects editable. Use retro or custom palettes, named colors, and indexed PNG/BMP export, alongside seamless tiling, sprite sheets, image sequences, DDS textures, and animated GIF/WebP.
Affinity documents Import .af, .afphoto, .afdesign, and .afpub files with editable text, vectors, masks, supported adjustments, and layer effects, then continue editing or save as PSD. Support and limitations.
PDF documents Import pages as editable text, vectors, and images on desktop; export single or multi-page PDFs with editable or flattened content.
Non-destructive editing Adjustment layers, embedded and linked Smart Objects, editable Smart Filters, and shared filter masks.
Paint and retouch Pressure-aware brushes, Mixer Brush, stroke smoothing, healing, cloning, Patch, Remove Object, Liquify, and selections, including Object Selection that picks out an object from a dragged box.
Text and vectors Rich and vertical text, paragraph controls, Warp Text, Pen paths, shape layers, vector masks, SVG, and image tracing.
Photos and print 16-bit and 32-bit (HDR) editing, Camera Raw development, HEIC/HEIF, AVIF and JPEG XL, CMYK proofing and CMYK JPEG, TIFF, and PDF export for print, and common image formats.
Extend your workflow The G'MIC filter library (nearly 400 filters with live preview, desktop), Last Filter to repeat any filter, classic 32-bit and 64-bit Photoshop filter plug-ins on Windows, a built-in JavaScript editor, batch processing, command-line tools, and local MCP control.

Patchy's C++ foundation makes these integrations more straightforward: we can build on established C and C++ libraries such as G'MIC and implement classic Photoshop plug-in interfaces directly.

Full feature list and format support · Scripting guide · AI control setup

Local by design. No telemetry, tracking, or uploads of your images. The browser build runs the same editor locally through WebAssembly. Desktop builds have more memory available and add printing, scanner/camera import, and command-line automation. Optional update checks contact GitHub, as do the one-click updates (Windows and the Linux AppImage) and Object Selection's High Quality model, each downloaded only if you ask for it. Twelve interface languages, dark and light schemes, and importable themes are included.

PSD compatibility, measured

In the October 12, 2026 Testy v2 run, Patchy opened all 309 files of the psd-tools test collection, and Photoshop reopened every Patchy save with all 43 text objects, 183 adjustment layers, 172 Smart Objects, and 181 live effects kept. Patchy's perceptual render match was 97.2%, the highest of the eight programs tested against Photoshop's reference, using Patchy 1.10 (commit d00225bb).

Testy v2 scores each program on what it draws itself: the baked pixels Photoshop stores for text, shapes, fills, and Smart Objects are removed first. That is stricter than the August run, so the two sets of numbers are not comparable.

These are dated, corpus-specific results. The linked report has every file's renders and difference maps for all nine columns. Read the full comparison and methodology for the tables, per-folder results, scoring rules, and limitations.

Know the limits: editing is RGB at 8, 16, or 32 bits per channel (the browser build stops at 16). CMYK work is proofing and export: CMYK Proof mode shows the print colors and saves CMYK JPEG, TIFF, and PDF, but pixels stay RGB. Lab and the other color modes convert to RGB on open, and there is no GPU acceleration. Unsupported Smart Filters can remain preview-locked, and Affinity import has format-specific limitations. See current compatibility.

What's New

1.13 - October 17, 2026

  • File formats: AVIF opens and saves on every platform with no system codec, animated AVIF and animated PNG open with each frame as a layer (issue 120, issue 119); JPEG 2000, Radiance HDR and OpenEXR open and save, and JPEG-compressed TIFFs open (issue 117, issue 118); when a file cannot be opened the message now says why and names the file (issue 112)
  • Memory: a paint stroke keeps only the pixels it changed in the undo history instead of a copy of the whole layer, tens of kilobytes instead of megabytes per stroke (issue 109)
  • Image > Rotate 180, Flip Horizontal and Flip Vertical, and Layer > Arrange > Rotate Layer Right, Left and 180 (issue 139)
  • Selection: marquee drags and handles stop at the image edge (issue 143), the size readout is a pill beside the pointer (issue 142), and copying a whole layer puts its pixels on the clipboard (issue 116)
  • Color picker: a 48-color Basic palette (issue 141), Add Custom Color (issue 140), Sat and Val as percentages (issue 149), and the Eyedropper's Alt+click sets the background color (issue 150)
  • Tool palette: the overflow arrow points where the extra column opens and never covers a tool, the expansion reserves only the columns it uses, and nothing shifts when it opens (issue 122, issue 126, issue 124, issue 121); a new Magnetic Lasso icon (issue 130) and icon accents that read on the Light scheme (issue 129)
  • Shape and pen tools: the stroke preview matches the committed stroke (issue 125), and anchors and handles read at any zoom (issue 105)
  • Interface: Ctrl+K opens Preferences (issue 144), options-bar labels lose their colons (issue 127), layer row badges sit centered (issue 134), the recent-files filter matches names and extensions (issue 158), plus the swap-colors glyph, Preferences dropdowns and the dock tab line (issue 115, issue 146, issue 123)
  • Linux: the window uses Patchy's own frameless chrome like Windows, with a "system title bar" preference (issue 145); HEIC opens through the distribution's libheif, AppImage included (issue 117); on Wayland a maximized window restores correctly (issue 132) and Pick Screen Color works through the desktop portal (issue 128); the AppImage keeps the chosen color scheme (issue 133)

1.12 - October 16, 2026

  • Tool palette: a compact Photoshop-style color well that sits with Quick Mask in a footer pinned to the bottom of the palette. The footer stays put when a short screen expands the palette to a second column, and the overflow chevron is no longer clipped
  • Shape and text tools: a drag can now start outside the canvas, on the pasteboard, as marquee drags already could
  • Options bar: the bar keeps one row until the current tool's controls really need two, instead of reserving the tallest row of every tool (issue 91)
  • Pen tool: moving several anchors with the Direct Selection tool no longer leaves a trail of old handles, a layer mask stays targeted through undo, and the selection right-click menu is offered beside the marching ants (issue 105)
  • SVG import: a stroke more opaque than its fill becomes its own shape layer instead of vanishing (issue 111)
  • Open dialog: reopens on the format row picked last time (issue 114), lists HEIF only where a decoder exists, such as not in the AppImage (issue 113), and the open-failed message names the file (issue 112)
  • Interface: the Scripting Guide has the dialog chrome and a Close button and the About box has an X (issue 107), the Feather label has the same gap to its field as every other options-bar label (issue 106), and File Info never wraps the Created, Modified, Application and Format values (issue 103)
  • Linux: short screens keep the bottom panels on-screen, since the right column's panel floors now fit the screen height (issue 108, issue 110), and on Wayland menus and combo lists open in place at a non-100% interface scale (issue 100)
  • Browser version: the Filter menu shows the G'MIC Filter Library row and explains that its nearly 400 filters need the desktop version

Older releases

Photoshop plug-ins (.8bf, Windows only)

Choose Plugins > Open Plug-ins Folder, copy your .8bf files and their supporting files into it, then choose Plugins > Rescan Plug-in Folders. Both 32-bit and 64-bit filters appear under Plugins > Legacy Photoshop Plug-ins.

Filters run on the active pixel layer, respect the selection, and apply as one undoable step. A separate helper isolates plug-in crashes. Plug-ins still run with your user permissions, so install only ones you trust. KPT and other formerly full-screen filters get a bounded, movable window. Plug-in details.

Building it yourself

See build instructions for the core, Qt desktop app, macOS, Linux, and Windows packaging. Contributors and automation tools should read AGENTS.md first.

License

Patchy is released under the MIT License. Third-party runtime notices are tracked in NOTICE-THIRD-PARTY.md.

Trademark Notice

Adobe, Illustrator, and Photoshop are either registered trademarks or trademarks of Adobe in the United States and/or other countries. Patchy is an independent project and is not authorized, endorsed, or sponsored by Adobe. References to Photoshop, its file formats (PSD, Smart Objects, Smart Filters) and its plug-in format (8BF) are only there to describe compatibility.

Affinity is a trademark of Canva and its subsidiary Serif (Europe) Ltd. Patchy is not affiliated with, authorized, endorsed, or sponsored by Canva or Serif; Affinity is named only to describe which files Patchy can import.

All other product and company names, including Aseprite, Kai's Power Tools, Windows, macOS, and Linux, are trademarks of their respective owners. They are used only to identify file formats, plug-ins, and platforms Patchy works with, and no endorsement is implied.

AI Disclosure

This project was developed with significant assistance from AI tools. I mean, you can still blame me (Seth) for bugs, but I just wanted to mention it.

Note: All included textures/materials are real images taken by humans, not AI generated

Missing features / contributions?

AI has reached the point where you can use your favorite AI agent to add the missing feature you want.

Just give it the link to this repo and tell it "read AGENTS.md and add feature X to this project". It will read the code, read the tests, and add the feature.

I mean, that's kind the power of open source, amplified.

Whatever AI you use (the smarter the better), tell it (or more likely, it's reading this right now) to read AGENTS.md before doing anything else. It contains the build and repository-wide rules, then routes feature work to the relevant document under docs/.

There are 2800+ regression and benchmarking tests. AGENTS.md links agents to the testing guide that explains how to select and run them. Due to the size of some of the test files I use they aren't all included, it will skip tests that require missing files.

I probably don't want any major features coming from outside, as there are wrong and right ways to do things, some of it a bit subjective. Remember, you can always go crazy in your own fork, have some fun!

If you have a bug fix or feature you think fits this project's scope please open an issue or tweet/etc at me. If you want to submit a pull request, please look at the actual code and fully TEST IT YOURSELF before submitting, and if possible include screenshots of the actual changes so it's clear what you're doing. If you're using AI, use a good one (Fable/Astra+ class), we don't want barely working slop.

Don't trust AI to create and submit PRs with no oversight, I'll delete ones that have too much AI smell. Smell human. This is starting to sound weird but you know what I mean.

Independent development and compatibility

Patchy is an independently developed image editor. Our goal is to build something powerful, fast, free of unnecessary bloat, and ultimately a tool that fits what I'm doing, especially for game-dev use cases. Recreating Photoshop feature for feature is not the goal.

Our PSD compatibility work uses publicly available format documentation and observations of files and rendered output produced by a licensed copy of Photoshop. We have not decompiled or disassembled Photoshop. Patchy also implements the legacy 8BF plug-in interface for interoperability, using its own declarations without copying Adobe SDK code. This compatibility work helps people keep their documents editable and use existing plug-ins across applications.

We also take patents seriously. Some features are deliberately limited or omitted because of patent concerns. For example, Quick Select calculates the selection when you finish a stroke instead of updating it continuously as you paint. Our development constraints document these boundaries, which we revisit as relevant patents expire or our research changes.

Credits

Created by Seth A. Robinson - Homepage | Blog | Twitter | Bluesky | Mastodon

Incredible people who donated suggestions, bug reports, and code: mcapogna, csbun, ifloppy, lucastucious, c-sanchez, egofree71, PorkingMane, alexanderadam, danielmigueltejedor, ProShi, Kevdoy, popkc3, WinterTreat, jackpini, fivetenth, revae, RDR77, Oppa-YA, YuFu-Onship, malnaanah, CHJ85, DavidLee1115, philipzae, and Uthopik

Photo "akiko_cycling_okinawa" (seen in the screenshots) by Seth A. Robinson

About

Open-source image editor focused on PSD compatibility and workflows familiar to Adobe Photoshop users.

Topics

Resources

Stars

602 stars

Watchers

5 watching

Forks

Releases

Contributors

Languages