https://github.com/apple/embedding-atlas
Embedding Atlas is a tool that provides interactive visualizations for large embeddings. It allows you to visualize, cross-filter, and search embeddings and metadata.
https://github.com/apple/embedding-atlas
embedding visualization
Last synced: 7 months ago
JSON representation
Embedding Atlas is a tool that provides interactive visualizations for large embeddings. It allows you to visualize, cross-filter, and search embeddings and metadata.
- Host: GitHub
- URL: https://github.com/apple/embedding-atlas
- Owner: apple
- License: mit
- Created: 2025-05-07T00:56:44.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-06-11T20:05:25.000Z (7 months ago)
- Last Synced: 2025-06-27T23:14:34.328Z (7 months ago)
- Topics: embedding, visualization
- Language: TypeScript
- Homepage: https://apple.github.io/embedding-atlas/
- Size: 18.5 MB
- Stars: 185
- Watchers: 14
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
Awesome Lists containing this project
- AiTreasureBox - apple/embedding-atlas - 11-03_4009_0](https://img.shields.io/github/stars/apple/embedding-atlas.svg)|Embedding Atlas is a tool that provides interactive visualizations for large embeddings. It allows you to visualize, cross-filter, and search embeddings and metadata.| (Repos)
README
# Embedding Atlas
Embedding Atlas is a tool that provides interactive visualizations for large embeddings. It allows you to visualize, cross-filter, and search embeddings and metadata.
**Features**
- 🏷️ **Automatic data clustering & labeling:**
Interactively visualize and navigate overall data structure.
- 🫧 **Kernel density estimation & density contours:**
Easily explore and distinguish between dense regions of data and outliers.
- 🧊 **Order-independent transparency:**
Ensure clear, accurate rendering of overlapping points.
- 🔍 **Real-time search & nearest neighbors:**
Find similar data to a given query or existing data point.
- 🚀 **WebGPU implementation (with WebGL 2 fallback):**
Fast, smooth performance (up to few million points) with modern rendering stack.
- 📊 **Multi-coordinated views for metadata exploration:**
Interactively link and filter data across metadata columns.
Please visit for a demo and documentation.

## Get started
To use Embedding Atlas with Python:
```bash
pip install embedding-atlas
embedding-atlas
```
In addition to the command line too, Embedding Atlas is also available as a Jupyter widget:
```python
from embedding_atlas.widget import EmbeddingAtlasWidget
# Show the Embedding Atlas widget for your data frame:
EmbeddingAtlasWidget(df)
```
Finally, components from Embedding Atlas are also available in an npm package:
```bash
npm install embedding-atlas
```
```js
import { EmbeddingAtlas, EmbeddingView, Table } from "embedding-atlas";
// or with React:
import { EmbeddingAtlas, EmbeddingView, Table } from "embedding-atlas/react";
// or Svelte:
import { EmbeddingAtlas, EmbeddingView, Table } from "embedding-atlas/svelte";
```
For more information, please visit .
## BibTeX
For the Embedding Atlas tool:
```bibtex
@misc{ren2025embedding,
title={Embedding Atlas: Low-Friction, Interactive Embedding Visualization},
author={Donghao Ren and Fred Hohman and Halden Lin and Dominik Moritz},
year={2025},
eprint={2505.06386},
archivePrefix={arXiv},
primaryClass={cs.HC},
url={https://arxiv.org/abs/2505.06386},
}
```
For the algorithm that automatically produces clusters and labels in the embedding view:
```bibtex
@misc{ren2025scalable,
title={A Scalable Approach to Clustering Embedding Projections},
author={Donghao Ren and Fred Hohman and Dominik Moritz},
year={2025},
eprint={2504.07285},
archivePrefix={arXiv},
primaryClass={cs.HC},
url={https://arxiv.org/abs/2504.07285},
}
```
## Development
This repo contains multiple sub-packages:
Frontend:
- `packages/component`: The `EmbeddingView` and `EmbeddingViewMosaic` components.
- `packages/table`: The `Table` component.
- `packages/viewer`: The frontend application for visualizing embedding and other columns. It also provides the `EmbeddingAtlas` component that can be embedded in other applications.
- `packages/density-clustering`: The density clustering algorithm, written in Rust.
- `packages/umap-wasm`: An implementation of UMAP algorithm in WebAssembly (with the [umappp](https://github.com/libscran/umappp) C++ library).
- `packages/embedding-atlas`: The `embedding-atlas` package that get published. It imports all of the above and exposes their API in a single package.
Python:
- `packages/backend`: A Python package named `embedding-atlas` that provides the `embedding-atlas` command line tool.
Documentation:
- `packages/docs`: The documentation website.
For more information, please visit .
## License
This code is released under the [`MIT license`](LICENSE).