Coefficient of performance calculator
A fridge that removes 400 units of heat for 100 units of work has a COP of 4; as a heat pump the same pair delivers 500 and scores 5. Use any energy unit, as long as both numbers share it. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Heat removed
- 400
- Work
- 100
- Heat delivered
- 500
- Device
- Refrigerator
- Cop
- 4
- Cop refrigerator
- 4
This coefficient of performance calculator finds the COP of a refrigerator or heat pump when you know the heat removed from the cold space and the work input in the same energy unit. For a refrigerator the defining ratio is COP_R equals heat removed divided by work, which measures how much cooling you get per unit of electrical or mechanical work. For a heat pump the calculator applies the first-law energy balance that heat delivered to the warm space equals heat removed plus work, so COP_HP equals that sum divided by work, equivalently COP_R plus one. Energies may be joules, kilowatt-hours, or any other consistent unit; the COP is dimensionless and does not depend on which unit you pick as long as both numbers share it. The engine is fully deterministic arithmetic with no network calls, no sampling, and no date-dependent shortcuts.
What coefficient of performance means and what you get
Coefficient of performance is the standard figure of merit for cooling and heating devices that move heat rather than convert heat into work. A refrigerator’s useful effect is the heat pulled from the cold box; dividing that heat by the work supplied to the compressor and fans gives COP_R equals Q_c over W.
A heat pump’s useful effect is the heat delivered to the warm space; under an ideal closed energy balance on the working fluid, Q_h equals Q_c plus W, so COP_HP equals Q_h over W, which is always one larger than the refrigerator COP for the same pair of numbers. Real machines fall short of these ratios because of friction, heat leaks, and finite temperature differences, but the energy-based definitions remain the first check in textbooks, homework, and first-order design.
Where refrigerator and heat-pump COP fits in study, design, and software
Students meet COP equals Q over W when a thermodynamics chapter introduces refrigeration cycles, when a problem gives cooling load and compressor work and asks for performance, or when a contest problem contrasts refrigerator COP with heat-engine efficiency. Teachers can pre-generate answer keys for modest energy pairs without trusting opaque calculator apps that silently invert numerator and denominator or treat zero work as a special infinity case.
Developers call the same contract from scripts to seed deterministic test vectors for HVAC demos, to normalize user-entered loads before a process sketch, or to satisfy programming-challenge statements that demand a dimensionless COP rather than a hand-waved percent. First-order engineering checks use the energy-based COP when only heat removed and work are known, before Carnot temperature limits, refrigerant charts, or multi-stage cycles are modeled.
What you can do with it
Homework and lab checks
Compute COP_R = Q_c/W or COP_HP = (Q_c+W)/W from energy pairs before grading refrigeration worksheets or HVAC labs.
Design bounds and tutoring software
Normalize user-entered heat removed and work into refrigerator and heat-pump COP for process sketches and interactive lessons.
FAQ
What does the coefficient of performance calculator cost?
It is free in your browser on this page.
How is refrigerator COP defined?
COP_R = Q_c / W, where Q_c is heat removed from the cold space and W is work input in the same energy unit. The result is dimensionless.
How is heat-pump COP defined here?
Assuming energy balance Q_h = Q_c + W, COP_HP = (Q_c + W) / W, which equals COP_R + 1 for the same inputs.
What happens if work is zero?
COP = Q/W is undefined when work is zero; the calculator never returns Infinity.
Why are results rounded to a precision?
Default precision is 10 decimal places; you can set precision from 0 to 15.
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/thermo/cop-refrigerator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"heat_removed":400,"work":100}'const res = await fetch("https://api.kit.forhosting.com/thermo/cop-refrigerator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"heat_removed": 400,
"work": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/thermo/cop-refrigerator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"heat_removed": 400,
"work": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/thermo/cop-refrigerator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"heat_removed":400,"work":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"heat_removed":400,"work":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/thermo/cop-refrigerator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"heat_removed": 400,
"work": 100
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "thermo.cop_refrigerator",
"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.
Limits
max_abs_energy | 1000000000000000 |
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
Work must be non-zero: a zero work input makes the ratio undefined and is rejected with invalid_input rather than returning infinity.
What coefficient of performance means and what the response contains
This calculator returns the normalized inputs heat_removed and work, the implied heat_delivered equals heat_removed plus work, the selected device label, the primary cop for that device, both cop_refrigerator and cop_heat_pump for comparison, the precision used, a method tag coefficient_of_performance, a short formula reminder, and a unit hint that COP is dimensionless. There is no automatic unit conversion, no refrigerant-property lookup, no Carnot temperature limit, and no Monte Carlo sampling of cycles: the engine either evaluates the closed forms inside the supported numeric range or rejects the input with invalid_input. Rejected cases include a missing heat or work field, non-finite values, magnitudes above the documented ceilings, and work equal to zero, because COP is undefined when the denominator vanishes.
How heat and work are read and how COP stays reproducible
Both must be finite numbers in one consistent energy unit. The preferred field for cooling effect is heat_removed, but aliases Q_c, Qc, Q, heat, and cooling are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. The preferred field for compressor or drive input is work, with aliases W, work_input, and work_in. A missing field fails with invalid_input and a message that names the field. When the absolute value of work is zero within a tiny epsilon, the request fails with invalid_input and an explicit message that COP equals Q over W is undefined when work is zero, so callers never receive Infinity or NaN. Optional device, with aliases mode, type, and kind, selects refrigerator (default) or heat_pump; informal synonyms such as fridge, cooling, heatpump, and heating map to those two modes. An optional precision field, with aliases decimals and dp, chooses how many decimal places to expose for the numeric outputs, defaulting to ten and capped at fifteen so JSON goldens stay stable. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline without re-implementing the COP formulas yourself.
Where refrigerator and heat-pump COP fits in study, design, and software
Product and education tools use the endpoint when a learner types cooling and work values and the UI must show both refrigerator and heat-pump figures side by side. On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the KIT tier-A catalog and lets you move from a classroom demo to an automated pipeline without changing the mathematical result. Pair it with Carnot-efficiency helpers when you need temperature-based upper bounds, and with other thermo endpoints when you are building a small lab of free, deterministic energy calculators.
Integration use cases
Deterministic test fixtures
Generate reproducible coefficients of performance for unit tests, cooling demos, and CI assertions on energy ratios.