---
name: "samtools-index"
section: "1"
platform: "linux"
package: "samtools"
version: "1.21-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/samtools-index"
---

# samtools-index(1)

indexes SAM/BAM/CRAM files

## NAME

samtools-index - indexes SAM/BAM/CRAM files

## SYNOPSIS

**samtools index -M** \[**-bc**\] \[**-m** *INT*\] *FILE FILE* \[*FILE*...\]

**samtools index** \[**-bc**\] \[**-m** *INT*\] *aln.sam*\|*aln.bam*\|*aln.cram* \[*out.index*\]

## DESCRIPTION

Index coordinate-sorted BGZIP-compressed SAM, BAM or CRAM files for fast random access. Note for SAM this only works if the file has been BGZF compressed first. (The first synopsis with multiple input *FILE*s is only available with Samtools 1.16 or later.)

This index is needed when *region* arguments are used to limit **samtools view** and similar commands to particular regions of interest.

When only one alignment file is being indexed, the output index filename can be specified via **-o** or as shown in the second synopsis.

When no output filename is specified, for a CRAM file *aln.cram*, index file *aln.cram***.crai** will be created; for a BAM file *aln.bam*, either *aln.bam***.bai** or *aln.bam***.csi** will be created; and for a compressed SAM file *aln.sam.gz*, either *aln.sam.gz***.bai** or *aln.sam.gz***.csi** will be created, depending on the index format selected.

The BAI index format can handle individual chromosomes up to 512 Mbp (2^29 bases) in length. If your input file might contain reads mapped to positions greater than that, you will need to use a CSI index.

## OPTIONS

- **-b, --bai**

  Create a BAI index. This is currently the default when no format options are used.

- **-c, --csi**

  Create a CSI index. By default, the minimum interval size for the index is 2^14, which is the same as the fixed value used by the BAI format.

- **-m, --min-shift** *INT*

  Create a CSI index, with a minimum interval size of 2^INT.

- **-M**

  Interpret all filename arguments as alignment files to be indexed individually. (Without **-M**, filename arguments are interpreted solely as per the second synopsis.)

- **-o, --output** *FILE*

  Write the output index to *FILE*. (Currently may only be used when exactly one alignment file is being indexed.)

- **-@, --threads** *INT*

  Number of input/output compression threads to use in addition to main thread \[0\].

## AUTHOR

Written by Heng Li from the Sanger Institute.

## SEE ALSO

[*samtools*(1)](/samtools/1.md), [*samtools-idxstats*(1)](/samtools-idxstats/1.md), [*samtools-view*(1)](/samtools-view/1.md)

Samtools website: \<http://www.htslib.org/\>
