PT100 / PT1000 Calculator
RTD resistance ↔ temperature per IEC 60751 (Callendar-Van Dusen).
R(T) = R0·(1 + A·T + B·T²)
A = 3.9083×10⁻³ · B = −5.775×10⁻⁷
This tool converts platinum RTD resistance to temperature and back for PT100 and PT1000 sensors, using the IEC 60751 Callendar-Van Dusen equation over 0…850 °C, and lists the resistance table both sensors follow. Reference points: 100 °C ↔ 138.5055 Ω on a PT100 and 1385.055 Ω on a PT1000; a measured 108.5 Ω ↔ 21.8189 °C.
How it works
Platinum resistance rises almost — but not exactly — linearly with temperature. IEC 60751 captures the curvature with R(T) = R0·(1 + A·T + B·T²) for T ≥ 0 °C, where A = 3.9083×10⁻³ and B = −5.775×10⁻⁷. Because that is a quadratic in T, the reverse direction has a closed-form solution via the quadratic formula — this calculator uses it directly, so resistance → temperature → resistance round-trips to within 10⁻⁵ Ω.
The negative branch of the standard (with its additional C coefficient) is intentionally not implemented; out-of-range inputs are refused with the supported range stated.
Worked example
R = 100 × (1 + 3.9083×10⁻³·100 − 5.775×10⁻⁷·100²)
= 138.5055 Ω
measured R = 108.5 Ω → T = 21.8189 °C
A PT1000 runs through the identical steps with R0 = 1000 Ω — the coefficients never change, only the scale:
R = 1000 × (1 + 3.9083×10⁻³·100 − 5.775×10⁻⁷·100²)
= 1385.055 Ω
measured R = 1200 Ω → T = 51.566 °C
PT100 / PT1000 resistance table
The rows below are the Callendar-Van Dusen equation evaluated at common temperatures — the same numbers the calculator above returns, rounded to three decimals. Because R0 is the only difference between the two sensors, the PT1000 column is exactly ten times the PT100 column at every temperature; a PT1000 therefore also changes about 3.9 Ω per °C near room temperature against a PT100's 0.39 Ω. That ratio is why 2-wire wiring hurts a PT1000 far less: one ohm of lead resistance is an error of roughly 2.6 °C on a PT100 but only 0.26 °C on a PT1000.
| Parameter | Value | Notes |
|---|---|---|
| 0 °C | 1000.000 Ω | PT100 · 100.000 Ω |
| 10 °C | 1039.025 Ω | PT100 · 103.903 Ω |
| 20 °C | 1077.935 Ω | PT100 · 107.794 Ω |
| 25 °C | 1097.347 Ω | PT100 · 109.735 Ω |
| 50 °C | 1193.971 Ω | PT100 · 119.397 Ω |
| 100 °C | 1385.055 Ω | PT100 · 138.506 Ω |
| 150 °C | 1573.251 Ω | PT100 · 157.325 Ω |
| 200 °C | 1758.560 Ω | PT100 · 175.856 Ω |
| 250 °C | 1940.981 Ω | PT100 · 194.098 Ω |
| 300 °C | 2120.515 Ω | PT100 · 212.052 Ω |
| 400 °C | 2470.920 Ω | PT100 · 247.092 Ω |
| 500 °C | 2809.775 Ω | PT100 · 280.978 Ω |
| 600 °C | 3137.080 Ω | PT100 · 313.708 Ω |
| 700 °C | 3452.835 Ω | PT100 · 345.284 Ω |
| 800 °C | 3757.040 Ω | PT100 · 375.704 Ω |
| 850 °C | 3904.811 Ω | PT100 · 390.481 Ω |
The spacing between rows narrows as temperature rises: a PT1000 gains 39.025 Ω over the first 10 °C but only 29.323 Ω between 840 and 850 °C. That shrinkage is the B·T² term, and it is what a straight-line approximation throws away — invert a pure R = R0(1 + A·T) line and a sensor actually sitting at 400 °C (2470.920 Ω) reads back as about 376 °C, some 24 °C low. Values below 0 °C are deliberately absent: that branch of IEC 60751 adds a C coefficient and is not implemented here.
Parameters
| Parameter | Value | Notes |
|---|---|---|
| Standard | IEC 60751 | Callendar-Van Dusen |
| A | 3.9083 × 10⁻³ °C⁻¹ | |
| B | −5.775 × 10⁻⁷ °C⁻² | |
| R0 | 100 Ω (PT100) / 1000 Ω (PT1000) | |
| Range | 0 … 850 °C | T < 0 branch (C term) not implemented |
Python implementation
# IEC 60751 Callendar-Van Dusen, T >= 0 °C
A, B = 3.9083e-3, -5.775e-7
def rtd_resistance(t, r0=100.0):
return r0 * (1 + A*t + B*t*t)
def rtd_temperature(r, r0=100.0):
return (-A + ((A*A - 4*B*(1 - r/r0)) ** 0.5)) / (2*B)
assert abs(rtd_resistance(100) - 138.5055) < 1e-3
assert abs(rtd_temperature(108.5) - 21.8189) < 1e-3FAQ
▸Which equation and coefficients are used?
The IEC 60751 Callendar-Van Dusen equation for T ≥ 0 °C: R(T) = R0·(1 + A·T + B·T²), with A = 3.9083×10⁻³ and B = −5.775×10⁻⁷. Temperature from resistance is the exact quadratic inverse, not a lookup-table approximation.
▸Why is the range limited to 0…850 °C?
Below 0 °C the standard adds a C-term quartic, a different equation branch that this calculator does not yet implement. Above 850 °C is outside the IEC 60751 platinum range. Inputs outside the supported range are rejected explicitly rather than silently extrapolated.
▸What is the difference between PT100 and PT1000?
Only R0, the resistance at 0 °C: 100 Ω versus 1000 Ω. The temperature coefficients are identical, so a PT1000 reads exactly ten times the resistance of a PT100 at every temperature — 1385.055 Ω instead of 138.5055 Ω at 100 °C.
▸What resistance does a PT1000 read at 25 °C?
1097.347 Ω — and a PT100 reads 109.735 Ω at the same temperature. Both come from the same equation: 1000·(1 + 3.9083×10⁻³·25 − 5.775×10⁻⁷·25²). The table on this page lists the common points from 0 to 850 °C.
▸Where do the numbers in a PT1000 resistance table come from?
They are not measured values — every published table is the Callendar-Van Dusen equation evaluated at fixed temperature steps. That is why a PT1000 table is the PT100 table times ten, and why this page computes the points instead of shipping a lookup file: the calculator above gives any temperature between the rows.
▸My meter shows 108.5 Ω on a PT100 — what temperature is that?
21.8189 °C. A handy field rule: near room temperature a PT100 changes by roughly 0.39 Ω per °C, so 108.5 Ω sits about 22 °C above the 100 Ω ice point — the exact quadratic confirms it.
▸Is my data uploaded?
No. The equation is evaluated locally in your browser.