Conversions Energy and Heat (2024 Guide) | CalcDomain

Detailed reference converted from the original conversions-energy-and-heat.html page.

Loan Details
Taxes, Insurance & Fees (Optional)
Advanced Settings (Currency & Frequency)
# Total Payment Interest Principal Extra Balance
Displaying first 360 rows. Download CSV for full data.

How to use

Enter the loan amount, interest rate, and term. Optionally add extra principal and escrow-related costs (taxes, insurance, PMI, HOA). Results update automatically with the Calculate button or inline edits.

Methodology

The calculator uses a fixed-rate amortization model, adding extra principal per period and rolling escrow costs into a monthly-equivalent total payment.

  • “Monthly equivalent” keeps different payment frequencies comparable.
  • Escrow components convert to a monthly cadence before addition.
  • Payoff is shown as number of payments and a rough duration estimate.

Full original guide (expanded)

<!-- BODY SCRIPTS INIZIO (forniti) -->
  <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9476637732224939"
       crossorigin="anonymous"></script>
  <!-- /BODY SCRIPTS --uto px-4 lg:px-6 py-4" aria-label="Primary">
      <div class="flex justify-between items-center">
        <a href="https://calcdomain.com" class="text-2xl font-bold text-blue-600">CalcDomain</a>
        <div class="w-full max-w-md hidden md:block mx-8">
          <div class="relative">
            <input type="search" id="search-input" placeholder="Search for a calculator..." class="w-full py-2 px-4 pr-10 border border-gray-300 rounded-full focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent" autocomplete="off" />
            <svg class="w-5 h-5 absolute right-4 top-1/2 -translate-y-1/2 text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg>
            <div id="search-results" class="absolute top-full left-0 right-0 bg-white shadow-lg rounded-lg mt-2 max-h-96 overflow-y-auto z-50 hidden border border-gray-200"></div>
          </div>
        </div>
        <div class="hidden md:flex items-center space-x-6">
          <a href="https://calcdomain.com/search" class="text-gray-700 hover:text-blue-600 transition-colors">Advanced Search</a>
          <a href="https://calcdomain.com/#categories" class="text-gray-700 hover:text-blue-600 transition-colors">Categories</a>
        </div>
        <button id="mobile-menu-toggle" class="md:hidden p-2" aria-controls="mobile-menu" aria-expanded="false" aria-label="Open menu" type="button">
          <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg>
        </button>
      </div>
      <nav id="mobile-menu" class="md:hidden mt-4 hidden" aria-label="Mobile menu" role="navigation">
        <div class="mb-4">
          <div class="relative">
            <input type="search" id="mobile-search-input" placeholder="Search calculators..." class="w-full py-3 px-4 pr-10 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" />
            <svg class="w-5 h-5 absolute right-4 top-1/2 -translate-y-1/2 text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg>
          </div>
        </div>
        <div class="space-y-2">
          <a href="https://calcdomain.com/search" class="block py-2 text-gray-700 hover:text-blue-600">Advanced Search</a>
          <a href="https://calcdomain.com/#categories" class="block py-2 text-gray-700 hover:text-blue-600">Categories</a>
        </div>
      </nav>
    </nav>
  </header>

  <div class="container mx-auto px-4 py-8">
    <!-- breadcrumb -->
    <nav id="breadcrumb-container" class="text-sm mb-4 text-gray-600">
  <ol class="flex flex-wrap items-center gap-1">
    <li><a href="https://calcdomain.com" class="text-blue-600 hover:underline">Home</a></li>
    <li class="text-gray-400">/</li>
    <li><a href="https://calcdomain.com/categories/math-conversions" class="text-blue-600 hover:underline">Math &amp; Conversion Calculators</a></li>
    <li class="text-gray-400">/</li>
    <li><a href="https://calcdomain.com/subcategories/math-conversions-measurement-unit-conversions" class="text-blue-600 hover:underline">Measurement Unit Conversions: Tools &amp;</a></li>
    <li class="text-gray-400">/</li>
    <li><span class="text-gray-800">Energy &amp;amp; Heat Conversions</span></li>
  </ol>
