Skip to content
brenopolanskiPublic

Latest commit

 

History

166 Commits

Folders and files

Repository files navigation

Pixen logo

Pixen - The Fast, Simple Screenshot Editor

Capture, edit, and refine screenshots on your Mac.

Website  •  How it Works  •  Contact & Support  •  Privacy Policy  •  Terms of Use

Download on the App Store

Pixen promo

Introduction

Pixen is a lightweight screenshot editor for macOS.

Capture your screen, make quick edits, annotate important details, hide private information, and export the result — all from one simple app.

Tip

Press ⌘⇧9 from any app to capture a region straight into the editor. You don't need to switch to Pixen first.

Pixen Banner

❤️ Found this project useful?

If you found this project useful, then please consider giving it a ⭐ on GitHub and sharing it with your friends via social media. It helps to promote the project and attract more contributors.

Get Pixen

  • Signed app: Buy Pixen on the Mac App Store.
  • Build it yourself: Clone this repository and follow the instructions below.

The paid App Store build saves you the work of compiling, signing, packaging, and keeping the app updated. The application source is available under AGPL-3.0-or-later.

Features

Capture Screenshots

Capture any region of your screen directly into Pixen, from the toolbar, the menu bar, or ⌘⇧9.

Capture screenshots with Pixen

Edit Screenshots

Edit your screenshots with a familiar image editor powered by Unlayer Image Editor.

Crop, resize, apply filters, draw, add text, shapes, stickers, and frames.

Edit screenshots with Pixen

Annotate with Arrows

Point out exactly what matters. Draw arrows anywhere on the screenshot and add as many as you need.

Add arrows to screenshots

Add Numbered Steps

Create step-by-step guides directly on your screenshots.

Click each location, and Pixen automatically numbers the markers.

Add numbered steps to screenshots

Hide Private Information

Protect sensitive information before sharing a screenshot.

Pixelate addresses, tokens, faces, and other private data by simply dragging a box over it.

Pixelate private information

Remove Backgrounds

Remove the background with a local segmentation model.

The result is previewed before it is applied, and the image never leaves your Mac.

Remove image backgrounds

Menu Bar

Closing the window leaves Pixen in the menu bar. The Dock icon comes back when the window does.

Left-click the icon to capture. The window opens after a screenshot if it was closed. Right-click for Open Pixen, start at login, About, or quit. Quit is what removes the icon. Starting at login puts the menu bar up without opening the window.

Recent Images

Reopen the last ten images from File → Open Recent.

Tabs

Work with multiple images at the same time.

A clean tab can be replaced when opening an image, while a modified tab stays open and a new tab is created.

Light and Dark Mode

Choose between light and dark mode from Settings.

Pixen's interface and image editor follow your preference, which is remembered between launches.

Export Anywhere

Save your work as PNG, JPEG, or WebP.

Use ⌘S to save and ⌘⇧S to save a new copy. Pixen remembers the destination after the first save.

Clipboard

Copy your edited screenshot directly to the system clipboard with ⌘⇧C.

Tech Stack

Supported Platforms

Platform Status
macOS 13.0+ on Apple Silicon

Requirements

  • macOS 13.0+ on Apple Silicon
  • pnpm 10
  • Node.js 20+
  • Rust 1.77.2+ (rustup)
  • Xcode Command Line Tools (xcode-select --install)

Development

pnpm install
pnpm assets:bg-removal
source "$HOME/.cargo/env"
pnpm tauri:dev

assets:bg-removal downloads the segmentation model into public/bg-removal/ (76 MB, gitignored).

It is needed once per checkout and only for the background removal tool. Everything else works without it. tauri:build runs it automatically.

Rust must be on your PATH. If cargo is missing in an already-open terminal, run:

source "$HOME/.cargo/env"

pnpm dev starts the Vite UI only. Tauri APIs are unavailable in that mode, so use pnpm tauri:dev for the full application.

