Features
This matrix tracks main, so it can run slightly ahead of the newest release. ✗ No does not imply planned support. Use the editor explains how to use what is here.
Immich library and culling
| Capability | Available | Notes |
|---|---|---|
| Browse timeline, archive, hidden assets, albums, favorites, folders, people, and tags | ✓ Yes | Uses the connected Immich library |
| Album browsing and membership | ✓ Yes | Albums come from Immich; the selection bar adds photos to albums and removes them from the open album |
| Contextual smart search | ✓ Yes | Uses Immich CLIP search when the server has smart search turned on |
| File name, description, full path or folder, and OCR search | ✓ Yes | Searches Immich metadata like Immich’s own search types; OCR needs OCR turned on in Immich |
| Rating, favorite, not-in-any-album, untagged, no-people, albums, people, tags, date taken, date added, filename, file size, visibility, label, reject, camera, lens, and place filters | ✓ Yes | Available in browse and search views; camera and place pickers offer Unknown for photos without the value; albums, people and tags match all, any or none of the picked values on Immich 3.2, all of them before that; reject can show only rejects; no people needs Immich 3.2, as does the file size range outside folders and Edited; untagged skips photos with a color label or reject mark; Immich applies label and reject filters (Hide rejects and No label need Immich 3.2; context search applies them to the loaded photos, and offers no size range or rating range); folders and Edited offer no visibility filter; ratings match at least, at most (unrated included) or exactly on Immich 3.2, exactly before that; make, model and lens pickers narrow each other, as do country, state and city, and each takes several values on Immich 3.2, one before that; active filters show as removable chips; changing a filter clears the current selection; filters live in the page address, so reloads, Back and Forward, bookmarks and shared links keep them |
| Thumbnail size and info controls | ✓ Yes | Four remembered sizes remain available on narrow screens; thumbnails show nothing, badges, or badges with filename and date without hovering |
| Per-view sort order | ✓ Yes | Timelines open newest first, albums, people, tags, and folders oldest first, and each remembers the date (taken or added) and direction you pick; Immich 3.2 adds rating and file size sorts over the whole result, unrated and unsized photos last |
| Map search filters | ✗ No | Use Immich for map search |
| Ratings, favorites, tags, color labels, and reject marks | ✓ Yes | Writes metadata to Immich after consent; labels and reject are Immich tags under immich-edit/. Photos owned by another Immich user are read-only, as in Immich |
| Edit descriptions, dates, locations, or EXIF fields | ✗ No | Metadata writes are limited to ratings, favorites, and tags |
| Multi-select and batch actions | ✓ Yes | Select all selects every photo in the result, not only the loaded page; see act on a selection |
| Two-photo compare | ✓ Yes | Synchronized or independent zoom and pan |
| Face-aware zoom | ✓ Yes | Steps through the faces Immich detected, then the sharpest region when there are none; see look at photos |
| Actual-pixel zoom | ✓ Yes | Zoom percentages are percentages of the original file, so 100% puts one source pixel on one screen pixel. The zoom control reads Fit when the whole photo is on screen, and zooming out goes down to half of that with the photo centred |
| Fullscreen viewing | ✓ Yes | F or Fullscreen in the loupe or editor More menu hides the chrome in loupe, compare, survey, and editor views |
| Survey view | ✓ Yes | Up to nine photos |
| Virtual copies | ✓ Yes | Independent local edits without duplicating the original |
| Color labels | ✓ Yes | Red, yellow, green, blue and purple, one per photo; 6 to 9 set the first four; see rate, reject and label |
| Create, rename, delete, or share Immich albums | ✗ No | Existing albums can receive photos and exported edits |
| Stack an exported edit with its original | ✓ Yes | Either asset can be the stack primary |
| Replace the original with the exported edit | ✓ Yes | Moves albums, shared links, favorite and stack to the upload and trashes the original; see replace the original |
| Browse, create, or reorganize arbitrary Immich stacks | ✗ No | Export stacking is the only stack operation |
| Move photos to the Immich trash | ✓ Yes | Owned photos only, with Undo; refused while the Immich trash is off; see delete photos |
| Archive, empty the trash, or delete assets for good | ✗ No | Restore older deletions from the trash in Immich |
| Map and location browsing | ✗ No | — |
| Immich memories | ✗ No | — |
| Partner sharing and public share links | ✗ No | Use Immich for sharing |
Input and RAW compatibility
| Capability | Available | Notes |
|---|---|---|
| RAW formats supported by rawler | ✓ Yes | Camera and format details |
| Bayer RAW | ✓ Yes | Native 2x2 CPU and GPU demosaic |
| Fujifilm X-Trans RAW | ✓ Yes | Native 6x6 CPU and GPU demosaic |
| Linear and Bayer DNG input | ✓ Yes | Tested end to end |
| Phone and drone DNG corrections | ✓ Yes | Lens shading maps, vignette and distortion stored in the DNG are always applied; iPhone ProRAW’s profile gain table map is not |
| JPEG, PNG, TIFF, WebP, HEIC, AVIF, JPEG XL, GIF, and BMP input | ✓ Yes | Format details |
Sigma Foveon .x3f | ✗ No | Not decoded by rawler |
| CFA patterns other than 2x2 Bayer or 6x6 X-Trans | ✗ No | Rejected rather than rendered incorrectly |
| Pixel-shift and multi-frame RAW merge | ✗ No | Only the first sub-frame is decoded |
| Animated or multipage image sequences | ✗ No | GIF, TIFF, HEIF, and similar containers decode one still image |
| Embedded-JPEG fallback for rejected RAW files | ✗ No | RAW decode must succeed |
| Floating-point, CMYK, or unsupported tiled TIFF | ✗ No | Integer RGB, RGBA, and grayscale only |
| PSD and PSB input | ✗ No | — |
| OpenEXR, Radiance HDR, and PFM input | ✗ No | — |
RAW development
| Capability | Available | Notes |
|---|---|---|
| Auto adjust | ✓ Yes | Sets white balance, tone, clarity, dehaze, vibrance, and saturation from the rendered photo, weighting detected faces |
| Camera and custom white balance | ✓ Yes | Temperature in Kelvin and tint from the as-shot white, an eyedropper for neutral points or areas with a live reading, and auto white balance |
| Exposure and tone controls | ✓ Yes | Exposure, brightness, contrast, highlights, shadows, whites, and blacks |
| RAW clipped-highlight reconstruction | ✓ Yes | Rebuilds clipped photosites from the other colors before demosaic |
| Sensor black- and white-point overrides | ✗ No | No RAW preprocessing controls |
| RGB and luma curves | ✓ Yes | Composite and per-channel curves |
| HSL and color grading | ✓ Yes | HSL mixer and color wheels |
| Black-and-white channel mixer | ✓ Yes | Six-channel mixer with a shadows and highlights tint; see black and white |
| Channel mixer or calibration-primary controls | ✗ No | — |
| DCP camera profiles | ✓ Yes | Auto, Default Color, Flat, bundled profiles, admin imports, and retry for failed automatic lens lookup |
| Custom camera ICC input profiles | ✗ No | Camera profiles use DCP only |
| Creative 3D LUTs | ✓ Yes | .cube import with amount control, including 1D shaper tables and input ranges; importing is admin-only |
| 3D LUT export | ✗ No | No .cube download or baking from current color edits |
| Automatic RAW lens profiles | ✓ Yes | Distortion and vignette, with an instance-wide opt-out; chromatic aberration remains opt-in; skipped for DNGs that carry their own corrections |
| Crop, rotate, and flip | ✓ Yes | Geometry controls; straighten by drawing a line along the horizon |
| Manual perspective correction | ✓ Yes | Keystone, aspect, and corner controls |
| Guided upright | ✓ Yes | Solves angle and keystone from two to four drawn lines; see edit |
| Automatic upright | ✗ No | — |
Detail
| Capability | Available | Notes |
|---|---|---|
| Capture sharpening | ✓ Yes | RAW-only default, switchable per photo |
| Creative sharpening | ✓ Yes | Amount, radius, detail, and masking |
| Export-stage output sharpening | ✓ Yes | Screen, matte, or glossy pass after the resize, separate from Develop sharpening; see export |
| Deconvolution sharpening | ✗ No | Unsharp-mask style sharpening only |
| Luma and color noise reduction | ✓ Yes | CPU and GPU |
| AI denoise | ✓ Yes | RAW only; runs once per photo on the server and needs an admin-installed model; see edit |
| AI super resolution or upscale | ✗ No | — |
| Texture, clarity, and dehaze | ✓ Yes | Global controls; texture and clarity also work in masks |
| Hot or dead pixel correction | ✓ Yes | Automatic on every Bayer and X-Trans RAW, plus the bad-pixel lists a DNG carries; no control |
| Demosaic method selection or dual demosaic | ✗ No | One method per CFA type |
| Alternate high-quality export demosaic | ✗ No | Exports use the same Bayer or X-Trans method as previews |
| Moiré and false-color correction | ✗ No | — |
| Manual purple or green defringe | ✗ No | Lens chromatic-aberration correction is profile based |
| Depth-based lens blur and bokeh | ✓ Yes | Global; circle, hexagon or octagon bokeh with highlight boost; needs an admin-installed depth model; see edit |
Masks and retouch
| Capability | Available | Notes |
|---|---|---|
| Linear, radial, brush, and polygon masks | ✓ Yes | Non-destructive local adjustments; radial masks rotate |
| Luminance and color range masks | ✓ Yes | Eyedropper and softness controls |
| Subject, background, people, sky, depth, and scene masks | ✓ Yes | Requires admin-installed models |
| Named-person or face-aware selection | ✗ No | Immich people data is not used for masks |
| Select one person or object from several instances | ✗ No | Whole-class masks merge matching instances |
| Text-prompt masks | ✗ No | — |
| Click and box object selection | ✓ Yes | Positive and negative point refinement |
| Add, subtract, and intersect components | ✓ Yes | Components combine inside a mask layer |
| Local tone and color edits | ✓ Yes | Exposure, tone, white balance, saturation, and vibrance |
| Local texture, clarity, and sharpening | ✓ Yes | Per-mask deltas |
| Local noise reduction, dehaze, HSL, or curves | ✗ No | These controls remain global |
| Copy masks between photos | ✓ Yes | Opt in with Masks when copying edits |
| Copy heal and clone strokes | ✓ Yes | Opt in with Retouch when copying edits |
| Heal and clone | ✓ Yes | Parametric, non-destructive strokes |
| Content-aware or AI object removal | ✗ No | Heal and clone require a source patch |
| Generative fill or expand | ✗ No | No cloud or local generative model |
| Automatic dust, spot, or distraction detection | ✗ No | Retouch strokes are placed manually |
| Red-eye correction | ✗ No | — |
Workflow and compositing
| Capability | Available | Notes |
|---|---|---|
| Undo, redo, and saved history | ✓ Yes | History entries can be restored; closing or reloading during a pending save asks for confirmation |
| Presets | ✓ Yes | Thumbnail strip with hover preview, save, apply at 0–200% amount, batch apply, and import or export as JSON |
| Batch editing and export | ✓ Yes | Persistent background jobs |
| Before and after view | ✓ Yes | Split view and hold-original control |
| Per-section bypass and reset | ✓ Yes | Hold a modified section header to see the image without that section; a panel’s modified dot resets the whole panel |
| True 1:1 viewing | ✓ Yes | Source-resolution tiles, rendered in the browser when browser previews are active and on the server otherwise |
| Editor and loupe filmstrips | ✓ Yes | Each view remembers its own visible or hidden state across reloads; navigation keeps loading the view past its first page; a bookmarked or pasted editor link gets its timeline neighbours |
| Editor inspector layout | ✓ Yes | Width and collapsed state are remembered across reloads |
| Histogram | ✓ Yes | Distinguishes loading from files without histogram data |
| Clipping and gamut warnings | ✓ Yes | Red, blue, and magenta overlays |
| Neutral viewing background | ✓ Yes | Black or middle grey around the photo in the editor and loupe; remembered across reloads |
| Waveform, RGB parade, and vectorscope | ✓ Yes | Computed from the rendered preview, with gain and vectorscope zoom; the Scopes section can be pinned open and resized |
| HDR or panorama merge | ✗ No | No multi-frame compositing |
| Focus-stack merge | ✗ No | — |
| Tethered capture | ✗ No | The library comes from Immich |
| Plugin or scripting API | ✗ No | — |
| External-editor handoff | ✗ No | Export and open the file manually |
Export, color, and interoperability
| Capability | Available | Notes |
|---|---|---|
| Full-resolution export | ✓ Yes | Uses the quality render path up to 65,535 pixels per edge |
| JPEG, PNG, WebP, AVIF, HEIC, TIFF, and JPEG XL export | ✓ Yes | Format options vary by bit depth and color space |
| 16-bit export | ✓ Yes | PNG, TIFF, and JPEG XL |
| Linear 16-bit or floating-point export | ✗ No | 16-bit exports include the display tone curve |
| Lossless WebP export | ✓ Yes | Optional; lossy WebP keeps metadata too |
| sRGB and Display P3 output | ✓ Yes | ICC profile embedded where the format supports it |
| Adobe RGB, ProPhoto RGB, Rec.2020, or custom ICC output | ✗ No | — |
| Automatic output-gamut mapping | ✓ Yes | Reduces chroma at constant Oklab hue and lightness |
| sRGB and Display P3 soft proof | ✓ Yes | Optional gamut warning overlay |
| Printer-profile soft proof and rendering intents | ✗ No | Soft proof is limited to sRGB and Display P3 |
| Safe EXIF preservation | ✓ Yes | Optional, in every export format; maker notes, embedded previews and image-strip tags are removed, and JPEG EXIF is trimmed to fit 64 KB |
| Selective metadata or GPS stripping | ✓ Yes | All, all but location, or none |
| Export resize by dimensions, megapixels or percentage | ✓ Yes | Width × height, megapixels or a percentage, with an optional enlarge |
| Output sharpening for screen or print | ✓ Yes | Screen, matte or glossy paper at low, standard or high, applied after the resize; paper uses the print resolution |
| Filename templates and sequence numbering | ✓ Yes | {name}, {date} and {seq} tokens for downloads, ZIPs and Immich uploads, with collision numbering |
| Export presets or recipes | ✓ Yes | Named, per-user export settings in both export panels; see export |
| JPEG chroma-subsampling control | ✗ No | Export uses 4:2:0 |
| Export watermark | ✓ Yes | PNG from a shared library, with size, opacity, inset and one of nine positions |
| Export to Immich | ✓ Yes | Can assign albums, tags, favorite state, and stack with the original; copies the original’s Immich date, time zone, location, description and rating |
| DNG export | ✗ No | — |
| PSD export | ✗ No | — |
| XMP sidecar round trip with other editors | ✗ No | — |
| OpenEXR, Radiance HDR, or PFM export | ✗ No | — |
| HDR or extended-dynamic-range preview and export | ✗ No | No gain-map or scene-linear output |
Platform and operation
| Capability | Available | Notes |
|---|---|---|
| Multiple Immich users | ✓ Yes | Local edits and jobs are isolated by user |
| OAuth sign-in | ✓ Yes | Through Immich’s own OAuth settings; see OAuth sign-in |
| Sign-in without an Immich account | ✗ No | Every user is an Immich user |
| Docker on Linux amd64 and arm64 | ✓ Yes | Multi-architecture image |
| Vulkan GPU rendering on Linux | ✓ Yes | Requires GPU passthrough |
| Metal GPU rendering on macOS | ✓ Yes | Native process only |
| CPU rendering fallback | ✓ Yes | Available on every supported deployment; renders what does not fit the GPU, within the host memory budget |
| Browser preview rendering | ✓ Yes | Browsers with WebGPU render editor previews locally when they measure clearly faster than the server, or always when set to Browser, so most slider moves send nothing to the server; other browsers, and any browser renderer failure, use server previews. A plain http:// LAN address needs one extra step |
| Local AI inference | ✓ Yes | Models run on the server; no cloud service |
| Full mobile editor | ✗ No | The editor requires a desktop-width viewport |
| Light, dark and system themes | ✓ Yes | Per user, with immich-edit and eleven other theme families and a choice of accent; see appearance |