Reads Per Kilobase Million (RPKM) is a within-sample normalization metric that quantifies gene expression by dividing the number of reads mapped to a transcript by the product of the gene's length in kilobases and the total number of mapped reads in millions. This dual-correction accounts for the inherent biases that longer genes and deeper sequencing runs produce more aligned fragments, enabling meaningful comparison of expression levels between genes of disparate lengths within a single sample.
Glossary
Reads Per Kilobase Million (RPKM)

What is Reads Per Kilobase Million (RPKM)?
RPKM is a foundational normalization metric in RNA-seq analysis that corrects for both sequencing depth and gene length biases to enable accurate intra-sample comparison of transcript expression levels.
The formula is RPKM = (10^9 * R) / (L * N), where R is the number of reads mapped to the gene's exons, L is the total exon length in base pairs, and N is the total number of mapped reads. While RPKM is effective for ranking relative transcript abundance within one sample, it is not suitable for cross-sample differential expression analysis, as it fails to normalize for compositional biases in RNA populations—a limitation addressed by successor metrics like Transcripts Per Million (TPM) and Fragments Per Kilobase Million (FPKM).
RPKM vs. FPKM vs. TPM
Comparison of three within-sample normalization methods for RNA-seq expression quantification, accounting for sequencing depth and gene length biases.
| Feature | RPKM | FPKM | TPM |
|---|---|---|---|
Full Name | Reads Per Kilobase Million | Fragments Per Kilobase Million | Transcripts Per Million |
Sequencing Type | Single-end RNA-seq | Paired-end RNA-seq | Single-end or paired-end |
Unit of Measurement | Reads | Fragments (read pairs) | Transcripts |
Normalization Order | Gene length, then sequencing depth | Gene length, then sequencing depth | Gene length, then total normalized count |
Cross-Sample Comparability | |||
Sum of All Expression Values | Varies between samples | Varies between samples | Constant (1,000,000 per sample) |
Proportional Representation | Not preserved | Not preserved | Preserved |
Recommended by ENCODE (2017+) |
Frequently Asked Questions
Clear, technically precise answers to the most common questions about Reads Per Kilobase Million (RPKM), its calculation, appropriate use cases, and how it compares to alternative normalization methods like FPKM and TPM.
Reads Per Kilobase Million (RPKM) is a within-sample normalization metric for RNA-seq gene expression data that corrects for both sequencing depth and gene length biases. It is calculated by dividing the number of reads mapped to a gene by the product of the gene's length in kilobases and the total number of mapped reads in millions. The formula is: RPKM = (Number of mapped reads × 10^9) / (Gene length in bp × Total mapped reads). This dual-normalization allows for meaningful comparison of expression levels between genes of different lengths within the same sample. RPKM was first introduced in 2008 by Mortazavi et al. for mouse transcriptome analysis and became a foundational metric in the early era of short-read RNA sequencing. However, it is critical to understand that RPKM values are not directly comparable across different samples because the denominator (total mapped reads) varies between libraries, causing the proportional representation of each gene to shift when the composition of the transcriptome changes.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Understanding RPKM requires familiarity with the broader ecosystem of RNA-seq normalization methods and expression metrics. These related concepts address the statistical and biological biases that RPKM was designed to mitigate.
Fragments Per Kilobase Million (FPKM)
A paired-end analog to RPKM. While RPKM normalizes by single-end reads, FPKM normalizes by fragments, counting a concordant read pair as a single unit. This prevents the double-counting of a cDNA fragment sequenced from both ends. The calculation divides the number of mapped fragments by the transcript length in kilobases and the total mapped fragments in millions. For single-end libraries, RPKM and FPKM are mathematically equivalent.
Transcripts Per Million (TPM)
A cross-sample comparable normalization metric that addresses a critical flaw in RPKM. TPM reverses the order of operations: it first normalizes for gene length (reads per kilobase), then scales by the sum of all length-normalized values per million. This ensures the sum of all TPMs in a sample is constant (1 million), making the proportion of reads mapping to a gene directly comparable across samples. RPKM lacks this property, as its denominator varies by library size.
Counts Per Million (CPM)
The simplest library-size normalization method. CPM divides raw read counts by the total mapped reads in millions, without adjusting for gene length. It is suitable for comparisons within a single sample or when gene lengths are invariant (e.g., comparing the same gene across conditions). For differential expression analysis between genes of different lengths, CPM is biased; longer genes accumulate more reads and appear artificially overexpressed.
Trimmed Mean of M-values (TMM)
A between-sample normalization method implemented in the edgeR package. TMM calculates scaling factors based on the weighted trimmed mean of log expression ratios between samples, after excluding highly variable and lowly expressed genes. Unlike RPKM, which normalizes within a single sample, TMM is designed to make library sizes comparable across samples by accounting for compositional biases where a few highly expressed genes distort the total count distribution.
DESeq2 Median of Ratios
A robust normalization method that computes a size factor for each sample by taking the median ratio of each gene's count to its geometric mean across all samples. This approach assumes most genes are not differentially expressed and is highly resistant to outliers and high-count genes. It is a prerequisite step before the negative binomial modeling in DESeq2, providing a more statistically grounded alternative to RPKM for differential expression testing.
Effective Gene Length
A nuanced correction for the fact that RNA-seq read coverage is non-uniform across transcripts due to biases in fragmentation, priming, and GC content. Tools like RSEM and Salmon compute an effective length that accounts for the empirical distribution of mapped reads, rather than using the theoretical transcript length. RPKM's use of a static kilobase denominator ignores these technical biases, making effective-length-aware metrics like TPM from transcript-level quantifiers more accurate.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us