</nav>

    <div class="flex flex-col lg:flex-row gap-8">
      <main class="w-full lg:w-2/3">
        <div class="bg-white p-6 rounded-lg shadow-md">
          <h1 class="text-3xl font-bold mb-4">Energy &amp; Heat Conversions</h1>
          <p class="text-gray-700 mb-5">
            Convert between the most common energy and heat units: joule (J), kilojoule (kJ), calorie (cal), kilocalorie (kcal), BTU (IT), watt-hour (Wh), kilowatt-hour (kWh), and therm (US). Ideal for engineering, HVAC, physics homework, cooking and energy reports.
          </p>

          <div id="error-box" class="error-box mb-4 hidden">
            <p id="error-msg" class="text-sm">Please enter a numeric energy value.</p>
          </div>

          <div class="grid grid-cols-1 md:grid-cols-3 gap-4 items-end mb-6">
            <div>
              <label for="energy-value" class="block mb-1 font-semibold">Value</label>
              <input id="energy-value" type="number" step="any" value="1000" class="w-full border border-gray-300 rounded-md px-3 py-2" />
            </div>
            <div>
              <label for="energy-from" class="block mb-1 font-semibold">From</label>
              <select id="energy-from" class="w-full border border-gray-300 rounded-md px-3 py-2"></select>
            </div>
            <div>
              <label for="energy-to" class="block mb-1 font-semibold">To</label>
              <select id="energy-to" class="w-full border border-gray-300 rounded-md px-3 py-2"></select>
            </div>
          </div>

          <div class="flex gap-3 items-center mb-4">
            <button id="convert-btn" class="bg-blue-600 hover:bg-blue-700 text-white font-semibold py-2 px-4 rounded-md" type="button">Convert</button>
            <button id="swap-btn" class="bg-gray-100 hover:bg-gray-200 text-gray-800 font-semibold py-2 px-4 rounded-md" type="button">Swap</button>
            <p id="last-conv" class="text-sm text-gray-600">1000 J → 1.0000 kJ</p>
          </div>

          <div class="mb-6 bg-gray-50 border border-gray-200 rounded-md p-4 flex items-center justify-between gap-4">
            <div>
              <p class="text-xs uppercase tracking-wide text-gray-500 mb-1">Result</p>
              <p id="energy-result" class="text-2xl font-bold">1.0000</p>
            </div>
            <button id="copy-btn" class="bg-white border border-gray-200 rounded-md text-sm text-gray-700 hover:bg-gray-100 px-3 py-1" type="button">Copy</button>
          </div>

          <h2 class="text-xl font-semibold mb-3">Reference table</h2>
          <div class="scroll-x mb-6">
            <table>
              <thead>
                <tr>
                  <th>Unit</th>
                  <th>Symbol</th>
                  <th>To joule (J)</th>
                  <th>Notes</th>
                </tr>
              </thead>
              <tbody>
                <tr><td>Joule</td><td>J</td><td>1</td><td>SI base unit</td></tr>
                <tr><td>Kilojoule</td><td>kJ</td><td>1000</td><td>1 kJ = 1000 J</td></tr>
                <tr><td>Calorie (small)</td><td>cal</td><td>4.184</td><td>Thermochemical</td></tr>
                <tr><td>Kilocalorie</td><td>kcal</td><td>4184</td><td>Food “Calorie”</td></tr>
                <tr><td>BTU (IT)</td><td>BTU</td><td>1055.05585262</td><td>HVAC, heating</td></tr>
                <tr><td>Watt-hour</td><td>Wh</td><td>3600</td><td>Power × time</td></tr>
                <tr><td>Kilowatt-hour</td><td>kWh</td><td>3,600,000</td><td>Utility bills</td></tr>
                <tr><td>Therm (US)</td><td>thm</td><td>105,480,400</td><td>Natural gas billing</td></tr>
              </tbody>
            </table>
          </div>

          <div class="prose">
            <h2>Formulas</h2>
            <div class="formula-box">
              <p><strong>General method</strong>: first convert to joules, then from joules to the target unit.</p>
              <p>\( \text{J} = \text{value} \times \text{factor\_to\_joule(from)} \)</p>
              <p>\( \text{target} = \text{J} \div \text{factor\_to\_joule(to)} \)</p>
            </div>
            <h3>Examples</h3>
            <p><strong>1)</strong> Convert 2 kWh to kJ:</p>
            <p>2 kWh × 3,600,000 J/kWh = 7,200,000 J → ÷1000 = 7200 kJ</p>
            <p><strong>2)</strong> Convert 500 cal to BTU:</p>
            <p>500 × 4.184 = 2092 J → 2092 ÷ 1055.05585262 ≈ 1.983 BTU</p>

            <h3>Energy vs heat</h3>
            <p>In thermodynamics, heat is energy in transit due to temperature difference. Here we treat them both as energy quantities and let you jump between common engineering and cooking units.</p>
          </div>

          <script>
            (function(){
              const valueEl = document.getElementById('energy-value');
              const fromEl = document.getElementById('energy-from');
              const toEl = document.getElementById('energy-to');
              const resEl = document.getElementById('energy-result');
              const lastEl = document.getElementById('last-conv');
              const errBox = document.getElementById('error-box');
              const errMsg = document.getElementById('error-msg');
              const convertBtn = document.getElementById('convert-btn');
              const swapBtn = document.getElementById('swap-btn');
              const copyBtn = document.getElementById('copy-btn');

              // factors: unit -> joules
              const units = {
                "joule (J)": 1,
                "kilojoule (kJ)": 1000,
                "calorie (cal)": 4.184,
                "kilocalorie (kcal)": 4184,
                "BTU (IT)": 1055.05585262,
                "watt-hour (Wh)": 3600,
                "kilowatt-hour (kWh)": 3600000,
                "therm (US)": 105480400
              };

              function fillSelect(sel){
                sel.innerHTML = "";
                Object.keys(units).forEach(u => {
                  const opt = document.createElement('option');
                  opt.value = u;
                  opt.textContent = u;
                  sel.appendChild(opt);
                });
              }

              function clearError(){ errBox.classList.add('hidden'); }
              function showError(m){ errMsg.textContent = m; errBox.classList.remove('hidden'); }

              fillSelect(fromEl);
              fillSelect(toEl);

              fromEl.value = "joule (J)";
              toEl.value = "kilojoule (kJ)";

              function doConvert(){
                clearError();
                const v = parseFloat(valueEl.value);
                if (isNaN(v)){
                  showError("Please enter a numeric energy value.");
                  return;
                }
                const from = fromEl.value;
                const to = toEl.value;
                const j = v * units[from];
                const out = j / units[to];
                resEl.textContent = out.toFixed(6);
                lastEl.textContent = `${v} ${from} → ${out.toFixed(6)} ${to}`;
              }

              convertBtn.addEventListener('click', doConvert);
              swapBtn.addEventListener('click', () => {
                const tmp = fromEl.value;
                fromEl.value = toEl.value;
                toEl.value = tmp;
                doConvert();
              });
              copyBtn.addEventListener('click', async () => {
                try { await navigator.clipboard.writeText(resEl.textContent); } catch(e){}
              });

              valueEl.addEventListener('input', doConvert);
              fromEl.addEventListener('change', doConvert);
              toEl.addEventListener('change', doConvert);

              // init
              doConvert();
            })();
          </script>
        </div>



            <section class="mt-10" id="author">
              <h2 class="text-xl font-semibold mb-4">About the author</h2>
              <div class="bg-gray-50 border border-gray-200 rounded-lg p-4">
                <p class="text-sm text-gray-700">
                  <a href="https://www.linkedin.com/in/ugocandido92821/" class="text-blue-600 hover:underline" target="_blank" rel="noopener">Ugo Candido</a>
                  builds financial tools and educational resources to help
                  readers make better money decisions. He focuses on practical,
                  transparent models that reflect how lenders calculate
                  payments and total cost of ownership.
                </p>
                <p class="text-sm text-gray-700 mt-3">
                  Contact: <a href="mailto:info@calcdomain.com" class="text-blue-600 hover:underline">info@calcdomain.com</a>
                </p>
              </div>
            </section>

            <section class="mt-10" id="editorial-policy">
              <h2 class="text-xl font-semibold mb-4">Editorial policy</h2>
              <div class="bg-gray-50 border border-gray-200 rounded-lg p-4">
                <p class="text-sm text-gray-700">
                  CalcDomain content is created for educational purposes and is
                  reviewed for clarity, accuracy, and transparency. We do not
                  accept paid placements that influence calculator outputs.
                  Inputs and assumptions are shown directly in the interface so
                  you can verify how results are produced.
                </p>
              </div>
            </section>

            <section class="mt-10" id="methodology">
              <h2 class="text-xl font-semibold mb-4">Methodology</h2>
              <div class="bg-gray-50 border border-gray-200 rounded-lg p-4">
                <p class="text-sm text-gray-700">
                  Results use standard formulas and the values you provide.
                  Figures are estimates and may differ from lender quotes.
                  For decisions that require professional guidance, consult a
                  licensed advisor.
                </p>
              </div>
            </section>

        
            <section class="mt-10" id="sources">
              <h2 class="text-xl font-semibold mb-4">Sources</h2>
              <div class="bg-gray-50 border border-gray-200 rounded-lg p-4">
                <ul class="list-disc list-inside text-sm text-gray-700 space-y-1">
                  <li>
                    <a href="https://www.nist.gov/pml/owm/metric-si/si-units" class="text-blue-600 hover:underline" target="_blank" rel="noopener">
                      NIST: The International System of Units (SI)
                    </a>
                  </li>
                  <li>
                    <a href="https://openstax.org/details/books/college-algebra" class="text-blue-600 hover:underline" target="_blank" rel="noopener">
                      OpenStax: College Algebra
                    </a>
                  </li>
                </ul>
              </div>
            </section>

        





