Cell Ranger output explained: which files matter, and which you can ignore

A file-by-file walkthrough of the 10x Cell Ranger output directory — what each one is for, which to keep, and which to send when someone asks for your data.

Updated 2026-07-31

Do this on your own data: the five numbers on the Cell Ranger summary page are enough to tell whether the run is healthy. Type them in here and get the assessment in your browser — nothing is uploaded, stored or logged: omics.hstgenomics.com/qc-self-check. What those numbers look like on a clean public dataset: omics.hstgenomics.com/sample.

Want it done rather than explained? We do analysis only — send a count matrix, an h5ad or Seurat object, Cell Ranger output or a public accession and get publication-ready results with the code that produced them, at a fixed price agreed before any work starts: omics.hstgenomics.com/quote.

Cell Ranger produces a directory that looks alarming and is mostly not needed. Four things matter. Everything else is either derived from them or is a convenience copy.

The four that matter

filtered_feature_bc_matrix/ (or the .h5 version) — the barcode-by-gene count matrix after Cell Ranger's own call of which barcodes are cells. This is what most analyses start from, and it is what to send when an analyst asks for "the data". Three files: matrix.mtx.gz, features.tsv.gz, barcodes.tsv.gz. They must travel together.

raw_feature_bc_matrix/ — every barcode, including empty droplets. Larger, and worth keeping: ambient-RNA correction (CellBender, SoupX) needs the empty droplets to estimate the background. If you only keep the filtered matrix, that correction becomes much weaker.

metrics_summary.csv — the run-level QC: estimated cells, mean reads per cell, median genes per cell, sequencing saturation, fraction of reads in cells. The first place to look when a sample behaves oddly, and the numbers a reviewer may ask for.

web_summary.html — the same metrics with plots and Cell Ranger's own warnings. Open it before any analysis. A red flag here explains most downstream weirdness.

What you can usually ignore

analysis/ holds Cell Ranger's own clustering and differential expression. It is a quick look, not a final analysis: fixed parameters, no doublet handling, no batch correction, no annotation. Nobody publishes from it. possorted_genome_bam.bam is the aligned reads — very large, needed only for variant calling, allele work or re-alignment. molecule_info.h5 matters if you plan to aggregate runs with cellranger aggr or re-estimate saturation.

Reading metrics_summary like someone who has seen a few

  • Fraction reads in cells below about 70% usually means ambient RNA — dying cells leaked into the suspension.
  • Sequencing saturation below 50% means more sequencing would still add genes; above 80% means more sequencing buys little.
  • Estimated cells far from what you loaded points at a barcode-calling problem; check the knee plot in the web summary rather than trusting the number.
  • Median genes per cell is tissue-dependent — 500 is normal for some nuclei preparations and alarming for cultured cells. Compare against your own previous runs, not a universal threshold.

What to send when someone analyses your data

The filtered_feature_bc_matrix (or h5) for every sample, the raw_feature_bc_matrix if you have it, metrics_summary.csv per sample, and a table saying which sample is which subject, condition and batch. That is a few hundred megabytes and it is enough to start immediately. Sending the BAM files instead adds days of transfer and, in most projects, changes nothing.

Need this done rather than explained?

We do analysis only — send a count matrix, an h5ad/Seurat object or a public accession and get publication-ready results with the code that produced them. Fixed price agreed before work starts.

→ Get a fixed quote  ·  See a full sample deliverable

More guides