{"id":2881,"date":"2026-04-03T22:53:05","date_gmt":"2026-04-03T20:53:05","guid":{"rendered":"https:\/\/bio-me.bio\/?page_id=2881"},"modified":"2026-04-03T22:53:33","modified_gmt":"2026-04-03T20:53:33","slug":"bike-vs-car-savings-calculator","status":"publish","type":"page","link":"https:\/\/bio-me.bio\/?page_id=2881","title":{"rendered":"Bike vs Car Savings Calculator"},"content":{"rendered":"\n<div class=\"eco-tool wp-block-group\" id=\"eco-tool-bike-l58w4\">\n  <div class=\"eco-tool__header\">\n    <h2 class=\"eco-tool__title\">Bike vs Car Savings Calculator<\/h2>\n    <p class=\"eco-tool__lead\">\n      Estimate how much CO\u2082 and fuel you could save by replacing car trips with bike trips.\n    <\/p>\n  <\/div>\n\n  <form class=\"eco-tool__form\" id=\"eco-bike-form-l58w4\" novalidate>\n    <div class=\"eco-tool__grid3\">\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"distance-l58w4\">Trip distance<br>(km)<\/label>\n        <input class=\"eco-tool__input\" id=\"distance-l58w4\" type=\"number\" min=\"1\" step=\"1\" value=\"8\" inputmode=\"numeric\" \/>\n        <div class=\"eco-tool__hint\">Average one-way distance per trip.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"trips-l58w4\">Bike trips<br>per week<\/label>\n        <input class=\"eco-tool__input\" id=\"trips-l58w4\" type=\"number\" min=\"1\" step=\"1\" value=\"5\" inputmode=\"numeric\" \/>\n        <div class=\"eco-tool__hint\">How many car trips you would replace.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"weeks-l58w4\">Weeks per<br>year<\/label>\n        <input class=\"eco-tool__input\" id=\"weeks-l58w4\" type=\"number\" min=\"1\" max=\"52\" step=\"1\" value=\"40\" inputmode=\"numeric\" \/>\n        <div class=\"eco-tool__hint\">How many weeks you expect to bike.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"car-l58w4\">Car type<\/label>\n        <select class=\"eco-tool__input\" id=\"car-l58w4\">\n          <option value=\"small\">Small car<\/option>\n          <option value=\"medium\" selected>Medium car<\/option>\n          <option value=\"large\">Large car \/ SUV<\/option>\n        <\/select>\n        <div class=\"eco-tool__hint\">Used for fuel and CO\u2082 estimates.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"fuel-l58w4\">Fuel price (per liter)<\/label>\n        <input class=\"eco-tool__input\" id=\"fuel-l58w4\" type=\"number\" min=\"0\" step=\"0.01\" value=\"1.50\" inputmode=\"decimal\" \/>\n        <div class=\"eco-tool__hint\">Enter your local fuel price.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"passengers-l58w4\">Car passengers<\/label>\n        <input class=\"eco-tool__input\" id=\"passengers-l58w4\" type=\"number\" min=\"1\" step=\"1\" value=\"1\" inputmode=\"numeric\" \/>\n        <div class=\"eco-tool__hint\">Used for per-person CO\u2082 comparison.<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"eco-tool__actions\">\n      <button type=\"button\" class=\"wp-element-button eco-tool__btn\" id=\"calc-l58w4\">Calculate<\/button>\n      <button type=\"button\" class=\"wp-element-button eco-tool__btn eco-tool__btn--ghost\" id=\"reset-l58w4\">Reset<\/button>\n      <div class=\"eco-tool__error\" id=\"error-l58w4\" aria-live=\"polite\"><\/div>\n    <\/div>\n  <\/form>\n\n  <div class=\"eco-tool__result\" id=\"result-l58w4\" hidden>\n    <h3 class=\"eco-tool__subtitle\">Result<\/h3>\n\n    <div class=\"eco-tool__cards\">\n      <div class=\"eco-tool__card\">\n        <div class=\"eco-tool__metric-label\">Estimated CO\u2082 saved<\/div>\n        <div class=\"eco-tool__metric-value\" id=\"co2-l58w4\">\u2014<\/div>\n        <div class=\"eco-tool__metric-sub\" id=\"co2sub-l58w4\"><\/div>\n      <\/div>\n\n      <div class=\"eco-tool__card\">\n        <div class=\"eco-tool__metric-label\">Estimated fuel saved<\/div>\n        <div class=\"eco-tool__metric-value\" id=\"fuelout-l58w4\">\u2014<\/div>\n        <div class=\"eco-tool__metric-sub\" id=\"cost-l58w4\"><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"eco-tool__card eco-tool__card--wide\">\n      <div class=\"eco-tool__metric-label\">Quick takeaway<\/div>\n      <div class=\"eco-tool__metric-sub\" id=\"tip-l58w4\"><\/div>\n    <\/div>\n  <\/div>\n\n  <details class=\"eco-tool__details\">\n    <summary class=\"eco-tool__summary\">How we calculate<\/summary>\n    <div class=\"eco-tool__details-body\">\n      <p class=\"eco-tool__text\">\n        We estimate yearly replaced car distance, then apply simple average fuel use and CO\u2082 factors for a typical vehicle.\n      <\/p>\n      <ul class=\"eco-tool__list\" id=\"factors-l58w4\"><\/ul>\n    <\/div>\n  <\/details>\n<\/div>\n\n<style>\n.eco-tool{border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:16px;}\n.eco-tool__header{margin-bottom:12px;}\n.eco-tool__title{margin:0 0 8px;}\n.eco-tool__lead{margin:0;opacity:.9;}\n.eco-tool__form{margin-top:12px;}\n.eco-tool__grid3{display:grid;grid-template-columns:1fr;gap:16px;}\n@media (min-width:860px){.eco-tool__grid3{grid-template-columns:1fr 1fr 1fr;}}\n.eco-tool__field{display:flex;flex-direction:column;gap:6px;}\n.eco-tool__label{font-weight:600;}\n.eco-tool__input{width:100%;height:44px;padding:0 12px;border:1px solid rgba(0,0,0,.20);border-radius:10px;background:#fff;box-sizing:border-box;font:inherit;}\n.eco-tool select.eco-tool__input{\n  appearance:none;-webkit-appearance:none;line-height:44px;padding-right:40px;\n  background-image:\n    linear-gradient(45deg, transparent 50%, rgba(0,0,0,.60) 50%),\n    linear-gradient(135deg, rgba(0,0,0,.60) 50%, transparent 50%);\n  background-position:calc(100% - 18px) 50%, calc(100% - 12px) 50%;\n  background-size:6px 6px;background-repeat:no-repeat;\n}\n.eco-tool__hint{font-size:.92em;opacity:.78;min-height:38px;}\n.eco-tool__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px;}\n.eco-tool__btn{padding:10px 22px;}\n.eco-tool__btn--ghost{background:transparent !important;border:1px solid rgba(0,0,0,.20) !important;}\n.eco-tool__btn--ghost:hover,.eco-tool__btn--ghost:focus{background:rgba(0,0,0,.06) !important;border-color:rgba(0,0,0,.35) !important;}\n.eco-tool__error{min-height:1.2em;font-weight:600;flex:1 1 240px;}\n.eco-tool__result{margin-top:16px;}\n.eco-tool__subtitle{margin:0 0 10px;}\n.eco-tool__cards{display:grid;gap:10px;grid-template-columns:1fr;}\n@media (min-width:860px){.eco-tool__cards{grid-template-columns:1fr 1fr;}}\n.eco-tool__card{border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:12px;}\n.eco-tool__card--wide{margin-top:10px;}\n.eco-tool__metric-label{opacity:.85;font-weight:600;}\n.eco-tool__metric-value{font-size:1.6em;font-weight:800;margin-top:6px;line-height:1.1;}\n.eco-tool__metric-sub{opacity:.85;margin-top:6px;}\n.eco-tool__details{margin-top:14px;}\n.eco-tool__summary{cursor:pointer;font-weight:700;}\n.eco-tool__details-body{margin-top:10px;}\n.eco-tool__text{margin:0 0 10px;}\n.eco-tool__list{margin:0;padding-left:18px;}\n<\/style>\n\n<script>\n(function(){\n  const S = \"l58w4\";\n  const el = (id) => document.getElementById(id + \"-\" + S);\n\n  const distanceEl = el(\"distance\");\n  const tripsEl = el(\"trips\");\n  const weeksEl = el(\"weeks\");\n  const carEl = el(\"car\");\n  const fuelEl = el(\"fuel\");\n  const passengersEl = el(\"passengers\");\n\n  const calcBtn = el(\"calc\");\n  const resetBtn = el(\"reset\");\n  const errorEl = el(\"error\");\n  const resultEl = el(\"result\");\n\n  const co2El = el(\"co2\");\n  const co2subEl = el(\"co2sub\");\n  const fueloutEl = el(\"fuelout\");\n  const costEl = el(\"cost\");\n  const tipEl = el(\"tip\");\n  const factorsEl = el(\"factors\");\n\n  const CARS = {\n    small: { liters_per_100km: 5.5, kg_co2_per_km: 0.13 },\n    medium: { liters_per_100km: 7.0, kg_co2_per_km: 0.17 },\n    large: { liters_per_100km: 9.5, kg_co2_per_km: 0.23 }\n  };\n\n  function setError(msg){ errorEl.textContent = msg || \"\"; }\n  function fmt(n){\n    return (Math.round(n * 10) \/ 10).toLocaleString(undefined,{minimumFractionDigits:1,maximumFractionDigits:1});\n  }\n\n  function fillFactors(){\n    factorsEl.innerHTML = [\n      `<li><strong>Small car:<\/strong> ${CARS.small.liters_per_100km.toFixed(1)} L\/100 km, ${CARS.small.kg_co2_per_km.toFixed(2)} kg CO\u2082\/km<\/li>`,\n      `<li><strong>Medium car:<\/strong> ${CARS.medium.liters_per_100km.toFixed(1)} L\/100 km, ${CARS.medium.kg_co2_per_km.toFixed(2)} kg CO\u2082\/km<\/li>`,\n      `<li><strong>Large car \/ SUV:<\/strong> ${CARS.large.liters_per_100km.toFixed(1)} L\/100 km, ${CARS.large.kg_co2_per_km.toFixed(2)} kg CO\u2082\/km<\/li>`,\n      `<li><strong>Bike:<\/strong> 0 direct fuel use and 0 direct tailpipe CO\u2082<\/li>`\n    ].join(\"\");\n  }\n\n  function calculate(){\n    setError(\"\");\n\n    const distance = Number(distanceEl.value);\n    const trips = Number(tripsEl.value);\n    const weeks = Number(weeksEl.value);\n    const fuelPrice = Number(fuelEl.value);\n    const passengers = Number(passengersEl.value);\n    const car = CARS[carEl.value];\n\n    if (!Number.isFinite(distance) || distance <= 0){\n      setError(\"Please enter a valid trip distance.\");\n      resultEl.hidden = true;\n      return;\n    }\n    if (!Number.isFinite(trips) || trips <= 0){\n      setError(\"Please enter valid trips per week.\");\n      resultEl.hidden = true;\n      return;\n    }\n    if (!Number.isFinite(weeks) || weeks <= 0 || weeks > 52){\n      setError(\"Please enter weeks from 1 to 52.\");\n      resultEl.hidden = true;\n      return;\n    }\n    if (!Number.isFinite(fuelPrice) || fuelPrice < 0){\n      setError(\"Please enter a valid fuel price.\");\n      resultEl.hidden = true;\n      return;\n    }\n    if (!Number.isFinite(passengers) || passengers < 1){\n      setError(\"Please enter at least 1 passenger.\");\n      resultEl.hidden = true;\n      return;\n    }\n\n    const annualKm = distance * trips * weeks * 2;\n    const fuelSaved = annualKm * (car.liters_per_100km \/ 100);\n    const moneySaved = fuelSaved * fuelPrice;\n    const co2Saved = annualKm * car.kg_co2_per_km;\n    const co2PerPerson = co2Saved \/ passengers;\n\n    co2El.textContent = `${fmt(co2Saved)} kg CO\u2082 \/ year`;\n    co2subEl.textContent = `${fmt(co2PerPerson)} kg CO\u2082 per person \/ year`;\n    fueloutEl.textContent = `${fmt(fuelSaved)} liters \/ year`;\n    costEl.textContent = `${fmt(moneySaved)} saved per year`;\n\n    if (co2Saved < 100){\n      tipEl.textContent = \"Even replacing a few short trips can still add up over time.\";\n    } else if (co2Saved < 300){\n      tipEl.textContent = \"Regular bike trips could make a noticeable difference to your yearly footprint.\";\n    } else {\n      tipEl.textContent = \"Replacing these car trips with biking could have a strong environmental impact.\";\n    }\n\n    resultEl.hidden = false;\n  }\n\n  function reset(){\n    setError(\"\");\n    distanceEl.value = \"8\";\n    tripsEl.value = \"5\";\n    weeksEl.value = \"40\";\n    carEl.value = \"medium\";\n    fuelEl.value = \"1.50\";\n    passengersEl.value = \"1\";\n    resultEl.hidden = true;\n  }\n\n  fillFactors();\n  calcBtn.addEventListener(\"click\", calculate);\n  resetBtn.addEventListener(\"click\", reset);\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Bike vs Car Savings Calculator Estimate how much CO\u2082 and fuel you could save by replacing car trips with bike trips. Trip distance(km) Average one-way distance per trip. Bike tripsper&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":2452,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"_links":{"self":[{"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/pages\/2881"}],"collection":[{"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bio-me.bio\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2881"}],"version-history":[{"count":2,"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/pages\/2881\/revisions"}],"predecessor-version":[{"id":2883,"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/pages\/2881\/revisions\/2883"}],"up":[{"embeddable":true,"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/pages\/2452"}],"wp:attachment":[{"href":"https:\/\/bio-me.bio\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}