<section class="bg-white p-4 rounded-lg shadow-md mt-6"><h2 class="text-lg font-semibold mb-2">Inputs used by this calculator</h2><ul class="text-sm text-gray-700 list-disc pl-5"><li>Value</li><li>From</li><li>To</li></ul></section><section class="bg-white p-4 rounded-lg shadow-md mt-6"><h2 class="text-lg font-semibold mb-2">Consistency checks</h2><p class="text-sm text-gray-700">Checks: non-negative values, plausible ranges, coherent outputs.</p></section><section class="bg-white p-4 rounded-lg shadow-md mt-6"><h2 class="text-lg font-semibold mb-2">Operational notes</h2><p class="text-sm text-gray-700">Fill in realistic values and keep units and timeframes consistent.</p><p class="text-sm text-gray-700 mt-2">Key entities: Conversions, Energy, And, Heat, Value, From, To.</p></section><section class="bg-white p-4 rounded-lg shadow-md mt-6"><h2 class="text-lg font-semibold mb-2">Inputs used by this calculator</h2><ul class="text-sm text-gray-700 list-disc pl-5"><li>Value</li><li>From</li><li>To</li></ul></section><section class="bg-white p-4 rounded-lg shadow-md mt-6"><h2 class="text-lg font-semibold mb-2">Consistency checks</h2><p class="text-sm text-gray-700">Checks: non-negative values, plausible ranges, coherent outputs.</p></section><!-- %%EEAT_STRIP%% -->
<!-- %%QUALITY_BLOCKS%% -->
<!-- %%FAQ_JSONLD%% -->
</main>

      <aside class="w-full lg:w-1/3">
        <div class="bg-white rounded-lg shadow-md p-6 mb-6">
          <h2 class="text-lg font-semibold mb-4">Related converters</h2>
          <ul class="space-y-2">
            <li><a href="https://calcdomain.com/unit-converter" class="text-blue-600 hover:underline">Universal Unit Converter</a></li>
            <li><a href="https://calcdomain.com/pressure-unit-converter" class="text-blue-600 hover:underline">Pressure Unit Converter</a></li>
            <li><a href="https://calcdomain.com/conversions-force-and-torque" class="text-blue-600 hover:underline">Force &amp; Torque</a></li>
            <li><a href="https://calcdomain.com/volume-converter" class="text-blue-600 hover:underline">Volume Converter</a></li>
            <li><a href="https://calcdomain.com/area-converter" class="text-blue-600 hover:underline">Area Converter</a></li>
          </ul>
        </div>
        <div class="bg-white rounded-lg shadow-md p-6">
          <h2 class="text-lg font-semibold mb-4">Notes</h2>
          <p class="text-gray-700 text-sm mb-2">• BTU values here use the International Table BTU (IT), common in HVAC.</p>
          <p class="text-gray-700 text-sm mb-2">• 1 kcal = 1 “Calorie” on nutrition labels.</p>
          <p class="text-gray-700 text-sm">• kWh is convenient for large energy amounts like electricity or heating bills.</p>
        </div>
      </aside>
    </div>
  </div>

  <footer class="bg-gray-900 text-white py-12">
    <div class="container mx-auto px-4">
      <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
        <div>
          <h3 class="text-2xl font-bold mb-4">CalcDomain</h3>
          <p class="text-gray-400 mb-4">Your trusted source for free online calculators. Accurate, fast, and reliable calculations for every need.</p>
        </div>
        <div>
          <h4 class="text-lg font-semibold mb-4">Categories</h4>
          <ul class="space-y-2">
            <li><a href="https://calcdomain.com/finance" class="text-gray-400 hover:text-white">Finance</a></li>
            <li><a href="https://calcdomain.com/health-fitness" class="text-gray-400 hover:text-white">Health &amp; Fitness</a></li>
            <li><a href="https://calcdomain.com/math-conversions" class="text-gray-400 hover:text-white">Math &amp; Conversions</a></li>
            <li><a href="https://calcdomain.com/lifestyle-everyday" class="text-gray-400 hover:text-white">Lifestyle &amp; Everyday</a></li>
            <li><a href="https://calcdomain.com/construction-diy" class="text-gray-400 hover:text-white">Construction &amp; DIY</a></li>
          </ul>
        </div>
        <div>
          <h4 class="text-lg font-semibold mb-4">Popular Tools</h4>
          <ul class="space-y-2">
            <li><a href="https://calcdomain.com/mortgage-payment" class="text-gray-400 hover:text-white">Mortgage Calculator</a></li>
            <li><a href="https://calcdomain.com/percentage-calculator" class="text-gray-400 hover:text-white">Percentage Calculator</a></li>
            <li><a href="https://calcdomain.com/bmi-calculator" class="text-gray-400 hover:text-white">BMI Calculator</a></li>
            <li><a href="https://calcdomain.com/auto-loan-calculator" class="text-gray-400 hover:text-white">Auto Loan Calculator</a></li>
            <li><a href="https://calcdomain.com/house-affordability" class="text-gray-400 hover:text-white">House Affordability</a></li>
          </ul>
        </div>
        <div>
          <h4 class="text-lg font-semibold mb-4">Support</h4>
          <ul class="space-y-2">
            <li><a href="https://calcdomain.com/about" class="text-gray-400 hover:text-white">About Us</a></li>
            <li><a href="https://calcdomain.com/contact" class="text-gray-400 hover:text-white">Contact</a></li>
            <li><a href="https://calcdomain.com/privacy" class="text-gray-400 hover:text-white">Privacy Policy</a></li>
            <li><a href="https://calcdomain.com/terms" class="text-gray-400 hover:text-white">Terms of Service</a></li>
            <li><a href="https://calcdomain.com/sitemap.xml" class="text-gray-400 hover:text-white">Site Map</a></li>
          </ul>
        </div>
      </div>
      <div class="border-t border-gray-800 mt-8 pt-8 text-center text-gray-400">
        <p>&copy; 2025 CalcDomain. All Rights Reserved. | Free Online Calculators for Everyone</p>
      </div>
    </div>
  </footer>

  <script src="/assets/js/mobile-menu.js"></script>
  <script src="/search.js"></script>

  <script>
    window.MathJax = {
      tex: { inlineMath: [['\\(','\\)'], ['$', '$']], displayMath: [['$','$'], ['\\[','\\]']] },
      svg: { fontCache: 'global' }
    };
  </script>
  <script>
  (function () {
    var loadMathJax = function () {
      if (window.__mathjaxLoading) return;
      window.__mathjaxLoading = true;
      var script = document.createElement("script");
      script.id = "MathJax-script";
      script.async = true;
      script.src = "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js";
      document.head.appendChild(script);
    };

    var target = document.querySelector(
      ".formula-box, .mathjax, .math, .formula, [data-mathjax]"
    );

    if (!target) return;

    if ("IntersectionObserver" in window) {
      var observer = new IntersectionObserver(
        function (entries) {
          if (entries.some(function (entry) { return entry.isIntersecting; })) {
            observer.disconnect();
            loadMathJax();
          }
        },
        { rootMargin: "200px" }
      );
      observer.observe(target);
    } else {
      window.addEventListener(
        "load",
        function () {
          setTimeout(loadMathJax, 1000);
        },
        { once: true }
      );
    }
  })();
