The delta delta Ct method (also called the 2^(-ΔΔCt) or Livak method) calculates relative gene expression in three subtraction steps, then converts the result into a fold change. It tells you how much more or less a gene is expressed in your treated sample compared to your control, after normalizing to a housekeeping gene. Here’s exactly how to do it.
The Three-Step Calculation
Every qPCR run gives you Ct values: the cycle number where fluorescence crosses a threshold. Lower Ct means more starting template. The delta delta Ct method uses four Ct values: your target gene and reference gene, each measured in both your treated sample and your control sample.
Step 1: Calculate ΔCt for each sample. Subtract the reference gene Ct from the target gene Ct within each sample. This normalizes for differences in how much cDNA you loaded.
- ΔCt (treated) = Ct (target gene, treated) − Ct (reference gene, treated)
- ΔCt (control) = Ct (target gene, control) − Ct (reference gene, control)
Step 2: Calculate ΔΔCt. Subtract the control’s ΔCt from the treated sample’s ΔCt.
- ΔΔCt = ΔCt (treated) − ΔCt (control)
Step 3: Calculate fold change. Raise 2 to the power of negative ΔΔCt.
- Fold change = 2^(−ΔΔCt)
The control sample always produces a fold change of 1, because its ΔΔCt equals zero and 2^0 = 1. Everything else is expressed relative to that baseline.
A Worked Example
Suppose you’re measuring a gene of interest in drug-treated cells versus untreated cells, using GAPDH as your reference gene. Your Ct values are:
- Untreated (control): target gene Ct = 25.0, GAPDH Ct = 17.0
- Drug-treated: target gene Ct = 22.0, GAPDH Ct = 17.5
Step 1: ΔCt (control) = 25.0 − 17.0 = 8.0. ΔCt (treated) = 22.0 − 17.5 = 4.5.
Step 2: ΔΔCt = 4.5 − 8.0 = −3.5.
Step 3: Fold change = 2^(−(−3.5)) = 2^3.5 = 11.3.
The target gene is expressed roughly 11-fold higher in the treated sample than in the control. If the ΔΔCt had been positive (say, +2), the fold change would be 2^(−2) = 0.25, meaning the gene is downregulated to about one-quarter of control levels.
How To Interpret Fold Change
A fold change of 1 means no difference between your sample and control. Values greater than 1 indicate upregulation: a fold change of 4 means four times more expression. Values between 0 and 1 indicate downregulation: 0.5 means expression is halved. Some researchers convert values below 1 into negative fold changes for easier graphing (0.25 becomes −4), but the raw 2^(−ΔΔCt) output is always a positive number.
The Assumption You Must Validate
The entire method assumes that every PCR cycle exactly doubles the amount of product, giving a primer efficiency of 100%. In practice, efficiencies between 80% and 110% are considered acceptable for qPCR. You should run a standard curve (serial dilutions of your template) for both your target and reference gene primers, then calculate efficiency from the slope. If both efficiencies fall in that range and are reasonably close to each other, the 2^(−ΔΔCt) method is valid.
When the efficiencies of your target and reference primers differ substantially, the simple “2” in the formula no longer holds. In that case, you need the Pfaffl method, which replaces the assumed base of 2 with the actual measured efficiency for each primer pair. The formula becomes: (E_target)^(ΔCt target) / (E_ref)^(ΔCt ref), where E is the efficiency expressed as a ratio (e.g., 1.95 for 95% efficiency). This corrects for unequal amplification rates.
Choosing a Good Reference Gene
The reference gene (also called housekeeping or internal control gene) should be expressed at a stable level across all your experimental conditions. Common choices include GAPDH, beta-actin, and EF1-alpha, but “common” does not mean “reliable.” Multiple studies have shown that GAPDH and beta-actin expression can vary significantly depending on the tissue type, treatment, or organism. A gene that works well as a control in one experiment may be regulated in another.
The safest approach is to test several candidate reference genes under your specific conditions using a stability algorithm like geNorm or NormFinder, then pick the one (or ones) with the most consistent Ct values across samples. If a single reference gene feels risky, you can normalize to the average Ct of two or three reference genes instead. Simply take the arithmetic mean of their Ct values for each sample and use that averaged Ct in place of a single reference gene Ct in your ΔCt calculation.
Handling Replicates and Error
You’ll typically run each reaction in technical triplicate. Average those three Ct values before plugging them into the formula. For biological replicates (separate samples from independent experiments), calculate ΔΔCt for each replicate individually, then report the mean fold change with a measure of spread.
Because the 2^(−ΔΔCt) transformation is exponential, error bars should be calculated in ΔΔCt space (where the data is linear), then converted. The standard approach: find the standard deviation of your ΔCt values across biological replicates. Since ΔΔCt is a difference of two ΔCt values, the combined standard deviation is the square root of (SD₁² + SD₂²), where SD₁ and SD₂ are the standard deviations of ΔCt in the treated and control groups. Then calculate upper and lower error bounds by applying 2^(−(ΔΔCt ± SD)) to get asymmetric error bars on your fold change graph. Do not simply take the standard deviation of the fold change values directly, because the exponential transformation skews the distribution.
Common Pitfalls
Ct values above 35 to 37 generally indicate very low template abundance, where noise and nonspecific amplification can dominate. Data in that range should be treated with caution, and many researchers set a cutoff around Ct 35 for reliable quantification.
Another frequent mistake is subtracting in the wrong order. The convention is target gene minus reference gene for ΔCt, and treated minus control for ΔΔCt. Reversing either subtraction flips your fold change (upregulated genes appear downregulated and vice versa). The math still works, but your biological interpretation will be backwards.
Finally, remember that fold change tells you about relative expression, not absolute quantity. A 10-fold increase in a gene that’s barely expressed may still represent very few transcripts. If absolute quantification matters, you’ll need a standard curve approach with known copy numbers instead of the delta delta Ct method.

