Blog
Back to Blog

What Is a Good Ct Value in qPCR? Ranges, Context, and When to Worry

A "good" Ct value is one that falls within the linear dynamic range of your assay, is reproducible across replicates (SD < 0.5 Ct), and makes biological sense for the target you're measuring. There is no single universal number. A Ct of 28 for a low-abundance transcription factor is perfectly fine; a Ct of 28 for 18S rRNA means something went wrong with your RNA or your cDNA synthesis. Context is everything.

That said, here are some rough expectations that hold across most experiments on instruments like the QuantStudio 5, CFX96, or LightCycler 480: abundant reference genes (GAPDH, ACTB, 18S) typically come in between Ct 10–20. Moderately expressed genes of interest land around Ct 20–30. Anything above Ct 35 is in the zone where you need to start questioning whether the signal is real — and past Ct 38, you're essentially reading noise in most SYBR Green assays.

What the Ct Value Actually Represents

The Ct (cycle threshold) — also called Cq (quantification cycle) per MISO guidelines — is the fractional PCR cycle at which your fluorescence signal crosses a defined threshold above background. It's inversely proportional to the log of the starting template amount: every ~3.3 Ct difference represents a 10-fold change in input (assuming 100% amplification efficiency).

This means:

This logarithmic relationship is why small Ct differences translate to meaningful biological changes, and why replicate consistency matters so much. A standard deviation of 0.5 Ct between triplicates represents roughly a 1.4-fold spread — tolerable but not ideal. Aim for SD < 0.3 Ct when you can, and definitely investigate anything above 0.5.

Expected Ct Ranges by Target Type

Here's what I typically see across mammalian cell line and tissue experiments, using 500 ng–1 µg total RNA input, standard oligo-dT or random hexamer priming, and 1:5 to 1:10 cDNA dilution into the qPCR reaction:

Highly abundant targets (Ct 8–18)

Moderately expressed targets (Ct 18–28)

Low-abundance targets (Ct 28–35)

The danger zone (Ct > 35)

No-template controls (NTCs)

When a "Normal" Ct Is Actually a Problem

Raw Ct values are only meaningful in context. Here are scenarios where a seemingly fine number should raise a flag:

Your reference gene shifted across conditions. If GAPDH is Ct 16 in your control and Ct 19 in your treatment, that 8-fold difference will distort every ΔCt calculation. This is one of the most common and underappreciated errors in qPCR experiments. Validate reference gene stability across your experimental conditions using tools like geNorm (Vandesompele et al., 2002) or NormFinder (Andersen et al., 2004). Use at least two reference genes.

Your Ct values don't match your standard curve range. If you built a standard curve from 10-fold serial dilutions covering Ct 15–30, and your unknown samples are coming in at Ct 33, you're extrapolating outside the validated range. The efficiency you calculated doesn't necessarily hold at those extremes.

Replicates are tight but the biology doesn't make sense. Three beautiful replicates at Ct 22 for a gene that should be silenced in your cell type? Check for genomic DNA amplification (run a no-reverse-transcriptase control), pseudogene amplification (common with GAPDH and ACTB primers that span a single exon), or sample mix-ups.

Your Ct values are suspiciously low. A Ct of 8–10 for a standard GOI likely means contamination with PCR product from a previous run (amplicon carryover), especially if your NTCs also show early amplification. This is the qPCR equivalent of a lab emergency — clean everything, use fresh reagents, and physically separate your pre- and post-PCR work areas.

The Math Behind "Fold Change" and Why Ct Ranges Matter for It

The ΔΔCt method (Livak and Schmittgen, 2001) assumes roughly equal amplification efficiency between your target and reference genes, and it works like this:

  1. ΔCt = Ct(target) − Ct(reference) — for each sample
  2. ΔΔCt = ΔCt(treated) − ΔCt(control)
  3. Fold change = 2^(−ΔΔCt)

This is reliable when both primer sets have efficiencies between 90–110% (slope of −3.6 to −3.1 on a log-dilution standard curve). When efficiencies differ substantially, use the Pfaffl method (Pfaffl, 2001), which incorporates the actual efficiency values:

Ratio = (E_target)^(ΔCt_target) / (E_ref)^(ΔCt_ref)

Where E is the efficiency as a factor (e.g., 1.95 for 95% efficiency) and ΔCt is the difference between control and treated for that gene.

The practical implication: if your target gene Ct values are in the 30–35 range while your reference is at Ct 15, you're spanning a huge dynamic range within a single experiment. Small pipetting errors or slight efficiency mismatches get amplified (no pun intended) across that 15–20 cycle gap. In these cases, consider using a reference gene that's closer in abundance to your target, or switch to absolute quantification with a standard curve.

Practical Guidelines for Troubleshooting Ct Values

Ct higher than expected:

Ct lower than expected:

High replicate variability (SD > 0.5 Ct):

Stop Agonizing Over the Number — Focus on the Experiment

The single biggest mistake I see is people fixating on whether a Ct of 31 is "okay" in isolation. It depends on your assay, your template, your primers, and your question. A Ct of 31 with an SD of 0.2, clean NTCs, validated primer efficiency of 97%, and a proper melt curve is a solid data point. A Ct of 22 with an SD of 1.5 and no standard curve validation is garbage.

If you want a tool that flags these issues automatically — replicate outliers, efficiency problems, reference gene instability, NTC contamination — upload your data to VoilaPCR and let it run the quality checks so you can focus on the biology.