</script>

<script async src="https://www.googletagmanager.com/gtag/js?id=G-7MB5V1LZRN"></script>
<script>
  window.__cmpLoadQueued = window.__cmpLoadQueued || [];
  window.addEventListener("load", function () {
    var loadCmp = function () {
      var s1 = document.createElement("script");
      s1.src = "https://cmp.gatekeeperconsent.com/min.js";
      s1.async = true;
      s1.setAttribute("data-cfasync", "false");
      document.head.appendChild(s1);

      var s2 = document.createElement("script");
      s2.src = "https://the.gatekeeperconsent.com/cmp.min.js";
      s2.async = true;
      s2.setAttribute("data-cfasync", "false");
      document.head.appendChild(s2);
    };

    if ("requestIdleCallback" in window) {
      requestIdleCallback(loadCmp, { timeout: 2000 });
    } else {
      setTimeout(loadCmp, 1000);
    }
  });
</script>
<script async src="//www.ezojs.com/ezoic/sa.min.js"></script>
<script>
      window.ezstandalone = window.ezstandalone || {};
      ezstandalone.cmd = ezstandalone.cmd || [];
  </script>
Formulas

Fixed-rate amortization (principal & interest):

\[M = P \cdot rac{r(1+r)^{n}}{(1+r)^{n}-1}\]
  • $P$: Principal (loan amount)
  • $r$: Periodic interest rate (annual rate / payments per year)
  • $n$: Total payments (years × payments per year)
Citations

(Original citations preserved inside the Full original guide section.)

Changelog
  • v1.0.0 — Canonical layout & calculator refactor (aligns with mortgage-payment canonical behavior).
Verified by Ugo Candido
Last Updated: 2026-01-19
Version 1.0.0