# What is my primer’s Tm?

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.

- Page: https://www.acalculator.org/biology/tm-calculator
- JSON spec: https://www.acalculator.org/biology/tm-calculator.json
- Version: 1e5911e32949

## Default answer

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).

## Inputs

| Key | Label | Description |
| --- | --- | --- |
| seq | Primer sequence (5′ to 3′) | The DNA bases A, C, G and T. Spaces, line breaks and position numbers are ignored. |
| na | Sodium (Na⁺) concentration, mM | The monovalent salt concentration of the reaction in millimoles per litre; 50 mM is usual for PCR. |

## Outputs

| Key | Label | Description |
| --- | --- | --- |
| salt | Tm, salt-adjusted (°C) | 81.5 + 0.41 × %GC − 600 ÷ length + 16.6 × log10(Na⁺ in mol/L). |
| wallace | Tm, Wallace rule (°C) | 2 × (A + T) + 4 × (G + C); meant for primers of 14 to 20 bases. |
| gc | GC content | G + C as a percent of all bases. |
| length | Length | The number of bases in the sequence. |
| counts | Base counts | How many of each base the sequence has. |

## 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.

## Assumptions

- 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

1. seq = ACGTTGCAATGCCGTA, na = 50 gives wallace = 48, salt = 42.902902, gc = 50%, length = 16, 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).
2. seq = gact gcat gcag tcag catg, na = 50 gives wallace = 62, salt = 52.452902, gc = 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).
3. seq = GACTGCATGCAGTCAGCATG, na = 100 gives salt = 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).

## FAQ

### 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.

## Sources

- Biopython, Bio.SeqUtils.MeltingTemp module documentation: Tm_Wallace (Tm = 4 °C × (G + C) + 2 °C × (A + T), for primers of 14 to 20 bases; example ACGTTGCAATGCCGTA gives 48.0) and Tm_GC (Tm = A + B × %GC − C ÷ N + salt correction; value set 7, the Primer3Plus default: A = 81.5, B = 0.41, C = 600; salt correction method 1: 16.6 × log10[Na⁺], Schildkraut and Lifson 1965). https://biopython.org/docs/latest/api/Bio.SeqUtils.MeltingTemp.html (retrieved 2026-10-03)
