Input basics and modifiers
- Left click uses Color 1; right click uses Color 2 for drawing, fills, shapes, and picking.
- Middle mouse drag pans the viewport when anchored; in free mode it drags the canvas itself.
- Ctrl + mouse wheel zooms the view; with the Zoom tool active, zoom always follows the cursor.
- Mouse wheel without Ctrl scrolls the viewport.
Canvas, zoom, and anchoring
- Anchor locks the canvas to the viewport; free mode lets the canvas float and be dragged.
- Center recenters the view without changing pixels.
- Zoom tool: left click zooms in, right click zooms out.
- Resize handles on the right, bottom, and corner are always visible; left/top handles appear in free mode.
- Dragging a resize handle previews the new size; releasing commits the resize and shifts pixels if needed.
- When anchored and the Zoom tool is not active, Ctrl + wheel keeps the top-left corner steady.
- Rotate canvas: Rotate Right 90, Rotate Left 90, Rotate 180, Flip Horizontal, Flip Vertical.
- Selection rotate: drag the rotate handle on the selection bounding box; right-click handle pivots about center in anchor mode.
- WebGL accelerated rotation is used when available for smooth antialiased results.
Selections and modifiers
- Drag with Select to create a marquee; Shift constrains it to a square.
- Drag inside a selection to move; Ctrl-click inside stamps a copy before moving.
- Shift while moving a selection stamps repeatedly as you drag.
- Selection handles resize from the opposite anchor corner.
- Shift adds, Ctrl subtracts, Alt intersects for Lasso and Wand selections.
- Cancel Selection restores the selection to its original position.
Lasso select
- Click to start a polygon; click again to add points.
- Free-form: click-drag to draw; release to finish.
- Polyline: click to add points; Enter or double-click to finish.
- Lasso inherits selection modifiers: Shift add, Ctrl subtract, Alt intersect.
Magic Wand
- Click to start; drag away from the start point to increase tolerance (distance controls it).
- Release to finalize the selection using the current tolerance.
- The tolerance slider steps in 0.5 increments.
- Contiguous selects only connected pixels; Global selects matching pixels everywhere.
- Wand also supports Shift add, Ctrl subtract, Alt intersect.
Pencil, eraser, fill, and picker
- Pencil draws pixel-perfect strokes; Ctrl locks to the dominant horizontal or vertical axis.
- Eraser uses its size; right click runs color-replace along the stroke.
- Fill floods a connected region with the active color.
- Picker samples a pixel into Color 1 (or Color 2 with right click) and returns to the last draw tool.
Lines, shapes, polyline, curve
- Rectangle/Circle/Triangle: drag to size; Ctrl draws from center with equal width/height.
- Line: Ctrl snaps to vertical/horizontal/diagonal; Shift snaps to 45-degree angles.
- Polyline: click to add points; Ctrl closes to the first point; Enter or double-click commits.
- Curve: click start, click end (Ctrl constrains), click control 1, click control 2 to commit.
- Shape previews live on the temp layer until committed.
Freehand Brush
- Variable-width pressure-sensitive brush using the Perfect Freehand library.
- Left sidebar with controls for Size, Smoothing, Streamline, Thinning, and Easing.
- Taper start/end with independent easing curves and cap toggles.
- Simulate Pressure checkbox for mouse users.
- Fill mode: toggle fill on/off, set stroke width and stroke color (Color 2).
- Pixel Mode: commits with binary thresholding for crisp pixel-art results; disable for smooth antialiased strokes.
- Live preview on the temp layer updates at 60fps; commits to the active layer on release.
- Switch tools mid-stroke cancels and discards the stroke. Undo cancels mid-stroke safely.
Freehand Path Tool
- Smooth freeform paths using centripetal Catmull-Rom spline fitting with corner detection.
- RDP simplification (1.5px tolerance) removes redundant points while preserving shape.
- Corner detection preserves sharp turns (default threshold 72 degrees).
- Uniform width (single Path2D fill) or variable width (pressure-driven filled polygon with rounded end caps).
- Max 4000 raw input point buffer. Tunables: minWidth, tension, cornerAngle, usePressure.
Gradient Tool
- 14 gradient types: Linear, Bilinear, Radial, Square, Conic, Spiral, Staggered (Bands), Star, Pattern (Dots), Dots HX, Diamond, Cross, Checkerboard, Stripes.
- Interactive SVG handles for endpoint and midpoint placement.
- Options: Repeat (None/Repeat/Mirror), Dither (Floyd-Steinberg), Reverse, Bands (2–256 levels for Staggered), Midpoint (1–99%).
- 4-tier rendering: CPU allocation-free, cached bitmap, or WebGL fragment-shader acceleration.
- 8x8 Bayer ordered-dither matrix and LUT-based color interpolation.
- Rendered on temp canvas; Apply to commit, Escape to discard.
Selections menu actions
- Select All, Invert Selection, and Delete are available in the Select menu.
- Crop applies the active selection as the new canvas bounds.
- Transparent Selection toggles keyed transparency in selection previews and pasted content.
Layers
- The Layers sidebar (right edge) provides a full layer stack: add, delete, reorder, rename, toggle visibility, lock.
- Each layer has its own canvas; drawing only affects the active layer (highlighted in the list).
- Opacity slider and blend mode select (Normal, Multiply, Screen, Overlay, etc.) per layer.
- Drag layers to reorder; the top layer in the list renders on top.
- Merge Down combines the active layer into the one below it.
- Thumbnails show a live preview of each layer's content.
- When layers are active, Save uses ORA (OpenRaster) format to preserve all layers, groups, blend modes, and opacity.
Group Layers
- Select multiple layers and click Group to nest them under a group header.
- Groups can be nested to arbitrary depth. Click the collapse arrow to expand/collapse a group.
- Drag layers into and out of groups. Drag a group onto another group to nest them.
- Hiding a group (eye toggle) cascades visibility to all children.
- Deleting a group un-parents its children (they become top-level layers).
- Groups are rendered as a flat array with parentId references — no tree structure overhead.
Hue/Sat and adjustment dialogs
- Hue/Sat operates per channel (Master, R, Y, G, C, B, M) with Hue, Saturation, Lightness, Chroma, Overlap sliders.
- Split View shows before/after with a draggable divider.
- Cancel restores pixels; OK commits the adjustment.
- Resize/Skew supports percent or pixels and an optional aspect lock.
- Decrease Color Depth offers RGB565, 256, 16, 2 colors, or Custom (2–256). Options: Floyd-Steinberg dithering, Wu palette quantization, make grayscale.
Stray Pixel Cleaner (Gap Stitch)
- Removes stray pixel islands and thin aliasing ribbons trapped between larger shapes without touching intentional lines or corners.
- Parameters: Cluster Radius (1–20px), Min Shape Size (1–9999px), Color Tolerance (0–128), Iterations (1–10).
- Uses BFS (breadth-first search) cluster analysis. Apply, Apply & Close, or Cancel.
Smart Pencil
- Draw rough freehand strokes and Smart Pencil detects intended shapes (rectangles, circles, lines, etc.).
- "Curve Only" debug option bypasses shape detection and always outputs smooth curves.
- Toggle Smart Pencil mode in the ribbon.
Tile Mode
- Toggle tile overlay to divide the canvas into a grid of tiles for sprite/tileset work.
- Configurable tile size (default 16px) and grid count (default 3, odd numbers only).
- Darken non-active tiles to focus on the active tile.
- Tiled history breaks undo into per-tile independently compressed entries.
Colors, palettes, and swatches
- Left click a swatch sets Color 1; right click sets Color 2.
- Swap (X) flips Color 1 and Color 2.
- Edit Colors opens the Win-style color dialog.
- Palette export/import uses JASC-PAL format.
- Theme Colors editor: full UI color token system with search, presets, randomize, HSL/RGB/A sliders, export/import.
Gridlines and overlays
- Gridlines are a visual overlay only; spacing (default 64px, min 4px) and color are configurable.
- The grid stays one screen pixel thick for crispness at any zoom.
- Selection ants and outlines are previews; pixels are unchanged until committed.
Clipboard and paste
- Copy/Cut uses the active selection; Paste creates a floating selection.
- Paste honors Transparent Selection if enabled.
History
- Undo (Ctrl+Z) and Redo (Ctrl+Y). Configurable history limit (default 50 states, off by default).
- When the limit is enabled, old states are pruned as new ones are added.
- History entry count is shown in Image Properties.
Save, export, and reminders
- Save uses the file handle if available, otherwise opens the system Save dialog or downloads.
- When layers are active, Save uses ORA (OpenRaster) format preserving layers, groups, blend modes, and opacity.
- Export supports PNG/JPEG with color profiles (sRGB, Display P3, Adobe RGB, CMYK simulations).
- PNG export includes sRGB and pHYs ancillary chunks for correct color-space and DPI metadata.
- Advanced Export Studio (GBA Mode) for Pokémon asset export: split files, force 15-bit RGB555, generate .PAL (JASC-PAL), drag-to-reorder palette, export presets (GBA Sprite, GBA Tile, Game Boy), new canvas presets.
- Save reminders wait for a short idle gap before showing; configurable interval (default 60 min).
Themes
- 8 themes: Light (default), Test Mode (dark), Dark Refined, Primeval Forest, Abyssal Ocean, Crimson Dusk, Gilded Obsidian, Violet Haze.
- Full UI color token editor with search, presets, randomize, HSL/RGB/A sliders, export/import of theme configurations.
Ribbon Customization
- Right-click the ribbon and choose "Customize Toolbar..." to open the customization panel.
- Move ribbon sections between Home and Misc toolbars. Show or hide individual sections.
- Reset to default layout at any time.
- Layout is persisted and restored across sessions.
Hotkey Customization
- All hotkeys are fully customizable via the Hotkeys ribbon section.
- Simple mode: a single key press. Complex mode: up to 3 held modifiers + action key.
- Reset defaults, export/import hotkey configurations.
- Press F1 to open the hotkey editor.
Default hotkeys (customizable)
- P Pencil, E Eraser, G Fill, R Gradient, S Select, W Wand, A Lasso, I Picker, Z Zoom.
- L Line, U Curve, Y Polyline, H Freehand Path, F Rectangle, C Circle, V Triangle.
- X Swap Colors, T Toggle Transparent Selection, Tab Toggle Toolbar, F1 Open Hotkeys.
- Ctrl+Z Undo, Ctrl+Y Redo, Ctrl+S Save, Ctrl+O Open, Ctrl+N New.
- Ctrl+A Select All, Ctrl+C Copy, Ctrl+X Cut, Ctrl+V Paste.
- Ctrl+E Image Properties, Ctrl+W Resize/Skew, Ctrl+Plus/Minus Brush Size.
- Escape Cancel/Unselect, Delete Delete Selection.
Crop
Resize
Rotate Right 90°
Rotate Left 90°
Rotate 180°
Flip Vertical
Flip Horizontal