🔬
🔬 Science & engineering

RPKM / FPKM / TPM Calculator

Results update as you type.

Your numbers

Understanding the RPKM, FPKM and TPM calculator — concept and principle

RNA-seq read counts depend on both gene length and sequencing depth: a long gene collects more reads than a short one at the same expression level, and a deeper library gives every gene more reads. RPKM (or FPKM for paired-end fragments) and TPM correct for both. This calculator converts a gene's raw read count into RPKM/FPKM and TPM so you can compare expression within and between samples.

From raw reads to RPKM and TPM500 reads on a 2 kb gene give 250 reads per kilobase. Dividing by 20 million mapped reads gives RPKM 12.5; dividing by the 8 million total RPK and multiplying by one million gives TPM 31.25.Fair counts: adjust for gene length and depthgene 2 kb · 500 reads500 reads ÷ 2 kbRPK = 250RPKM / FPKM÷ 20 M mapped reads12.5TPM÷ ΣRPK 8 M × 10⁶31.25All genes’ TPM add up to 1,000,000so TPM is a share of the sample
Both start from 250 reads per kb; RPKM = 12.5, TPM = 31.25.

How it is calculated

FPKM uses fragments (read pairs) instead of reads; the arithmetic is the same.

The principle

Both measures divide by length and by depth, but in a different order. RPKM first scales by library size, then by length. TPM first divides every gene by its length, then scales so that all genes in the sample add up to one million. Because TPM values always sum to 10⁶, a TPM is a proportion: it says how many transcripts of this gene you would find in a pool of one million transcripts. RPKM totals differ from sample to sample, which makes cross-sample proportions harder to interpret.

Worked example

  1. Inputs: 500 reads, gene length 2 kb, 20 million mapped reads, ΣRPK = 8 million.
  2. RPKM = 500 ÷ (2 × 20) = 12.5.
  3. RPK = 500 ÷ 2 = 250.
  4. TPM = 250 ÷ 8,000,000 × 1,000,000 = 31.25.
How RPKM / FPKM changes with Gene length (kb)How RPKM / FPKM changes with Gene length010203040500.511.522.534Example: 12.5Gene length (kb)
Each point is the calculator re-run with only “Gene length (kb)” changed; the gold point is the default example. Change the inputs above and this chart follows your numbers.
Gene length (kb)RPKM / FPKM
0.550
125
1.516.66666667
212.5
2.510
38.333333333
46.25

How to read the result

A TPM of 31.25 means this gene accounts for about 31 of every million transcripts in the sample, or about 0.003%. Very roughly, values below about 1 are often treated as low or not expressed, but the cut-off depends on the tissue, depth and pipeline. For differential expression between conditions, statistical tools work on raw counts with their own normalisation (for example DESeq2 or edgeR) rather than on RPKM or TPM.

Common mistakes

Keep in mind: Length should be the effective transcript length used by your quantification tool. Isoforms, 3′-tag protocols and multi-mapping reads all affect the result.

Frequently asked questions

Should I use TPM or FPKM?

For within-sample proportions and most reporting, TPM is preferred because it sums to a constant.

Can I convert FPKM to TPM?

Yes: TPMᵢ = FPKMᵢ ÷ ΣFPKM × 10⁶ within the same sample.

What is CPM?

Counts per million: reads ÷ total mapped reads × 10⁶, with no length correction.

Sources: A. Mortazavi et al., "Mapping and quantifying mammalian transcriptomes by RNA-Seq", Nature Methods 5, 621–628 (2008) · G. P. Wagner, K. Kin and V. J. Lynch, "Measurement of mRNA abundance using RNA-seq data", Theory in Biosciences 131, 281–285 (2012)

Checked 8 Nov 2026. Standard textbook formulas in SI units, computed in your browser. For learning and estimates — real designs must follow your local codes and be checked by a qualified engineer.

🔬 All science & engineering tools →🌍 Calculators by country →