All 237 features in a sortable, filterable table. Click any row to see its detail page.
| Label | Menu ▲ | Status | Priority | Shortcut | Notes |
|---|---|---|---|---|---|
| Undo | Edit | implemented | P0 | Ctrl+Z | Full undo/redo via history manager |
| Redo | Edit | implemented | P0 | Ctrl+Shift+Z | -- |
| Fade... | Edit | implemented | P2 | Ctrl+Shift+F | Descriptor and handler exist |
| Step Forward | Edit | implemented | P2 | Ctrl+Shift+Z | -- |
| Step Backward | Edit | implemented | P2 | Ctrl+Alt+Z | -- |
| Cut | Edit | implemented | P0 | Ctrl+X | Clipboard operations implemented |
| Copy | Edit | implemented | P0 | Ctrl+C | -- |
| Paste | Edit | implemented | P0 | Ctrl+V | -- |
| Paste In Place | Edit | implemented | P1 | Ctrl+Shift+V | -- |
| Clear | Edit | implemented | P0 | Delete | -- |
| Fill... | Edit | implemented | P0 | Shift+F5 | Full fill dialog with blend modes, opacity, preser... |
| Stroke... | Edit | implemented | P1 | -- | Width, color, location (inside/center/outside), bl... |
| Free Transform | Edit | implemented | P0 | Ctrl+T | Transform infrastructure with handles |
| Rotate 180° | Edit | implemented | P1 | -- | -- |
| Rotate 90° CW | Edit | implemented | P1 | -- | -- |
| Rotate 90° CCW | Edit | implemented | P1 | -- | -- |
| Flip Horizontal | Edit | implemented | P1 | -- | -- |
| Flip Vertical | Edit | implemented | P1 | -- | -- |
| Select All | Edit | implemented | P0 | Ctrl+A | -- |
| Deselect | Edit | implemented | P0 | Ctrl+D | -- |
| Define Pattern... | Edit | implemented | P2 | -- | -- |
| Define Brush Preset... | Edit | implemented | P2 | -- | -- |
| Define Custom Shape... | Edit | implemented | P2 | -- | -- |
| Content-Aware Scale... | Edit | implemented | P2 | -- | Descriptor and handler exist |
| Assign Profile... | Edit | implemented | P2 | -- | Full RGB-to-XYZ color conversion |
| Convert to Profile... | Edit | implemented | P2 | -- | -- |
| Auto-Align Layers... | Edit | implemented | P2 | -- | -- |
| Auto-Blend Layers... | Edit | implemented | P2 | -- | -- |
| Preferences... | Edit | implemented | P1 | Ctrl+K | PreferencesDialog with theme, performance, grid, s... |
| New... | File | implemented | P0 | Ctrl+N | Full New Document dialog with width, height, DPI, ... |
| Open... | File | implemented | P1 | Ctrl+O | File picker for .psd/.psb; Photopea supports many ... |
| Open & Place... | File | implemented | P1 | -- | -- |
| Open Recent | File | implemented | P2 | -- | Submenu exists but may be empty if no recent files... |
| Save | File | implemented | P0 | Ctrl+S | Downloads PSD file via browser download |
| Save as PSB... | File | implemented | P1 | -- | -- |
| Export... | File | implemented | P1 | Ctrl+Shift+E | Export dialog with PNG/JPEG/WEBP and quality slide... |
| File Info... | File | implemented | P2 | -- | Descriptor and handler exist |
| Print... | File | implemented | P2 | Ctrl+P | Descriptor and handler exist |
| Close | File | implemented | P1 | -- | -- |
| Liquify... | Filter | implemented | P1 | Ctrl+Shift+X | -- |
| Average | Filter | implemented | P2 | -- | -- |
| Blur | Filter | implemented | P2 | -- | -- |
| Blur More | Filter | implemented | P2 | -- | -- |
| Box Blur... | Filter | implemented | P2 | -- | -- |
| Gaussian Blur... | Filter | implemented | P0 | -- | -- |
| Lens Blur... | Filter | implemented | P1 | -- | -- |
| Motion Blur... | Filter | implemented | P1 | -- | -- |
| Radial Blur... | Filter | implemented | P1 | -- | -- |
| Surface Blur... | Filter | implemented | P1 | -- | -- |
| Sharpen Edges | Filter | implemented | P2 | -- | -- |
| Sharpen More | Filter | implemented | P2 | -- | -- |
| Smart Sharpen... | Filter | implemented | P1 | -- | -- |
| Unsharp Mask... | Filter | implemented | P1 | -- | -- |
| Add Noise... | Filter | implemented | P1 | -- | -- |
| Reduce Noise... | Filter | implemented | P1 | -- | -- |
| Dents... | Filter | implemented | P2 | -- | -- |
| Displace... | Filter | implemented | P2 | -- | -- |
| Kaleidoscope... | Filter | implemented | P2 | -- | -- |
| Pinch... | Filter | implemented | P2 | -- | -- |
| Polar Coordinates... | Filter | implemented | P2 | -- | -- |
| Ripple... | Filter | implemented | P2 | -- | -- |
| Shear... | Filter | implemented | P2 | -- | -- |
| Spherize... | Filter | implemented | P2 | -- | -- |
| Twirl... | Filter | implemented | P2 | -- | -- |
| Wave... | Filter | implemented | P2 | -- | -- |
| ZigZag... | Filter | implemented | P2 | -- | -- |
| Lens Correction... | Filter | implemented | P2 | -- | -- |
| Crystallize... | Filter | implemented | P2 | -- | -- |
| Mosaic... | Filter | implemented | P2 | -- | -- |
| Color Halftone... | Filter | implemented | P2 | -- | -- |
| Pointillize... | Filter | implemented | P2 | -- | -- |
| Emboss... | Filter | implemented | P2 | -- | -- |
| Find Edges | Filter | implemented | P2 | -- | -- |
| Oil Paint... | Filter | implemented | P2 | -- | -- |
| Solarize | Filter | implemented | P2 | -- | -- |
| Wind... | Filter | implemented | P2 | -- | -- |
| Clouds | Filter | implemented | P2 | -- | -- |
| Difference Clouds | Filter | implemented | P2 | -- | -- |
| Fibers... | Filter | implemented | P2 | -- | -- |
| Lens Flare... | Filter | implemented | P2 | -- | -- |
| High Pass... | Filter | implemented | P1 | -- | -- |
| Offset... | Filter | implemented | P2 | -- | -- |
| Maximum... | Filter | implemented | P2 | -- | -- |
| Minimum... | Filter | implemented | P2 | -- | -- |
| Color to Alpha... | Filter | implemented | P2 | -- | -- |
| Dither... | Filter | implemented | P2 | -- | -- |
| RGB Color | Image | implemented | P1 | -- | Can read all modes; conversion handlers exist |
| Grayscale | Image | implemented | P1 | -- | -- |
| Lab Color | Image | implemented | P2 | -- | Descriptor and handler exist |
| Indexed Color | Image | implemented | P2 | -- | Descriptor and handler exist |
| CMYK Color | Image | not-started | P2 | -- | Disabled in menu; can read CMYK but no conversion |
| Bitmap | Image | implemented | P2 | -- | -- |
| Multichannel | Image | implemented | P2 | -- | -- |
| 8 Bits/Channel | Image | implemented | P1 | -- | -- |
| 16 Bits/Channel | Image | implemented | P1 | -- | -- |
| 32 Bits/Channel | Image | implemented | P2 | -- | -- |
| Image Size... | Image | implemented | P0 | -- | Full dialog with resampling methods |
| Canvas Size... | Image | implemented | P0 | -- | -- |
| Apply Image... | Image | implemented | P2 | -- | Descriptor and handler exist |
| Calculations... | Image | implemented | P2 | -- | Descriptor and handler exist |
| 180° | Image | implemented | P1 | -- | -- |
| 90° Clockwise | Image | implemented | P1 | -- | -- |
| 90° Counter Clockwise | Image | implemented | P1 | -- | -- |
| Flip Canvas Horizontal | Image | implemented | P1 | -- | -- |
| Flip Canvas Vertical | Image | implemented | P1 | -- | -- |
| Brightness/Contrast... | Image | implemented | P0 | -- | -- |
| Levels... | Image | implemented | P0 | Ctrl+L | Full LevelsEditor with histogram |
| Curves... | Image | implemented | P0 | Ctrl+M | Full CurvesEditor |
| Exposure... | Image | implemented | P1 | -- | -- |
| Vibrance... | Image | implemented | P1 | -- | -- |
| Hue/Saturation... | Image | implemented | P0 | Ctrl+U | Full HueSaturationEditor |
| Color Balance... | Image | implemented | P0 | Ctrl+B | -- |
| Black & White... | Image | implemented | P1 | Alt+Ctrl+Shift+B | -- |
| Photo Filter... | Image | implemented | P1 | -- | -- |
| Channel Mixer... | Image | implemented | P1 | -- | -- |
| Selective Color... | Image | implemented | P1 | -- | -- |
| Gradient Map... | Image | implemented | P1 | -- | -- |
| Color Lookup... | Image | implemented | P2 | -- | -- |
| Replace Color... | Image | implemented | P2 | -- | -- |
| Shadows/Highlights... | Image | implemented | P1 | -- | -- |
| Posterize... | Image | implemented | P2 | -- | -- |
| Threshold... | Image | implemented | P2 | -- | -- |
| Invert | Image | implemented | P1 | Ctrl+I | -- |
| Desaturate | Image | implemented | P1 | Ctrl+Shift+U | -- |
| Auto Tone | Image | implemented | P1 | -- | -- |
| Auto Contrast | Image | implemented | P1 | -- | -- |
| Auto Color | Image | implemented | P1 | -- | -- |
| New Layer | Layer | implemented | P0 | Ctrl+Shift+N | -- |
| New Group | Layer | implemented | P0 | -- | -- |
| Layer from Background | Layer | implemented | P1 | -- | Descriptor and handler exist |
| Delete Layer | Layer | implemented | P0 | -- | -- |
| Duplicate Layer | Layer | implemented | P0 | Ctrl+J | -- |
| Solid Color... | Layer | implemented | P1 | -- | -- |
| Gradient... | Layer | implemented | P1 | -- | -- |
| Pattern... | Layer | implemented | P1 | -- | -- |
| Convert to Smart Object | Layer | implemented | P2 | -- | Descriptor and handler exist |
| Rasterize | Layer | implemented | P1 | -- | Descriptor and handler exist |
| Unite Shapes | Layer | implemented | P2 | -- | Descriptor and handler exist |
| Subtract Front Shape | Layer | implemented | P2 | -- | -- |
| Intersect Shape Areas | Layer | implemented | P2 | -- | -- |
| Exclude Overlapping Shapes | Layer | implemented | P2 | -- | -- |
| Merge Down | Layer | implemented | P1 | Ctrl+E | -- |
| Merge Visible | Layer | implemented | P1 | Ctrl+Shift+E | Descriptor and handler exist |
| Flatten Image | Layer | implemented | P1 | -- | -- |
| Bring Forward | Layer | implemented | P0 | Ctrl+] | -- |
| Send Backward | Layer | implemented | P0 | Ctrl+[ | -- |
| Bring to Front | Layer | implemented | P0 | Ctrl+Shift+] | -- |
| Send to Back | Layer | implemented | P0 | Ctrl+Shift+[ | -- |
| Top Edges | Layer | implemented | P1 | -- | -- |
| Vertical Centers | Layer | implemented | P1 | -- | -- |
| Bottom Edges | Layer | implemented | P1 | -- | -- |
| Left Edges | Layer | implemented | P1 | -- | -- |
| Horizontal Centers | Layer | implemented | P1 | -- | -- |
| Right Edges | Layer | implemented | P1 | -- | -- |
| Top Edges | Layer | implemented | P1 | -- | -- |
| Vertical Centers | Layer | implemented | P1 | -- | -- |
| Bottom Edges | Layer | implemented | P1 | -- | -- |
| Left Edges | Layer | implemented | P1 | -- | -- |
| Horizontal Centers | Layer | implemented | P1 | -- | -- |
| Right Edges | Layer | implemented | P1 | -- | -- |
| Brightness/Contrast... | Layer | implemented | P0 | -- | -- |
| Levels... | Layer | implemented | P0 | -- | -- |
| Curves... | Layer | implemented | P0 | -- | -- |
| Exposure... | Layer | implemented | P1 | -- | -- |
| Vibrance... | Layer | implemented | P1 | -- | -- |
| Hue/Saturation... | Layer | implemented | P0 | -- | -- |
| Color Balance... | Layer | implemented | P1 | -- | -- |
| Black & White... | Layer | implemented | P1 | -- | -- |
| Photo Filter... | Layer | implemented | P1 | -- | -- |
| Channel Mixer... | Layer | implemented | P1 | -- | -- |
| Selective Color... | Layer | implemented | P1 | -- | -- |
| Color Lookup... | Layer | implemented | P2 | -- | -- |
| Gradient Map... | Layer | implemented | P1 | -- | -- |
| Invert | Layer | implemented | P1 | -- | -- |
| Posterize... | Layer | implemented | P2 | -- | -- |
| Threshold... | Layer | implemented | P2 | -- | -- |
| Desaturate | Layer | implemented | P2 | -- | -- |
| Replace Color... | Layer | implemented | P2 | -- | -- |
| Shadows/Highlights... | Layer | implemented | P1 | -- | -- |
| All | Select | implemented | P0 | Ctrl+A | -- |
| Deselect | Select | implemented | P0 | Ctrl+D | -- |
| Reselect | Select | implemented | P1 | Ctrl+Shift+D | -- |
| Inverse | Select | implemented | P1 | Ctrl+Shift+I | -- |
| Color Range... | Select | implemented | P1 | -- | Euclidean RGB distance with soft falloff |
| Focus Area... | Select | implemented | P2 | -- | Descriptor and handler exist |
| Refine Edge... | Select | implemented | P1 | -- | Descriptor and handler exist |
| Transform Selection | Select | implemented | P2 | -- | Affine inverse mapping |
| Border... | Select | implemented | P1 | -- | -- |
| Smooth... | Select | implemented | P1 | -- | -- |
| Expand... | Select | implemented | P1 | -- | Morphological dilation with circular SE |
| Contract... | Select | implemented | P1 | -- | -- |
| Feather... | Select | implemented | P1 | Shift+F6 | -- |
| Grow | Select | implemented | P2 | -- | BFS flood fill |
| Similar | Select | implemented | P2 | -- | Canvas-wide color scan |
| Save Selection... | Select | implemented | P2 | -- | -- |
| Load Selection... | Select | implemented | P2 | -- | -- |
| Zoom In | View | implemented | P1 | Ctrl++ | -- |
| Zoom Out | View | implemented | P1 | Ctrl+- | -- |
| Fit to Screen | View | implemented | P0 | Ctrl+0 | -- |
| Actual Pixels | View | implemented | P0 | Ctrl+1 | -- |
| Rulers | View | implemented | P1 | Ctrl+R | State exists; toggling works |
| Grid | View | implemented | P2 | Ctrl+' | -- |
| Guides | View | implemented | P1 | -- | -- |
| Snap to Grid | View | implemented | P1 | -- | -- |
| Layer Edges | View | implemented | P1 | -- | -- |
| Selection Edges | View | implemented | P1 | -- | -- |
| Guides | View | implemented | P1 | -- | -- |
| Grid | View | implemented | P2 | -- | -- |
| Extras | View | implemented | P1 | Ctrl+H | -- |
| Visualizer | View | implemented | P2 | -- | Our custom tool; not in Photopea |
| Test Suite | View | implemented | P2 | -- | Our custom tool; not in Photopea |
| Test Runner | View | implemented | P2 | -- | Our custom tool; not in Photopea |
| Component Gallery | View | implemented | P2 | -- | Our custom tool; not in Photopea |
| Documentation | View | implemented | P2 | -- | Our custom tool; not in Photopea |
| Layers | Window | implemented | P0 | F7 | Full interactive layers panel |
| Properties | Window | implemented | P0 | -- | Editable properties panel |
| History | Window | implemented | P0 | -- | Click-to-jump history panel |
| Color | Window | implemented | P0 | -- | Color picker wired into FG/BG swatches |
| Channels | Window | not-started | P1 | -- | Channel handlers exist in psd-ops but no UI panel |
| Histogram | Window | not-started | P2 | -- | Histogram component exists in editor-ui/levels-edi... |
| Navigator | Window | not-started | P2 | -- | -- |
| Info | Window | not-started | P1 | -- | Status bar shows some info but no dedicated panel |
| Character | Window | implemented | P0 | -- | CharacterPanel wired into editor |
| Paragraph | Window | implemented | P1 | -- | ParagraphPanel wired into editor |
| Swatches | Window | not-started | P2 | -- | -- |
| Paths | Window | not-started | P1 | -- | Path handlers exist in psd-ops but no panel |
| Actions | Window | not-started | P2 | Alt+F9 | -- |
| Layer Comps | Window | not-started | P2 | -- | LayerComp type exists in psd-ops but no UI |
| Notes | Window | not-started | P2 | -- | -- |
| Glyphs | Window | not-started | P2 | -- | -- |
| Character Styles | Window | not-started | P2 | -- | -- |
| Styles | Window | not-started | P2 | -- | -- |
| Save Workspace... | Window | not-started | P2 | -- | -- |
| Delete Workspace... | Window | not-started | P2 | -- | -- |
| Essentials (Default) | Window | not-started | P2 | -- | -- |
| Photography | Window | not-started | P2 | -- | -- |
| Painting | Window | not-started | P2 | -- | -- |