Convert your .rds to .h5ad
Upload a Seurat .rds object and download a converted AnnData .h5ad file. Use it with Python-based tools like Scanpy, scvi-tools, Cell2Location, squidpy, and CellRank, or submit to repositories like CELLxGENE Discover. Spatial transcriptomics data (coordinates, tissue images, scale factors) is automatically preserved. No R or Python installation required.
Upload your Seurat object
Drag & drop your .rds file here
or click to browse
Max file size: 20 GB
What gets preserved
- Expression matrices (raw counts and normalized data)
- Cell metadata (
@meta.data→.obs) - Gene metadata (
@meta.features→.var) - Dimensional reductions (PCA, UMAP, tSNE →
.obsm) - Nearest-neighbor graphs →
.obsp - Default assay layers (counts, data, scale.data) →
.layers - Unstructured metadata →
.uns - Spatial coordinates (
@images→.obsm['spatial']) - Tissue images and scale factors →
.uns['spatial']
Spatial transcriptomics support
Spatial Seurat objects (Visium, Visium HD, SlideSeq) are automatically detected. Spatial coordinates, tissue images, and scale factors are extracted and stored in the AnnData format that scanpy, squidpy, and Cell2Location expect — no manual workarounds needed. Works with both legacy VisiumV1 and newer FOV-based objects.
What doesn't get preserved
- Non-default assays — only the default assay (typically RNA) is converted. Additional assays like ADT or ATAC are not included, as AnnData does not have a native multi-assay structure
- Reductions from other assays — dimensional reductions associated with a non-default assay are skipped
- Command log —
@commands(the history of Seurat functions run) is not transferred
Looking to convert in the other direction? Convert .h5ad to .rds