Skip to content
napari: a fast, interactive, multi-dimensional image viewer for python
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Bug Report Issue Template Update (#591) Oct 14, 2019
benchmarks Add benchmarks for setting .data in Image layers (#747) Dec 11, 2019
docs Add benchmarks for setting .data in Image layers (#747) Dec 11, 2019
examples Add an example showing mouse drag callbacks (#690) Nov 13, 2019
napari Adding shutdown method to QtViewer that closes all resources (#769) Dec 11, 2019
requirements adding better resource managment to qt_console (#784) Dec 11, 2019
resources Add dock icon (#744) Nov 30, 2019
.cirrus.yml Update Cirrus OSX image and patch windows builds (#658) Nov 6, 2019
.gitattributes add setup information Oct 10, 2018
.pre-commit-config.yaml Add linter pre-commit hook (#638) Nov 6, 2019
LICENSE add setup information Oct 10, 2018 Include LICENSE file in source distribution (#628) Oct 26, 2019
Makefile host docs (#486) Aug 19, 2019 change language around windows (#779) Dec 9, 2019
asv.conf.json add basic benchmarks (#573) Oct 8, 2019
codecov.yml use codecov (#455) Aug 23, 2019 Reformatting whole repo with Black (#322) Jun 6, 2019
pyproject.toml Revert "change no. of pixels calculation from 32 to 64-bit (#692)" (#738 Nov 26, 2019
requirements.txt Black formatter PR (#282) Jun 5, 2019
setup.cfg Revert "change no. of pixels calculation from 32 to 64-bit (#692)" (#738 Nov 26, 2019 enable `python -m napari` (#529) Sep 13, 2019 Revert "Reformatting whole repo with Black" (#327) Jun 7, 2019


multi-dimensional image viewer for python forum License Build Status codecov Python Version PyPI PyPI - Downloads Development Status Code style: black DOI

napari is a fast, interactive, multi-dimensional image viewer for Python. It's designed for browsing, annotating, and analyzing large multi-dimensional images. It's built on top of Qt (for the GUI), vispy (for performant GPU-based rendering), and the scientific Python stack (numpy, scipy).

We're developing napari in the open! But the project is in an alpha stage, and there will still likely be breaking changes with each release. You can follow progress on this repository, test out new versions as we release them, and contribute ideas and code.

We're working on in-depth tutorials, but you can also quickly get started by looking below.


napari can be installed on most macOS, Linux, and Windows systems with Python 3.6 or 3.7 by calling

$ pip install napari

To clone the repository locally and install in editable mode use

$ git clone
$ cd napari
$ pip install -e .

For more information or troubleshooting see our installation tutorial

simple example

From inside an IPython shell (started with ipython --gui=qt) or jupyter notebook (after running a cell with magic command %gui qt) you can open up an interactive viewer by calling

from skimage import data
import napari
viewer = napari.view_image(data.astronaut(), rgb=True)


To do the same thing inside a script call

from skimage import data
import napari

with napari.gui_qt():
    viewer = napari.view_image(data.astronaut(), rgb=True)


Check out the scripts in our examples folder to see some of the functionality we're developing!

napari supports six main different layer types, Image, Labels, Points, Vectors, Shapes, and Surface, each corresponding to a different data type, visualization, and interactivity. You can add multiple layers of different types into the viewer and then start working with them, adjusting their properties.

All our layer types support n-dimensional data and the viewer provides the ability to quickly browse and visualize either 2D or 3D slices of the data.

napari also supports bidirectional communication between the viewer and the Python kernel, which is especially useful when launching from jupyter notebooks or when using our built-in console. Using the console allows you to interactively load and save data from the viewer and control all the features of the viewer programmatically.

You can extend napari using custom shortcuts, key bindings, and mouse functions.


For more details on how to use napari checkout our in-depth tutorials. These are still a work in progress, but we'll be updating them regularly.


We're working on several features, including

  • support for multiple linked canvases
  • script & macro generation
  • a plugin ecosystem for integrating image processing and machine learning tools

See this issue for some of the features on the roadmap for our 0.3 release. Feel free to add comments or ideas!


Contributions are encouraged! Please read our contributing guide to get started. Given that we're in an early stage, you may want to reach out on our Github Issues before jumping in.

code of conduct

napari has a Code of Conduct that should be honored by everyone who participates in the napari community.

citing napari

If you find napari useful please cite this repository using its DOI as follows:

napari contributors (2019). napari: a multi-dimensional image viewer for python. doi:10.5281/zenodo.3555620

Note this DOI will resolve to all versions of napari. To cite a specific version please find the DOI of that version on our zenodo page.


We're a community partner on the forum and all help and support requests should be posted on the forum with the tag napari. We look forward to interacting with you there.

You can’t perform that action at this time.