For heating engineers

Design it properly.
Show your working.

OpenHeatLoss is built for engineers who want to understand every figure they produce — not just generate one quickly. The methodology is open, the standards are named, and the calculation chain is yours to inspect from survey input to PDF output.

MCS documentation coverage All items included
Room-by-room heat loss calculation MCS MIS 3005-D · BS EN 12831-1:2017
Regional design temperatures, traceable to source CIBSE DHDG 2026 · EN 12831-1 Annex NA
U-values named and sourced in the report RdSAP10 library · engineer-specified values
Emitter sizing at design flow temperature EN 442 · EN 1264-2:2021
System volume and minimum modulation check MCS MIS 3005-D §6
Noise assessment MCS 020
Pre-installation checklist MCS 031
MCS MIS 3005-D · April 2025
CIBSE DHDG 2026 reduced method
RdSAP10 U-value library · June 2025
Open source · AGPL v3

Good design takes
time and understanding

OpenHeatLoss isn't built to turn a heat loss survey into a two-minute job. It's built to give engineers a rigorous, transparent tool that supports careful thinking — and produces documentation that stands up because the design behind it does.

01 — Traceability

Input quality determines output quality

Every U-value used in the calculation appears in the PDF by name and source. The RdSAP10 library provides defensible defaults drawn from the same open dataset that underpins SAP assessments — not assumed values dressed up as precision. Override with manufacturer-certified figures where you have them. The audit trail is always clear.

02 — Flexibility

The standard, not the manufacturer

Emitter output is calculated from first principles — EN 442 for radiators, EN 1264-2:2021 for UFH — using the actual pipe spacing, floor construction, and flow temperature you specify. Any system, from any manufacturer, on any job. The calculation doesn't require you to find a matching product profile before it will give you a number.

03 — Transparency

Open enough to disagree with

The source code is publicly available under AGPL v3. The reference data traces to named open sources. If a figure looks wrong, you can read the calculation and find out why — or find out that it's right and understand why that surprised you. A tool you can inspect is a tool you can trust.

The full design chain,
in one project

From the initial heat loss figure through to MCS documentation — each output connected to the same underlying data, no re-entry between stages.

📄

Heat loss report

Room-by-room fabric and ventilation losses. Design and typical loads, generator load, W/K coefficient, ventilation method, minimum modulation check. All figures referenced to standard.

MCS MIS 3005-D · BS EN 12831-1
🔥

Emitter schedule

Per-room sizing at design flow temperature. Radiator model, output, status (new / retained / replace). UFH specification per EN 1264-2. Per-unit flow rates in l/h for PITRV pre-setting at commissioning.

EN 442 · EN 1264-2:2021
💧

Pipe sizing report

Circuit-by-circuit Hazen-Williams calculation across copper, MLCP, or barrier pipe. Velocity limits enforced by material, pressure drop, index circuit, pump head.

MCS MIS 3005-D

SCOP & performance estimate

Seasonal performance from EN 14511 test points and EN 14825 bin hours. Weather-compensated heating curve derived from the building's own W/K coefficient. MCS 031 performance estimate produced separately using the MCS methodology.

EN 14825:2022 · MCS 031
🔊

Noise assessment

Sound pressure level calculation for ASHP planning applications, integrated with project data so heat pump selection flows directly into the assessment.

MCS 020
📋

Quote & MCS paperwork

Materials list linked to emitter and pipe schedules. Quote builder with markup and snapshot history. MCS 031 pre-installation checklist and RECC compliance records completed within the same project.

MCS 031 · RECC

One project.
One audit trail.

The tool follows the natural sequence of a design job. Each stage draws on the same project data — no re-entering figures between heat loss, emitter sizing, and documentation.

Projects save automatically. PDFs generate when you're ready. The calculation updates live as you enter data, so you can see the effect of changes immediately rather than waiting for a final run.

01

Project setup

Address, postcode, design temperatures auto-populated by region. Climate region and Te,ref confirmed or adjusted.

02

Room-by-room survey

Elements entered with dimensions and U-values. RdSAP10 library for defaults; add certified values inline as you go.

03

Heat loss — live

Design load, typical load, and W/K coefficient update as data is entered. Ventilation warnings flagged immediately.

04

Emitter and pipe design

Radiator and UFH sizing room by room. Pipe sections entered by circuit with material and fittings. System volume calculated automatically.

05

PDF generation

Heat loss report, emitter schedule, and pipe sizing report on demand. Company name and MCS number in headers.

06

Quote and MCS paperwork

Materials list, quote builder, MCS 020, MCS 031, and RECC checklist — all within the same project.

Built in the open,
by practitioners

OpenHeatLoss was built under a working heating business — Mysa Heating — to address a straightforward problem: existing tools were opaque about their methodology in ways that made it difficult to trust, verify, or build on their outputs.

The reference data traces to named open sources: RdSAP10 (BRE/DEIS) for U-values, EN 14825:2022 Annex C for bin hours, CIBSE DHDG 2026 for the reduced method ventilation and design temperatures. Where a default is applied, it is documented. Where an assumption is made, it is stated.

The tool is free to use. The source is publicly available under AGPL v3 — which means that if you build on it and offer it as a network service, you share the derivative work under the same terms. That matters in a space where opacity has been the default.

If something in the calculation looks wrong, the code is there to read. That accountability is intentional.

  en12831Calculations.js
// CIBSE DHDG 2026 s.2.5.4.4
// Three ventilation outputs from weighted factors

const SPECIFIC_AIR = 0.34; // Wh/m³·K

// Emitter: ×2 orientation factor on leakage
// (worst-case wind direction, single room)
ventEmitter = ((leakageDesign * 2)
  + contVentDesign) * SPECIFIC_AIR;

// Generator: no orientation factor
// (not all rooms simultaneously windward)
ventGeneratorDesign = (leakageDesign
  + contVentDesign) * SPECIFIC_AIR;

// Typical: at Te,ref — modulation check
ventGeneratorTypical = (leakageTypical
  + contVentTypical) * SPECIFIC_AIR;

The tool is there
when you need it

No subscription to start. Create an account to save projects, generate PDFs, and access company features. Multi-project access — for running several client projects simultaneously — is free during the beta period.

Need multi-project access? Email to request beta access