Primer Tm and PCR Annealing Temperature Calculator
Calculate DNA primer melting temperatures with nearest-neighbor thermodynamics and Mg²⁺/dNTP corrections. Compare a primer pair, view melting curves, and plan a gradient PCR.
This primer Tm calculator estimates the melting temperature of two DNA oligonucleotides and compares their compatibility for PCR. It combines the SantaLucia 1998 nearest-neighbor parameters with the Owczarzy mixed-salt correction, including magnesium binding by dNTPs. Students, researchers and engineers working with laboratory workflows can inspect the intermediate thermodynamics as well as the final temperatures.
Enter your primers and reaction conditions
Open each sequence picker and choose Enter own values to paste the target-binding portion of your primer in 5′→3′ order. Enter the reverse primer itself in that same direction. Both uppercase and lowercase letters are accepted, and spaces are ignored. Use A, C, G and T only. Exclude unpaired cloning tails, labels and chemical modifications. The initial sequences are illustrative oligos, not a validated primer pair for a particular target.
Set the final concentration of each primer, sodium, potassium, total Tris, total magnesium and the combined concentration of all four dNTPs. For example, 0.2 mM of each dNTP means 0.8 mM total. Free magnesium is calculated from a one-to-one Mg–dNTP binding equilibrium. Half the Tris concentration contributes to the approximate monovalent-ion total.
Choose the concentration model that matches your question. PCR primer excess treats primer concentration as effectively constant and predicts the occupancy of complementary target sites. Equal complementary strands represents a melting assay with the entered concentration of each strand; its effective concentration is one-half of that value. Self-complementary sequences receive the symmetry correction and use single-species duplex equilibrium.
Interpret the temperatures and curves
The two primer Tm values describe perfect-match duplexes. Their absolute difference is the primer-pair Tm mismatch; it does not mean that either sequence contains a mismatched base. A large gap suggests reviewing the primer design.
Enter the full amplicon length and GC fraction, using 0.50 for 50% GC. The annealing temperature calculator uses the less stable primer and a bulk product-Tm estimate in the empirical Rychlik relation. The product relation follows the 1991 corrigendum, including its 81.5 °C constant, and uses monovalent ions only. Combining that historical relation with modern primer thermodynamics provides an exploratory starting point, without reproducing the original calibration.
The melting-temperature primer curves show an ideal two-state equilibrium. Each curve reaches a bound fraction of one-half at its own Tm. The gradient block samples eight temperatures about the annealing estimate; its two rows show each primer's predicted binding. The temperature inspection control reports the same model at a temperature you choose. These are equilibrium illustrations, not fluorescence traces, amplification efficiencies or reaction-time simulations.
Verify the useful annealing range experimentally and follow the chosen enzyme's protocol. This tool does not claim accuracy for a specific polymerase. It excludes hairpin and primer-dimer competition, off-target binding, base mismatches, RNA hybrids, modified bases and additives such as DMSO or betaine.
How it is calculated
Perfect-match primer thermodynamics
Sum the ten DNA nearest-neighbor stacking contributions from SantaLucia (1998), Table 2, printed p. 1462; attached s1 p. 3. Add one terminal G/C or A/T initiation contribution at each end. A sequence equal to its reverse complement receives the −1.4 cal/(mol·K) symmetry entropy. The paper's energy units are converted with 1 cal = 4.184 J; R = 1.987 cal/(mol·K).
In primer-excess mode, , the limiting form of for scarce target (SantaLucia Eq. 3, s1 p. 1). In the equimolar mode, the entered concentration is that of each strand: . A self-complementary oligo uses its single-species concentration and the symmetry term.
Salt and dNTP corrections
The monovalent total is Na⁺ + K⁺ + Tris/2. Free Mg²⁺ comes from a 1:1 Mg–dNTP equilibrium with association constant ; the positive quadratic root is evaluated in a numerically stable form. This is the equilibrium treatment used by Biopython 1.80 salt_correction method 7, rather than simply subtracting dNTPs.
The Owczarzy 2008 decision tree uses , with concentrations expressed numerically in mol/L. Below 0.22 M⁻¹ᐟ² it uses the Owczarzy 2004 monovalent correction; between 0.22 and 6 it uses mixed-ion coefficients, and from 6 upward the magnesium coefficients. The returned correction acts on reciprocal absolute temperature: . Do not add a sodium-equivalent Mg²⁺ term on top.
Product and annealing estimate
Temperatures in these empirical relations are Celsius numbers. Rychlik et al. (1990), Eq. (iii), printed p. 6410, omitted 81.5; the 1991 corrigendum, NAR 19(3):698, restores it. This tool uses that complete equation. The product relation is monovalent-only and is not the short-oligo Mg²⁺ correction. Substituting modern salt-corrected primer Tm into the historical annealing relation is an extrapolation, not the original OLIGO/Breslauer calibration.
Binding curve
A constant-enthalpy two-state model represents the salt correction as an entropy shift. With , primer-excess target occupancy is . Equimolar or self-complementary bound-strand fraction is , from mass action. Both give 0.5 at Tm. These curves are a model illustration; no PCR kinetics, yield or fluorescence model is fitted.
Assumptions
- Unmodified, perfectly complementary DNA/DNA duplexes, with both primer sequences entered 5′→3′. No template alignment or mismatch energies are calculated.
- Strand concentrations refer to the concentration of each primer in the final reaction. In equimolar mode, an equal concentration of its complement is assumed. In PCR mode, target is assumed much less abundant than primer.
- The two sequences are treated independently. Their Tm difference is pair mismatch, not base mismatch; heterodimers, hairpins and off-target sites are not screened.
- Self-complementary oligos are treated as single-species self-duplexes. In PCR mode their output cannot be interpreted as target occupancy without accounting for dimer competition.
- Mg binds dNTPs in a 1:1 equilibrium. Other Mg-binding buffer components, pH dependence, pyrophosphate accumulation and ion-activity effects are omitted. Tris is approximated as half protonated.
- The melting-curve equations are derived here from two-state mass action. Constant formation enthalpy is retained when the empirical Tm salt correction shifts entropy. Curve shape has not been experimentally validated.
- The amplicon GC fraction is known, and the bulk product-Tm relation uses only the monovalent total.
Where it applies
Enter 10–60 A/C/G/T bases per primer and 1–5,000 nM per primer. The Owczarzy oligo data primarily cover 10–30 base pairs; longer primers are extrapolations, especially if they form secondary structure. The magnesium correction was studied from about 0.5 mM free Mg²⁺ upward; a warning flags lower free Mg²⁺ when its contribution matters. The monovalent-only branch (ion ratio below 0.22 M⁻¹ᐟ²) uses the Owczarzy 2004 correction, whose sodium calibration data span 69–1,020 mM (DOI:10.1021/bi034621r). A warning flags extrapolation below 69 mM only while that branch is active. Substituting Na⁺ + K⁺ + Tris/2 for sodium is a buffer approximation, not independent validation of arbitrary salt mixtures. The interface admits up to 10 mM total Mg²⁺ and 1–1,000 mM combined monovalent ions; these are input limits, not calibration limits or a guarantee of assay validity.
Use the bulk product relation for ordinary double-stranded amplicons (50–20,000 bp accepted). Extreme GC content and unusual salt conditions reduce its usefulness. The annealing estimate combines models from different calibrations and is a starting estimate to test in gradient PCR. No accuracy is claimed for NEB or any other polymerase, proprietary buffer, multiplex reaction or diagnostic assay.
Fractions mean target occupancy in primer-excess mode and bound-strand fraction in equimolar mode. They are not the fraction of all excess primers consumed in PCR, not amplification probability and not predictions of specificity. Actual cycler gradients need not be linear.
References
- SantaLucia J. (1998). A unified view of polymer, dumbbell, and oligonucleotide DNA nearest-neighbor thermodynamics. PNAS 95:1460–1465. DOI:10.1073/pnas.95.4.1460. https://www.dna.caltech.edu/courses/cs191/paperscs191/santalucia1998a.pdf
- Owczarzy R. et al. (2008). Predicting stability of DNA duplexes in solutions containing magnesium and monovalent cations. Biochemistry 47:5336–5353. DOI:10.1021/bi702363u.
- Owczarzy R. et al. (2004). Effects of sodium ions on DNA duplex oligomers: improved predictions of melting temperatures. Biochemistry 43:3537–3554. DOI:10.1021/bi034621r.
- Rychlik W., Spencer W.J., Rhoads R.E. (1990). Optimization of the annealing temperature for DNA amplification in vitro. NAR 18:6409–6412. DOI:10.1093/nar/18.21.6409. https://pmc.ncbi.nlm.nih.gov/articles/PMC332522/
- Rychlik et al. (1991). Corrigendum, NAR 19(3):698. Complete Eq. (iii) restores 81.5. https://academic.oup.com/nar/article-pdf/19/3/698/6276923/19-3-698-s.pdf
- Biopython 1.80 MeltingTemp documentation and implementation: independent published examples (59.78, 66.81 and 66.04 °C), salt_correction method 7, and DNA_NN3. https://biopython.org/docs/1.80/api/Bio.SeqUtils.MeltingTemp.html ; https://github.com/biopython/biopython/blob/biopython-180/Bio/SeqUtils/MeltingTemp.py
Inputs
| Input | Symbol | Unit | Default |
|---|---|---|---|
| Forward primer, 5′→3′ Open the picker, then Enter own values to paste your sequence. A/C/G/T only; no ambiguity codes, modifications or unpaired 5′ tails. | forward | Published example A | |
| Reverse primer, 5′→3′ Enter the reverse primer itself in 5′→3′ order, not its reverse complement. The starting examples are unrelated illustrative oligos. | reverse | Published example B | |
| Forward primer concentration | C_f | nmol/L | 250 |
| Reverse primer concentration | C_r | nmol/L | 250 |
| Strand concentration model PCR mode uses effective concentration Cprimer and reports target-site occupancy. Equimolar mode uses Cprimer/2 (= Ct/4) and reports fraction of strands bound. Self-complementary DNA uses its total single-species concentration. | binding_model | PCR: primer excess | |
| Sodium, Na⁺ Final reaction concentration, not the stock concentration. | Na_mM | mmol/L | 0 |
| Potassium, K⁺ Final reaction concentration, not the stock concentration. | K_mM | mmol/L | 50 |
| Total Tris The model counts half the total Tris as monovalent cation. Buffer pH and temperature alter protonation. | Tris_mM | mmol/L | 10 |
| Total magnesium, Mg²⁺ Final reaction concentration, not the stock concentration. | Mg_mM | mmol/L | 1.5 |
| Total dNTPs (all four combined) For 0.2 mM of each nucleotide, enter 0.8 mM total. | dNTP_mM | mmol/L | 0.8 |
| Amplicon length (base pairs) | N_product | 500 | |
| Amplicon GC fraction Enter 0.50 for 50% GC. Use the whole amplicon, including primer-derived ends. | GC_product | 0.5 | |
| Temperature to inspect The results show ideal equilibrium binding at this temperature. | T_probe | °C | 62 |
| Gradient width about the Rychlik estimate Eight evenly spaced model temperatures; actual thermocycler gradients may be nonlinear. | gradient_span | K | 12 |
Results
With the default inputs above, the calc gives:
| Result | Value |
|---|---|
| Forward primer Tm | 68.7 °C |
| Reverse primer Tm | 68.3 °C |
| Primer-pair Tm difference | 0.5 K |
| Product Tm (bulk estimate) | 79.7 °C |
| Annealing starting estimate (Rychlik) | 61.4 °C |
| Free Mg²⁺ after dNTP binding | 0.735 mmol/L |
| Forward bound fraction at inspection temperature | 0.999 |
| Reverse bound fraction at inspection temperature | 0.997 |
Checked against sources
Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).
Published monovalent-only example, Owczarzy branch
Source: Biopython 1.80 documentation, saltcorr=7, myseq CGTTCCAAAGATGTGGGCATGAGCTTAC, dnac1=dnac2=25 nM, Na=50 mM. Published rounded result 59.78 °C. SantaLucia Table 2 equals DNA_NN3 for perfect matches.
Inputs: Sodium, Na⁺ = 50 mmol/L; Potassium, K⁺ = 0 mmol/L; Forward primer concentration = 25 nmol/L; Strand concentration model = Equimolar strands; Total Tris = 0 mmol/L; Total magnesium, Mg²⁺ = 0 mmol/L; Total dNTPs (all four combined) = 0 mmol/L; the others as above.
| Result | Source | This calc |
|---|---|---|
| Forward primer Tm | 59.78 °C | 59.778 °C |
Published Mg²⁺ plus Tris example
Source: Biopython 1.80 published example: Tm_NN(myseq, Na=50, Tris=10, Mg=1.5, saltcorr=7), dnac1=dnac2=25 nM. The independent expected result is 66.81 °C.
Inputs: Sodium, Na⁺ = 50 mmol/L; Potassium, K⁺ = 0 mmol/L; Forward primer concentration = 25 nmol/L; Strand concentration model = Equimolar strands; Total dNTPs (all four combined) = 0 mmol/L; the others as above.
| Result | Source | This calc |
|---|---|---|
| Forward primer Tm | 66.81 °C | 66.806 °C |
Published mixed-salt example with dNTP chelation
Source: Biopython 1.80 published example: Tm_NN(myseq, Na=50, Tris=10, Mg=1.5, dNTPs=0.6, saltcorr=7), dnac1=dnac2=25 nM. Expected 66.04 °C uses equilibrium free-Mg correction, not simple total Mg minus dNTP.
Inputs: Sodium, Na⁺ = 50 mmol/L; Potassium, K⁺ = 0 mmol/L; Forward primer concentration = 25 nmol/L; Strand concentration model = Equimolar strands; Total dNTPs (all four combined) = 0.6 mmol/L; the others as above.
| Result | Source | This calc |
|---|---|---|
| Forward primer Tm | 66.04 °C | 66.037 °C |







Responses