CELLxGENE Annotate: a desktop explorer for single-cell data
An interactive explorer for single-cell transcriptomics data
At a glance
- What is it?
- CZ CELLxGENE Annotate is a Python and JavaScript desktop application for exploring single-cell transcriptomics data, built to render at least a million cells with interactive filtering and a linked cell view. It is MIT licensed, published on PyPI, and the documentation deliberately lives in a separate repository.
- Who is it for?
- CELLxGENE Annotate fits a computational biologist or a bench scientist who has an h5ad file and wants to explore cell types, markers and distributions without writing a notebook first. It does not fit a team that needs a server-hosted multi-user explorer or an analysis pipeline rather than a viewer, and it does not fit a project with data outside the cellxgene format.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 25 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What the tool is for
CZ CELLxGENE Annotate, pronounced cell-by-gene, is an interactive data explorer for single-cell datasets, such as those coming from the Human Cell Atlas. The stated ambition is to use modern web development techniques to enable fast visualisations of at least one million cells, so that biologists and computational researchers can explore their data.
The framing matters for judging the design. This is an explorer, not an analysis engine. The question it answers is what is in this dataset, how many cells of each type are there, and how do the distributions differ, rather than what differential expression should I run. Whether you need a thousand cells or a million, the documentation says, the tool helps you gain insight into your single-cell data.
The two demonstration recordings in the README are the giveaway about the interaction model. One is a crossfilter view and one is a category breakdown, which is the standard vocabulary of exploratory analysis over many facets at once, and the fact that both are shipped as short screen recordings rather than screenshots tells you the intended session is exploratory rather than report-driven.
The application is built as a Python package with a JavaScript front end, published on PyPI as cellxgene with a Zenodo DOI, and the visualisation work carries the dataviz and scrna-seq topics.
Installing and launching
The quick start needs Python 3.10 or newer, and the recommendation is to install the tool into a conda or virtual environment rather than into the system Python.
pip install cellxgeneLaunching it takes a URL to an h5ad file:
cellxgene launch https://cellxgene-example-data.czi.technology/pbmc3k.h5adSo the launch command is a one-liner against a remote example dataset, which is a good way to see the tool work before committing to a local file. For a fuller picture there is a demo data section in the documentation and a separate page on preparing your own data, and the documentation is pointed at from the README as the one stop shop for information about the tool, with separate pages for what Annotate can do, installation, usage, data preparation and the roadmap.
The documentation living in a separate repository, cellxgene-documentation, is a deliberate choice and it has consequences. It means the docs can be updated without a code release, which matters for a tool whose format expectations change, and it means the release notes of the application and the documentation drift apart unless someone keeps them in step.
Supported browsers are listed as Google Chrome 61 or newer, Edge 15 or newer and Firefox 60 or newer, with an invitation to file an issue for anything else.
Reuse, extension and the trademark split
The reuse section is unusually explicit about intent. The project was started with the sole goal of letting the scientific community explore and understand their data, and the authors encourage other scientific tool builders in academia or industry to adopt the patterns, tools and code, with all code freely available for reuse under the MIT licence.
The invitation to reach out before extending is also specific. The reasoning is given: it might be possible that an extension could be directly contributed, which would make it available to a wider audience, or it might be on the roadmap and under active development.
The trademark position is the detail to note. CZ CELLxGENE, CZ CELLxGENE DISCOVER and CZ CELLxGENE ANNOTATE are trademarks of the Chan Zuckerberg Initiative, and use, reuse, modification and redistribution of the source code is subject to the open source licence, but that licence does not grant permission to use the trademarks without separate express permission from the Chan Zuckerberg Initiative.
So a team that wants to build on the code is fine, and a team that wants to ship it under their own name has to leave the CELLxGENE branding alone. That is a normal arrangement for a foundation-backed open source project, and it is stated clearly enough that nobody has to discover it later.
For a security issue, the project asks for notification by email rather than a public issue, and the code of conduct follows the Contributor Covenant.
Where CELLxGENE Annotate is the wrong choice
The first limitation to weigh is that the tool has no built-in multi-user story: `cellxgene launch` serves a dataset as a local web view, and there is no multi-user access control or hosted deployment story in the quick start, which is a real gap now that most of these datasets are published for browsing rather than downloaded.
The second is the format. The tool works on h5ad files prepared in a particular way, and there is a documentation page on preparing your own data, which means the expectation is that your data is reorganised to fit the tool rather than the tool reading what you happen to have. For a dataset that arrived from a core facility in a slightly different layout, that is a preprocessing step before you can look at anything.
The third is the release rhythm, and it deserves a plain reading of the numbers. The tagged releases are 1.3.0 from September 2024, 1.2.0 from December 2023 and 1.1.2 from April 2023, while the last push to the repository was on 2026-09-29. The project is still being worked on, and the continuous integration setup with separate push test, compatibility test and code coverage workflows suggests that work is real, but there has been no package release in roughly two years, so the version you install from PyPI may be considerably behind the repository.
The comparison with a notebook is the fair one. If you are comfortable with scanpy or Seurat, the analysis you want is probably a few lines away and gives you a reproducible result. What the desktop explorer gives you instead is speed of exploration and a result you can hand to a biologist without a Python environment, and that is a different and legitimate goal.
Editorial conclusion
CELLxGENE Annotate fits a computational biologist or a bench scientist who has an h5ad file and wants to explore cell types, markers and distributions without writing a notebook first. It does not fit a team that needs a server-hosted multi-user explorer or an analysis pipeline rather than a viewer, and it does not fit a project with data outside the cellxgene format. Before adopting it, read the data requirements document, because the tool expects a particular h5ad layout, and note that the release tags stopped in 2024 while the repository is still being worked on, so check which version you are installing against the current documentation.
Frequently asked questions
What is CZ CELLxGENE Annotate?
It is an interactive explorer for single-cell datasets such as those from the Human Cell Atlas, built with modern web development techniques to visualise at least one million cells. It is a desktop application, written in Python and JavaScript, published on PyPI as cellxgene and released under the MIT licence.
How do I install and launch CELLxGENE Annotate?
You need Python 3.10 or newer and the recommendation is to install into a conda or virtual environment, then run `pip install cellxgene` and launch it with `cellxgene launch` followed by the URL of an h5ad file, with the example being a peripheral blood mononuclear cell dataset hosted by the project.
Can I reuse the CELLxGENE Annotate code in another project?
Yes. The project was started to empower the scientific community to explore their data, and the authors encourage other scientific tool builders in academia or industry to adopt the patterns, tools and code, with everything freely available for reuse under the MIT licence. The CELLxGENE trademarks themselves are not licensed and require separate permission from the Chan Zuckerberg Initiative.
Which browsers does CELLxGENE Annotate support?
Google Chrome 61 or newer, Edge 15 or newer, and Firefox 60 or newer, and the project asks for an issue to be filed if you want support for another browser. The documentation itself lives in a separate cellxgene-documentation repository rather than alongside the code.
How current is the CELLxGENE Annotate release?
The tagged releases are 1.3.0 from September 2024, 1.2.0 from December 2023 and 1.1.2 from April 2023, while the last push to the repository was on 2026-09-29. The project is still being worked on, with push test, compatibility test and code coverage workflows, but the package you install from PyPI may be behind the repository.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/chanzuckerberg-cellxgene)Was this useful?