Pixen loads the editor engine from cdn.unlayer.com, so the first launch requires an internet connection.

Scripts

Script Description
tauri:dev Run the desktop app
tauri:build Build the macOS .app and .dmg
dev Vite UI only (no native shell)
build Type-check and build the frontend
assets:bg-removal Download the background removal model to public
test Run Vitest
typecheck tsc --noEmit
lint ESLint
format Prettier
icons Regenerate app icons from the SVG
clean Remove dist, node_modules, Rust target, …
check:fix Format, lint, type-check, and test

Build

pnpm tauri:build

Builds are generated in:

src-tauri/target/release/bundle/

The output includes a macOS .app and .dmg.

Opening it the first time

A copy you build from this repository isn't signed with an Apple Developer ID or notarized by Apple. The Mac App Store build is. The first time you open a local build, macOS says it "could not verify Pixen is free of malware". Click Done, then allow it in one of two ways.

In System Settings, open Privacy & Security and scroll down to the message about Pixen. Click Open Anyway, confirm, and open the app again. The button shows up for about an hour after you try to open the app.

In Terminal, remove the quarantine flag macOS adds to downloaded files, then open the app:

xattr -dr com.apple.quarantine "/Applications/Pixen.app"

The same command fixes a message saying Pixen is damaged. You don't need to turn off Gatekeeper for either option.

On a work laptop you might not be able to install apps in /Applications. You can keep Pixen in the Applications folder inside your home folder, and run the command on ~/Applications/Pixen.app. If your company blocks apps that aren't notarized, ask your IT team.

How it Works

Pixen combines a lightweight Tauri desktop shell with a web-based image editor.

The native layer handles things such as:

  • Window management
  • Native file dialogs
  • Filesystem access
  • Image encoding
  • Clipboard integration
  • Screen capture
  • Global keyboard shortcuts
  • Menu bar integration

The editor handles image manipulation and rendering.

For more details, see How It Works.

Keyboard Shortcuts

Shortcut Action
⌘S Save
⌘⇧S Save As
⌘O Open an image
⌘V Open the image on the clipboard
⌘⇧C Copy the image to the clipboard
⌘⇧A Arrow
⌘⇧P Pixelize
⌘⇧N Numbered steps
⌘⇧B Remove background
⌘⇧9 Take a screenshot from any app
⌘, Open Settings
⌘? Open keyboard shortcuts
⌘Q Quit, guarding unsaved work
⌘W Close the About window
Escape Close the About window

⌘⇧9 is registered system-wide in src-tauri/src/shortcut.rs, allowing it to capture the screen while another app is in front.

During tauri dev, macOS may ask for Accessibility permission so the terminal can register the global shortcut.

The screenshot shortcut can be changed from Settings → Capture Screenshot.

Pixen prevents conflicts with shortcuts it already uses, including Save, Copy Image, tool shortcuts, and Quit. Custom shortcuts must include ⌘.

Menu Bar

Closing the window hides it and leaves the menu bar and the global shortcut running. The Dock icon goes away until the window is shown again. Quit Pixen is what exits and removes the icon. A login launch starts the menu bar without opening the window.

Left-click the menu bar icon to capture a screenshot. If the window was hidden, it opens only after the screenshot succeeds. Right-click it to access the available actions.

Item Action
Open Pixen Show the editor without capturing
Take Screenshot Capture into a tab (⌘⇧9)
Start at Login Toggle launch at login
About Pixen Open the About window
Quit Pixen Quit while guarding unsaved work

Captures from the menu bar use the same editing session as captures from the main window. Opening Pixen from Finder while the menu bar is already running shows the window. Opening it after a full quit is a normal launch.

License

Pixen is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.

Pixen includes third-party components and dependencies that retain their respective licenses.

In particular:

Third-party components remain subject to their original license terms.

Releases

Sponsor this project

Packages

Contributors

Languages