Image Editor
You can open raster images (PNG, JPEG, HEIC, GIF, TIFF, and similar formats) in the built-in editor without leaving your workspace. Crop, rotate, mark up, adjust color, recognize text, or remove backgrounds. All edits stay non-destructive until you save.
Opening an image
- Click an image file in the Explorer.
- Wait while Loading image… is shown. The image then opens fitted to the window, never enlarged beyond its actual size.
- Choose a mode from the segmented control in the toolbar: Pan, Crop, Markup, or Adjust.
Pan is selected by default, so dragging never edits the image by accident. The status line below the toolbar shows a hint for the current mode, explains why an action is unavailable, and reports results.
If an image can’t be decoded, the editor shows Unable to render this image.
Viewing and navigation
| Action | How |
|---|---|
| Pan | Drag in Pan mode |
| Pan temporarily in any mode | Hold Space and drag |
| Zoom | Pinch, scroll, or use the Zoom Out / Zoom In buttons |
| Fit the whole image | Open the zoom percentage menu and choose Zoom to Fit |
| View actual pixels | Open the zoom percentage menu and choose Actual Size |
At Actual Size (100%), one image pixel maps to one screen pixel, including on Retina displays. CrispyVibe keeps your zoom and scroll position when the image refreshes.
Global text size (Cmd++ or Cmd+=, Cmd+-, Cmd+0) doesn’t affect image zoom.
Non-destructive editing
CrispyVibe keeps the original image and applies your edits on top of it as an ordered list. Nothing changes on disk until you choose Save.
- Undo / Redo — step through every committed edit: crop, rotation, flip, straighten, resize, markup, adjustments, and background removal. Use the toolbar buttons or
Cmd+Z/Cmd+Shift+Z. History keeps up to 200 steps. - Revert — discard all unsaved edits and return to the last opened or saved image. Revert is itself undoable.
- Copy — copy the edited image to the clipboard at full resolution.
Large images may display a reduced-resolution preview while you work. Save, Copy, Export As, and Smart Tools always render from the full-resolution original, so preview resolution never reduces your output.
Cropping
- Select Crop. A box covers the full image, with eight handles, a dimmed outside area, a rule-of-thirds grid, and the live size in pixels.
- Drag a handle to resize the box, drag inside it to move it, or drag outside it to draw a new box.
- Optionally choose a ratio from the Aspect Ratio menu: Freeform, Original, Square, 4:3, 3:2, or 16:9.
- Optionally click Swap Orientation to switch between landscape and portrait (available for Original, 4:3, 3:2, and 16:9).
- Press
Returnor click Apply Crop.
To start over, press Escape or click Cancel Crop to reset the box.
With the image focused, the arrow keys move the crop box by 1 pixel, and Shift+arrow keys move it by 10 pixels. A crop must be at least 2×2 pixels.
⚠️ Note: A crop box you’ve changed stays visible when you switch modes, and it blocks Save until you apply or cancel it. The untouched full-image box is only a starting guide. It doesn’t block Save and disappears when you leave Crop mode.
Rotating, flipping, straightening, and resizing
These controls appear in the Crop toolbar row. Each one is a separate undoable edit.
| Control | Effect |
|---|---|
| Rotate Left / Rotate Right | Turn the image 90° |
| Flip Horizontal / Flip Vertical | Mirror the image |
| Straighten | Drag the slider from −45° to +45°. The image previews with a grid; releasing the slider commits the change. |
| Resize… | Set a new size in pixels |
Straighten crops the result automatically to keep the original aspect ratio, so no transparent corners appear.
Resizing
- Click Resize….
- Enter a Width and Height in pixels. Leave Keep proportions on to update the other dimension automatically.
- Optionally click a preset: 25%, 50%, 75%, or 200%.
- Click Resize.
Each edge must be between 1 and 16,384 pixels. Entering the current size makes no change.
💡 Tip: Any rotate, flip, straighten, resize, or applied crop clears a crop box you haven’t applied yet.
Markup
Select Markup to annotate the image with editable objects.
| Tool | Use |
|---|---|
| Select | Click an item to edit, move, or resize it |
| Pen | Draw freehand strokes |
| Line / Arrow | Draw straight lines or arrows |
| Rectangle / Ellipse | Draw shapes, outlined or filled |
| Highlight | Draw a translucent highlighter over content |
| Text | Click to place text, then edit it in the toolbar |
| Blur / Pixelate | Obscure an area visually |
| Redact | Cover an area with an opaque block |
Adding markup
- Choose a tool.
- Set the style in the markup toolbar: Color, Fill, and Width. For text, also set the text, Font, and Size.
- Drag on the image to create the item.
Hold Shift while drawing to snap lines and arrows to 45° steps or to draw squares and circles.
Editing markup
Each item stays editable until a later crop, rotate, flip, straighten, resize, or background removal.
- Click an item to select it.
- Drag the item to move it.
- Drag one of its eight handles to resize it. Hold
Shiftto keep its proportions. - Drag the end handles of a line or arrow to reposition its ends.
- Change Color, Fill, Width, Font, or Size to update the selected item. The same values become the defaults for new items.
- Double-click a text item to edit its text.
- Click Delete or press
Deleteto remove the selected item.
Rapid changes to one item, such as typing or repeated nudges, combine into a single Undo step.
⚠️ Note: A crop, rotate, flip, straighten, resize, or background removal flattens earlier markup into the image. It still looks the same, but you cannot select or edit it. Undo the later edit to make the markup editable again, and finish markup edits before changing geometry.
Blur, Pixelate, and Redact
🚨 Warning: Blur and Pixelate aren’t secure for sensitive text. Obscured content can sometimes be reconstructed. Use Redact for passwords, keys, and personal data.
Redact replaces the covered pixels with an opaque block in the saved or exported file. Check the exported file before sharing it. The original image file is unchanged until you save over it.
Picking a color from the screen
- In Markup mode, click Pick Color from Screen (the eyedropper button).
- Click anywhere on screen to sample that color.
The sampled color becomes the stroke Color for the selected item and for new items.
Adjusting color
- Select Adjust.
- Drag any slider: Exposure, Contrast, Saturation, Vibrance, Temperature, Highlights, Shadows, or Sharpness.
- Release the slider. Each release records one undoable change.
The image previews changes live while you drag. Press and hold Compare to see the image without adjustments. Click Reset Adjustments to return every slider to its default; reset is undoable.
Adjustments apply to the whole image and stay in effect through later crops, rotations, and markup.
Smart Tools
The Smart Tools menu in the toolbar provides on-device image analysis. It uses Apple’s Vision framework on your Mac, and the image is never uploaded.
Recognizing text
- Open Smart Tools and choose Recognize Text.
- Wait for Recognizing text… to finish. Found lines are outlined on the image and listed in reading order in the Recognized Text sheet.
- Copy the text you need:
- Select lines and click Copy Selected.
- Click Copy All Text.
- Right-click a line and choose Copy.
- Click Done to close the sheet.
Text goes to the clipboard only when you choose a copy action. To reopen the results later, choose Smart Tools > Show Recognized Text…. Editing or reloading the image clears the results.
Removing the background
- Open Smart Tools and choose Remove Background.
- Wait for Removing background… to finish.
CrispyVibe keeps the detected subjects and makes everything else transparent. The result is one undoable edit, and it flattens earlier markup. If no subject is found, the status line says so and the image is unchanged.
⚠️ Note: JPEG, BMP, and GIF can’t store this transparency, so Save is disabled after background removal for those files. Use Export As… and choose PNG, HEIC, or TIFF.
Saving and exporting
Saving over the original
Click Save or press Cmd+S. CrispyVibe renders your edits at full resolution and replaces the file on disk. Editing is locked until the save finishes and the saved file reloads, so what you see matches what was written.
If saving fails, your edits stay in the editor and the status line explains why. Fix the problem and save again.
Save is disabled, with a reason in the status line, when:
- A changed crop box hasn’t been applied or cancelled
- The image has multiple frames or pages, such as an animated GIF or multi-page TIFF
- The image uses more than 8 bits per channel, such as a 16-bit TIFF or PNG
- The image is HDR with a gain map, which saving would lose
- Background removal added transparency to a JPEG, BMP, or GIF
- The file changed on disk and the conflict isn’t resolved yet
In each of these cases, Copy and Export As… still work. To flatten a multi-frame, high-bit-depth, or HDR image, export a copy with Export As….
Exporting a copy
- Click Export As….
- Choose a Format: PNG, JPEG, HEIC, or TIFF.
- For JPEG or HEIC, set the Quality.
- Click Choose Location….
- Pick a name and folder in the save panel.
Export As writes a separate, flattened file at full resolution. The open image, its edits, and its undo history stay as they are. JPEG doesn’t support transparency, so transparent areas become solid.
💡 Tip: Export As refuses to overwrite the open image, including through a symbolic link or hard link. Use Save to replace the original.
Orientation and metadata
Photos with an EXIF orientation tag (common for camera and phone images) display upright. CrispyVibe writes saved and exported images with upright pixels and a standard orientation for consistent display across apps.
Saved and exported files are a single 8-bit RGB image. EXIF, IPTC, and GPS metadata isn’t preserved, and color profiles aren’t kept beyond the working color space.
When the file changes on disk
If another app or tool changes the image while you have no unsaved edits, CrispyVibe reloads it automatically and keeps your zoom and position.
If you have unsaved edits or a changed crop box, CrispyVibe keeps your work and shows a banner:
- Reload from Disk — discard your edits and load the new version.
- Keep My Edits — keep working. Your next save overwrites the version on disk.
CrispyVibe checks the file again before writing, so a change made while saving is caught instead of overwritten.
Remote images
Images in SSH remote projects open in the same editor, with every tool available. The file on the remote host stays the source of truth. Save writes your edits back to the remote host.
CrispyVibe watches the remote file for changes. A clean image refreshes automatically, and unsaved edits trigger the same Reload from Disk / Keep My Edits banner. Before uploading, Save confirms that the remote file hasn’t changed since you opened it. If it has, Save stops with an error and keeps your edits.
⚠️ Note: Remote change detection uses the file’s size and modification time, which SFTP reports to the nearest second. A same-size change made within one second of your save can go undetected.
SVG files
SVG files open in a separate read-only vector preview, not the image editor. Scripts in SVG files don’t run. The SVG preview follows the global text size (Cmd+=, Cmd+-, Cmd+0) without reloading.
Accessibility
The image editor works with VoiceOver and the keyboard:
- Status changes, such as Crop applied. or Image saved., are announced.
- Markup tool buttons report which tool is selected.
- The image reports its size and how many markup items it contains.
- In Markup mode, each item is a button. Press it to select the item, then use the Delete, Move Left, Move Right, Move Up, or Move Down actions.
- In Crop mode, use the Shrink Crop, Expand Crop, Move Left, Move Right, Move Up, Move Down, Apply Crop, and Cancel Crop actions to crop without a pointer.
- Adjustment sliders announce their current values, and Compare can be toggled from VoiceOver.
Keyboard shortcuts
Canvas shortcuts work when the image has focus. CrispyVibe focuses the image when it opens and when you change modes, unless you’re typing in a text field.
| Action | Shortcut |
|---|---|
| Save | Cmd+S |
| Undo | Cmd+Z |
| Redo | Cmd+Shift+Z |
| Pan temporarily in any mode | Hold Space and drag |
| Apply crop | Return |
| Reset crop box | Escape |
| Move crop box by 1 / 10 pixels | Arrow keys / Shift+arrow keys |
| Constrain lines, arrows, and shapes while drawing | Hold Shift |
| Keep proportions while resizing an item | Hold Shift while dragging a handle |
| Select next / previous markup item | Tab / Shift+Tab |
| Move selected markup by 1 / 10 pixels | Arrow keys / Shift+arrow keys |
| Delete selected markup | Delete or Forward Delete |
| Deselect markup | Escape |
Space and arrow keys combined with Cmd, Option, or Control pass through to app and system shortcuts.
Troubleshooting
| Issue | Solution |
|---|---|
| Loading image… stays visible | The image is large and still decoding. Wait, or open another file. The older load is cancelled safely. |
| Unable to render this image. | The file may be corrupt or in an unsupported format. Try opening it in Preview. |
| Save is disabled | Read the status line. Apply or cancel a changed crop, resolve a file-change banner, or use Copy or Export As… if the format can’t be saved over safely. |
| Markup can’t be selected | A later crop, rotation, flip, straighten, resize, or background removal flattened it. Undo that edit to edit the markup again. |
| The image changed during analysis. Try again. | The image was edited or reloaded while Smart Tools were running. Run the tool again. |
| Save fails with a remote-change error | The image changed on the remote host. Choose Reload from Disk or Keep My Edits, then save again. |
| Export As says to choose a different file | You picked the open image as the destination. Choose a new name, or use Save. |
Known limitations
- Images load in one step; there’s no low-resolution placeholder while a large image decodes.
- A crop, rotate, flip, straighten, resize, or background removal flattens earlier markup.
- Saved and exported files are a single upright 8-bit RGB image without EXIF, IPTC, or GPS metadata. There’s no layered format such as PSD.
- Multi-frame, high-bit-depth, and HDR gain-map images can’t be saved over; use Export As… to create a flattened copy.
- Very large images can use substantial memory during Save, Copy, Export As, and Smart Tools, which all work at full resolution.
- Remote change detection can miss a same-size change made within one second.