What is my primer’s Tm?
Paste a primer sequence and the sodium concentration of your reaction. The Tm calculator gives the melting temperature by the salt-adjusted GC formula and by the Wallace rule, with the GC content and the count of each base.
- Tm, salt-adjusted (°C)
- 52.5
Your 20-base primer melts at about 52.5 °C (salt-adjusted) or 62 °C (Wallace rule).
- Tm, Wallace rule (°C)
- 62
- GC content
- 55%
- Length
- 20
- Base counts
- A 5, C 5, G 6, T 4
Tm, salt-adjusted (°C): 52.5. Your 20-base primer melts at about 52.5 °C (salt-adjusted) or 62 °C (Wallace rule).
How to calculate
Computes the melting temperature (Tm) of a DNA primer from its sequence by the Wallace rule and by the GC-content formula with a sodium correction, with the GC content and the base counts.
Example with the default inputs (Primer sequence (5′ to 3′) GACTGCATGCAGTCAGCATG, Sodium (Na⁺) concentration, mM 50): Your 20-base primer melts at about 52.5 °C (salt-adjusted) or 62 °C (Wallace rule).
Method: Wallace Tm = 2 × (A + T) + 4 × (G + C) °C; salt-adjusted Tm = 81.5 + 0.41 × %GC − 600 ÷ N + 16.6 × log10([Na⁺] in M) °C.
- The sequence is single-stranded DNA binding a perfect complement; mismatches, Mg²⁺ and dNTPs are not counted.
- The Wallace rule is a rule of thumb for primers of about 14 to 20 bases; the salt-adjusted formula suits longer primers.
- Nearest-neighbour methods, which some primer tools use, give different values.
Worked examples
Each example is checked against the calculator on every build.
- Primer sequence (5′ to 3′) ACGTTGCAATGCCGTA, Sodium (Na⁺) concentration, mM 50 gives Tm, Wallace rule (°C) 48, Tm, salt-adjusted (°C) 42.902902, GC content 50%, Length 16, Base counts A 4, C 4, G 4, T 4.Source: Biopython, Bio.SeqUtils.MeltingTemp module documentation (Tm_Wallace: Tm = 4 °C × (G + C) + 2 °C × (A + T), and Tm_Wallace(‘ACGTTGCAATGCCGTA’) = 48.0; Tm_GC: Tm = A + B × %GC − C ÷ N + salt correction, value set 7 (Primer3Plus): A = 81.5, B = 0.41, C = 600; salt correction 1: 16.6 × log10[Na⁺] (Schildkraut and Lifson 1965)), https://biopython.org/docs/latest/api/Bio.SeqUtils.MeltingTemp.html (retrieved 2026-10-03)
- Primer sequence (5′ to 3′) gact gcat gcag tcag catg, Sodium (Na⁺) concentration, mM 50 gives Tm, Wallace rule (°C) 62, Tm, salt-adjusted (°C) 52.452902, GC content 55%, Length 20.Source: Biopython, Bio.SeqUtils.MeltingTemp module documentation (Tm_Wallace: Tm = 4 °C × (G + C) + 2 °C × (A + T), and Tm_Wallace(‘ACGTTGCAATGCCGTA’) = 48.0; Tm_GC: Tm = A + B × %GC − C ÷ N + salt correction, value set 7 (Primer3Plus): A = 81.5, B = 0.41, C = 600; salt correction 1: 16.6 × log10[Na⁺] (Schildkraut and Lifson 1965)), https://biopython.org/docs/latest/api/Bio.SeqUtils.MeltingTemp.html (retrieved 2026-10-03)
- Primer sequence (5′ to 3′) GACTGCATGCAGTCAGCATG, Sodium (Na⁺) concentration, mM 100 gives Tm, salt-adjusted (°C) 57.45.Source: Biopython, Bio.SeqUtils.MeltingTemp module documentation (Tm_Wallace: Tm = 4 °C × (G + C) + 2 °C × (A + T), and Tm_Wallace(‘ACGTTGCAATGCCGTA’) = 48.0; Tm_GC: Tm = A + B × %GC − C ÷ N + salt correction, value set 7 (Primer3Plus): A = 81.5, B = 0.41, C = 600; salt correction 1: 16.6 × log10[Na⁺] (Schildkraut and Lifson 1965)), https://biopython.org/docs/latest/api/Bio.SeqUtils.MeltingTemp.html (retrieved 2026-10-03)
How it works
Spaces, line breaks and digits are taken out of the sequence, and letters are read in upper case. A, C, G and T are counted; N is the length (A + C + G + T).
- Wallace rule: Tm = 2 × (A + T) + 4 × (G + C), in °C.
- GC content: %GC = 100 × (G + C) ÷ N.
- Salt-adjusted Tm: Tm = 81.5 + 0.41 × %GC − 600 ÷ N + 16.6 × log10([Na⁺]), in °C, with [Na⁺] in mol/L (the typed mM ÷ 1,000). log10 is the base-10 logarithm.
Rules. The sequence must have only A, C, G and T after the clean-up, and 8 to 1,000 bases; otherwise there is no answer and the page says which letters or what length to fix. The sodium concentration is above 0 and at most 10,000 mM.
Output format. Both Tm values show in °C with 1 decimal; the GC content shows as a percent with 1 decimal. The base counts read A a, C c, G g, T t.
Worked examples by hand
ACGTTGCAATGCCGTA at 50 mM sodium (Biopython’s example). 16 bases: A 4, C 4, G 4, T 4. Wallace: 2 × 8 + 4 × 8 = 48 °C, the value Biopython prints. %GC = 100 × 8 ÷ 16 = 50%. Salt-adjusted: 81.5 + 0.41 × 50 − 600 ÷ 16 + 16.6 × log10(0.05) = 81.5 + 20.5 − 37.5 − 21.597 = 42.9 °C.
gact gcat gcag tcag catg at 50 mM. After the clean-up: GACTGCATGCAGTCAGCATG, 20 bases, A 5, C 5, G 6, T 4. Wallace: 2 × 9 + 4 × 11 = 62 °C. %GC = 55%. Salt-adjusted: 81.5 + 22.55 − 30 − 21.597 = 52.5 °C.
The same primer at 100 mM. log10(0.1) = −1, so 81.5 + 22.55 − 30 − 16.6 = 57.45 °C, 5 °C above the 50 mM value.
Other questions people ask
What is the Tm of a primer?
The melting temperature: the temperature at which half of the primer is bound to its complementary strand and half is free. PCR annealing temperatures are usually set a few degrees below the Tm of the primers.
What is the Wallace rule?
A quick rule: Tm = 2 °C for each A or T plus 4 °C for each G or C. G and C pair with three hydrogen bonds, A and T with two, so GC-rich primers melt hotter. Biopython documents it for primers of 14 to 20 bases.
Why are there two Tm values?
They come from two formulas. The Wallace rule only counts bases. The salt-adjusted formula, 81.5 + 0.41 × %GC − 600 ÷ N + 16.6 × log10([Na⁺]), also allows for the primer length and the salt in the buffer. It is the Primer3Plus set of constants in Biopython.
How does salt change the Tm?
Positive ions shield the negative phosphate backbones, so the strands hold together better. Each tenfold rise in sodium adds 16.6 °C to the salt-adjusted Tm: 100 mM gives 5 °C more than 50 mM.
Why does my primer design tool give a different Tm?
Many tools use nearest-neighbour methods, which look at each pair of neighbouring bases and also count Mg²⁺ and the primer concentration. Those values can differ from these formulas by several degrees. Compare primers with the same method.
What sequence can I type?
The bases A, C, G and T, in upper or lower case, 8 to 1,000 bases long. Spaces, line breaks and position numbers are ignored. Other letters, such as N or U, give a message instead of a Tm.