Thermal resistance series calculator
Stack up the thermal resistance of a layered wall: 0.08 m of mineral wool at 0.04 W/(m·K) alone adds 2 m²·K/W, far more than the brick and gypsum board around it. You also get the total and the matching U-value. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Area m2
- 12
- Layer count
- 3
- Total resistance m2k w
- 2.1908888889
- Total resistance k w
- 0.1825740741
- Overall u value w m2k
- 0.456435744
A layered wall resists heat flow through every material between its warm and cold faces. This calculator turns layer thickness and thermal conductivity into resistance per unit area, adds the conductive resistances in series, and reports both the assembly total and its reciprocal U-value. Add brick, insulation, sheathing, plaster, or any other homogeneous layer using consistent SI inputs. An optional wall area also converts area-normalized resistance into absolute K/W. The calculation is deterministic, transparent, and suitable for design checks, teaching, estimating, and repeatable software workflows.
Enter each wall layer with consistent physical data
Create the layers array in the order materials occur through the wall, although changing their order does not change a pure series sum. Conductivity is normally taken from a manufacturer data sheet, a tested product declaration, or an engineering reference appropriate to the material condition. Do not enter an advertised insulation R-value in the conductivity field: conductivity and resistance are different quantities.
Convert millimetres to metres before entry, so 100 mm becomes 0.1 m. You may add a name such as Brick, Mineral wool, or Gypsum board to make the output easier to audit. All thicknesses and conductivities must be positive finite values.
A missing, zero, negative, infinite, or nonnumeric value is rejected because it cannot describe a valid homogeneous conductive layer. The calculator accepts from one through 100 layers, which is ample for ordinary building assemblies while keeping execution bounded. Supply the actual heat-transfer area only when you also need absolute thermal resistance in K/W; the assembly resistance per unit area and U-value do not depend on that area input.
Keep all values in the declared SI units rather than mixing inches, feet, or imperial conductivity data into the same request.
Understand the series calculation and returned results
The result has units of square metre-kelvin per watt and represents conductive thermal resistance per unit area. It then adds every R_layer because the same one-dimensional heat flow passes successively through all layers. A larger resistance therefore produces a smaller U-value and, for the same temperature difference, less heat transfer.
The reported formula documents exactly what was applied, with no lookup tables, hidden material assumptions, weather data, or probabilistic model. This calculation includes only layers explicitly entered. Surface film resistance, ventilated cavities, contact resistance, fasteners, framing bridges, moisture effects, and multidimensional edge losses are not silently added.
If a standard requires interior or exterior surface resistances, include those effects through an appropriate separate method rather than pretending they are homogeneous solid layers with invented conductivity.
Use the result responsibly in design and automation
Use the browser calculator for quick comparisons between candidate wall constructions, classroom examples, or a transparent check against a spreadsheet. For example, increasing insulation thickness increases its layer resistance linearly when conductivity remains constant. Be cautious when using nominal conductivity: temperature, density, aging, and moisture can change real product performance, and regulatory calculations may prescribe declared or design conductivity values.
The simple series model is appropriate for planar, homogeneous layers under one-dimensional steady conduction. It is not a substitute for a parallel-path calculation where timber or steel studs bypass insulation, a two-dimensional thermal-bridge model around balconies and corners, or a transient simulation of thermal mass. Record the source and condition of every conductivity value alongside your project results.
If you need heat flow after calculating resistance, combine the appropriate total resistance with a defined temperature difference and boundary conditions in a separate calculation.
What you can do with it
Wall option comparison
Compare masonry, insulation, sheathing, and lining combinations using the same SI resistance method.
Engineering software
Embed a deterministic layer-by-layer resistance sum in estimating or energy-analysis workflows.
Education and checking
Demonstrate why series resistances add and why U-value is the reciprocal of total area resistance.
FAQ
What formula does the calculator use?
Each layer resistance is thickness divided by thermal conductivity. The calculator adds those layer resistances in series.
Which units should I enter?
Enter thickness in metres, conductivity in W/(m·K), and optional area in m². The main total is returned in m²·K/W.
Does layer order affect the total?
No. Addition is commutative, though keeping physical wall order makes the detailed output easier to review.
Are surface films and thermal bridges included?
No. The calculator sums only the homogeneous conductive layers supplied and does not model films or parallel framing paths.
Do I need to enter the wall area?
Only if you want the absolute resistance in K/W for that wall. The resistance per square metre and the U-value do not depend on it; without an area, one square metre is assumed.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/eng/resistance-series \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"layers":[{"name":"Brick","thickness_m":0.1,"conductivity_w_mk":0.72},{"name":"Mineral wool","thickness_m":0.08,"conductivity_w_mk":0.04},{"name":"Gypsum board","thickness_m":0.013,"conductivity_w_mk":0.25}]}'const res = await fetch("https://api.kit.forhosting.com/eng/resistance-series", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"layers": [
{
"name": "Brick",
"thickness_m": 0.1,
"conductivity_w_mk": 0.72
},
{
"name": "Mineral wool",
"thickness_m": 0.08,
"conductivity_w_mk": 0.04
},
{
"name": "Gypsum board",
"thickness_m": 0.013,
"conductivity_w_mk": 0.25
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/eng/resistance-series",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"layers": [
{
"name": "Brick",
"thickness_m": 0.1,
"conductivity_w_mk": 0.72
},
{
"name": "Mineral wool",
"thickness_m": 0.08,
"conductivity_w_mk": 0.04
},
{
"name": "Gypsum board",
"thickness_m": 0.013,
"conductivity_w_mk": 0.25
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/eng/resistance-series", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"layers":[{"name":"Brick","thickness_m":0.1,"conductivity_w_mk":0.72},{"name":"Mineral wool","thickness_m":0.08,"conductivity_w_mk":0.04},{"name":"Gypsum board","thickness_m":0.013,"conductivity_w_mk":0.25}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"layers":[{"name":"Brick","thickness_m":0.1,"conductivity_w_mk":0.72},{"name":"Mineral wool","thickness_m":0.08,"conductivity_w_mk":0.04},{"name":"Gypsum board","thickness_m":0.013,"conductivity_w_mk":0.25}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/eng/resistance-series", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"layers": [
{
"name": "Brick",
"thickness_m": 0.1,
"conductivity_w_mk": 0.72
},
{
"name": "Mineral wool",
"thickness_m": 0.08,
"conductivity_w_mk": 0.04
},
{
"name": "Gypsum board",
"thickness_m": 0.013,
"conductivity_w_mk": 0.25
}
]
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "eng.resistance_series",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Enter each wall layer with consistent physical data
Every layer needs thickness_m, measured in metres, and conductivity_w_mk, measured in watts per metre-kelvin. The optional area_m2 field defaults to one square metre.
Understand the series calculation and returned results
For each material, the calculator evaluates R_layer = thickness_m / conductivity_w_mk. The response includes a normalized layers list with the source thickness, conductivity, and calculated resistance, plus layer_count for convenient validation. total_resistance_m2k_w is the principal assembly result. total_resistance_k_w divides that value by area_m2 and describes the absolute resistance of the entered wall area. overall_u_value_w_m2k is the reciprocal of the area-normalized total and expresses steady-state conductance per unit area.
Use the result responsibly in design and automation
Use the API when estimating software, energy-analysis pipelines, product configurators, or quality-control tests must apply identical arithmetic repeatedly. A successful API item costs $0.002; invalid inputs are returned as invalid_input errors so callers can correct the source values. In preliminary design, compare total_resistance_m2k_w or overall_u_value_w_m2k between alternatives while keeping boundary assumptions consistent. The deterministic response contains no network-derived facts, so updates to external product databases cannot silently change an archived result.
Technical questions
How much does the API cost?
The browser calculation is free. A successful API item uses prepaid balance at $0.002.