Free Tools › RNA-Seq Normalization Tool
Convert raw RNA-seq read counts to TPM, CPM or FPKM/RPKM. Paste a count table with gene lengths and download the normalized values.
FreeNo account neededYour data stays in your browser
| Gene | Sample_A | Sample_B | Sample_C | Sample_D |
|---|---|---|---|---|
| Gene1 | 32206.38 | 29891.46 | 31921.42 | 30878.47 |
| Gene2 | 69083.11 | 66384.92 | 60616.56 | 66177.82 |
| Gene3 | 92852.08 | 94196.07 | 85423.40 | 88033.04 |
| Gene4 | 140461.38 | 136883.59 | 137617.21 | 141569.31 |
| Gene5 | 55328.07 | 59461.61 | 50499.42 | 56593.24 |
| Gene6 | 292733.34 | 289080.62 | 283541.83 | 283456.07 |
| Gene7 | 32526.35 | 29936.85 | 28957.79 | 30712.74 |
| Gene8 | 24433.72 | 23495.01 | 21112.02 | 22086.69 |
| Gene9 | 203431.71 | 215887.25 | 242265.00 | 223660.51 |
| Gene10 | 56943.87 | 54782.62 | 58045.34 | 56832.12 |
| Library size (reads) | 4,313 | 4,854 | 4,709 | 3,937 |
CPM scales by library size; FPKM/RPKM also divides by gene length; TPM divides by length first and then scales each sample to a total of one million, so TPM totals are the same in every sample. These units suit visualisation and within-sample comparison; for differential expression, use raw counts with a dedicated method such as DESeq2.
Genes in rows, samples in columns, plus a 'length' column.
TPM, CPM or FPKM/RPKM, optionally log2(x + 1).
The normalized table as CSV.
CPM (counts per million) corrects for sequencing depth only. FPKM/RPKM also corrects for gene length, so longer genes are not over-represented.
TPM (transcripts per million) divides by gene length first and then scales each sample to one million, so the TPM values in every sample add up to the same total. For this reason TPM is often preferred over RPKM for comparing relative abundance between samples.
These units suit visualisation and within-sample comparisons. Differential expression analysis should start from raw counts with a method designed for count data.
Not directly. Tools such as DESeq2 need raw counts and apply their own normalization.