Local & self-hosted appsnapari open-source project (NumFOCUS-sponsored)Open source
napari
Decision matrix
napari runtime decision matrix
Overview
napari is a free, open-source Python viewer built for n-dimensional microscopy data, with layers for points, shapes and labels and a plugin ecosystem for segmentation and tracking. Pick it when your data is a multi-channel 3D or 4D stack. Pick something else for a single 2D image or a quick pathology slide, where a simpler viewer is faster to open.
Other good fits
Annotating data with points, shapes or label layers that feed straight back into a Python analysis script.
Adding a specific capability, like Cellpose segmentation, through a napari hub plugin instead of switching tools.
+ Pros
Read pros
napari is an open-source, BSD-3-Clause licensed viewer for n-dimensional arrays, purpose-built for the multi-channel, multi-timepoint datasets common in microscopy. Beyond just displaying an image, it gives you layers: points, shapes and label masks you can draw, edit and export, which is what turns it from a viewer into an annotation and analysis tool. A Python console is built in, so you can move between clicking through the data and scripting on it in the same session.
Pick it when
Your dataset is a 3D or 4D microscopy stack that a basic 2D image viewer cannot represent properly.
You need to annotate cells, regions or tracks by hand and export those annotations for downstream analysis.
You want to add a specific capability, such as a segmentation or tracking plugin, without leaving the viewer.
− Cons
Read cons
napari is a Python application you install and run yourself; there is no hosted or cloud version, so someone on your team needs to be comfortable with a Python environment to set it up in the first place. It is a viewer and annotation tool, not a full analysis suite: heavier processing still happens in plugins or your own scripts, not in napari's core. For a single 2D image or routine pathology slide review, its startup and layer model are more machinery than the job needs.
Pick something else when
You just need to open a couple of 2D images quickly: a lightweight viewer or Fiji opens faster for that.
Your work is whole-slide pathology navigation and classification: use QuPath, which is built around that workflow.
You need a cell-segmentation model rather than a viewer: run Cellpose and bring its output into napari for review, not the other way around.
Before trusting an annotation exported from napari in downstream analysis, reopen the export in a second tool or a quick script and confirm the pixel coordinates and layer scale match the original image; napari does not warn you if a plugin silently assumes the wrong voxel size.
Avoid if
You want a no-code, install-free web tool; napari is a Python application you install and run locally.
You need whole-slide pathology navigation and annotation out of the box; QuPath is built specifically for that.
Requirements
Install napari with python -m pip install "napari[all]" in a Python 3.11+ environment (conda-forge packages are also available), or launch it once with uvx "napari[all]" without a permanent install. It uses Qt for its interface and benefits from a GPU for smooth rendering of large volumes, though it is usable on a laptop for moderate dataset sizes.
First run
Documentation-based suggestion — not run here.
Load a multi-channel image stack, annotate a handful of regions by hand, and export the result. The book Viewing and annotating a microscopy stack walks through this.
Install napari and open a multi-channel z-stack or time-lapse dataset.
Scrub through channels and timepoints to get a feel for the data before analysing anything.
Add a labels layer and manually outline a handful of regions of interest.
Install one plugin from napari hub relevant to your data (for example, a segmentation plugin) and run it on the same stack.
Export the labels layer and compare it against your manual annotation.
Integration
napari plugins are distributed and discovered through napari hub, covering segmentation (including Cellpose integration), tracking and file-format readers. Because napari is a Python library as much as an app, you can drive it entirely from a script, pass it arrays straight from NumPy, and read back whatever a user draws in the points, shapes or labels layers for your own analysis code.
Check the result
Open the exported labels or points file in a plain-text or array viewer and confirm the coordinates line up with what you saw on screen; a mismatch usually means an axis order or scale problem in the original data, not a napari bug.
Links & evidence
Documentation-based · not hands-on · Sep 23, 2026
Rests on napari's documentation site and the napari/napari GitHub repository, both read on 2026-09-23, for licence, installation and plugin-ecosystem details. Nothing was installed or run for this review; the first project is a suggested exercise.
napari documentation · Sep 23, 2026 — Fast, interactive multi-dimensional image viewer for Python; points/shapes/labels layers; fiscally sponsored by NumFOCUS.
napari GitHub repository · Sep 23, 2026 — BSD-3-Clause licence; install via pip "napari[all]" or conda-forge; Qt-based interface; napari hub referenced as the plugin ecosystem.
napari hub · Sep 23, 2026 — Community plugin directory referenced by napari's own documentation as the way to discover and install plugins.
Further review notes & alternatives
Costs and operating effort
napari is free and open source with no paid tier of any kind. There is nothing to buy; the only running cost is your own machine, and a discrete GPU makes large-volume rendering and plugin-based analysis noticeably smoother. The ongoing effort is keeping plugins updated as napari itself updates, since a plugin built against an older napari release can lag behind.
Alternatives and trade-offs
Fiji is faster to open for a single 2D image or a quick measurement, at the cost of a clunkier interface for large multi-dimensional stacks.
QuPath wins for whole-slide pathology images with tissue-level classification, which is not napari's focus.
Cellpose produces the segmentation masks you would bring into napari to view and correct; use them together rather than choosing one.
napari is an open-source Python viewer for n-dimensional scientific images, built for exploring, annotating and combining large microscopy datasets with computational analysis in points, shapes and labels layers. A plugin ecosystem on napari hub adds segmentation, tracking and other domain-specific tools.