{"id":2151,"date":"2026-01-29T23:36:54","date_gmt":"2026-01-29T21:36:54","guid":{"rendered":"https:\/\/nature-o.net\/?page_id=2151"},"modified":"2026-02-02T17:26:34","modified_gmt":"2026-02-02T15:26:34","slug":"%d0%ba%d0%b0%d0%bb%d1%8c%d0%ba%d1%83%d0%bb%d1%8f%d1%82%d0%be%d1%80-%d0%bf%d0%bb%d0%b0%d1%81%d1%82%d0%b8%d0%ba%d0%b0","status":"publish","type":"page","link":"https:\/\/nature-o.net\/?page_id=2151","title":{"rendered":"Plastic Waste Calculator"},"content":{"rendered":"\n<div class=\"eco-tool wp-block-group\" id=\"eco-tool-plastic-a4d21\">\n  <div class=\"eco-tool__header\">\n    <h2 class=\"eco-tool__title\">Plastic Waste Calculator<\/h2>\n    <p class=\"eco-tool__lead\">\n      Estimate how many common single-use plastic items your household uses and how much you could reduce with reusables. This is an approximate estimate.\n    <\/p>\n  <\/div>\n\n  <form class=\"eco-tool__form\" id=\"eco-plastic-form-a4d21\" novalidate>\n    <div class=\"eco-tool__grid3\">\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-pl-people-a4d21\">People in<br>household<\/label>\n        <input class=\"eco-tool__input\" id=\"eco-pl-people-a4d21\" type=\"number\" min=\"1\" step=\"1\" value=\"1\" inputmode=\"numeric\" \/>\n        <div class=\"eco-tool__hint\">Used for per-person estimates.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-pl-bottles-a4d21\">Plastic bottles<br>(per week)<\/label>\n        <input class=\"eco-tool__input\" id=\"eco-pl-bottles-a4d21\" type=\"number\" min=\"0\" step=\"1\" value=\"4\" inputmode=\"numeric\" \/>\n        <div class=\"eco-tool__hint\">Water, soda, etc.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-pl-bags-a4d21\">Plastic bags<br>(per week)<\/label>\n        <input class=\"eco-tool__input\" id=\"eco-pl-bags-a4d21\" type=\"number\" min=\"0\" step=\"1\" value=\"4\" inputmode=\"numeric\" \/>\n        <div class=\"eco-tool__hint\">Grocery &#038; shopping bags.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-pl-packaging-a4d21\">Food packaging items<br>(per week)<\/label>\n        <input class=\"eco-tool__input\" id=\"eco-pl-packaging-a4d21\" type=\"number\" min=\"0\" step=\"1\" value=\"10\" inputmode=\"numeric\" \/>\n        <div class=\"eco-tool__hint\">Wrappers, trays, film, etc.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-pl-cups-a4d21\">Takeaway cups<br>(per week)<\/label>\n        <input class=\"eco-tool__input\" id=\"eco-pl-cups-a4d21\" type=\"number\" min=\"0\" step=\"1\" value=\"2\" inputmode=\"numeric\" \/>\n        <div class=\"eco-tool__hint\">Coffee\/tea cups with lids.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\">Reusable choices<\/label>\n        <div class=\"eco-tool__checks\">\n          <label class=\"eco-tool__check\">\n            <input type=\"checkbox\" id=\"eco-pl-reuse-bottle-a4d21\" \/>\n            <span>I use a reusable bottle<\/span>\n          <\/label>\n          <label class=\"eco-tool__check\">\n            <input type=\"checkbox\" id=\"eco-pl-reuse-bag-a4d21\" \/>\n            <span>I use reusable shopping bags<\/span>\n          <\/label>\n        <\/div>\n        <div class=\"eco-tool__hint\">We estimate potential reductions.<\/div>\n      <\/div>\n\n     \n    <\/div>\n\n    <div class=\"eco-tool__actions\">\n      <button type=\"button\" class=\"wp-element-button eco-tool__btn\" id=\"eco-pl-calc-a4d21\">Calculate<\/button>\n      <button type=\"button\" class=\"wp-element-button eco-tool__btn eco-tool__btn--ghost\" id=\"eco-pl-reset-a4d21\">Reset<\/button>\n      <div class=\"eco-tool__error\" id=\"eco-pl-error-a4d21\" aria-live=\"polite\"><\/div>\n    <\/div>\n  <\/form>\n\n  <div class=\"eco-tool__result\" id=\"eco-pl-result-a4d21\" 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\">Items used<\/div>\n        <div class=\"eco-tool__metric-value\" id=\"eco-pl-items-week-a4d21\">\u2014<\/div>\n        <div class=\"eco-tool__metric-sub\" id=\"eco-pl-items-year-a4d21\"><\/div>\n      <\/div>\n\n      <div class=\"eco-tool__card\">\n        <div class=\"eco-tool__metric-label\">Estimated plastic mass (very rough)<\/div>\n        <div class=\"eco-tool__metric-value\" id=\"eco-pl-kg-year-a4d21\">\u2014<\/div>\n        <div class=\"eco-tool__metric-sub\" id=\"eco-pl-kg-note-a4d21\"><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"eco-tool__card eco-tool__card--wide\">\n      <div class=\"eco-tool__metric-label\">Potential reduction with reusables<\/div>\n      <div class=\"eco-tool__metric-value\" id=\"eco-pl-save-a4d21\">\u2014<\/div>\n      <div class=\"eco-tool__metric-sub eco-tool__muted\" id=\"eco-pl-top-a4d21\"><\/div>\n    <\/div>\n\n    <p class=\"eco-tool__note\">\n      Approximate estimate only. Item weights vary widely by size and material.\n    <\/p>\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 sum weekly item counts and multiply by 52 for yearly estimates. For rough plastic mass, we apply simplified average weights per item.\n      <\/p>\n      <ul class=\"eco-tool__list\" id=\"eco-pl-factors-a4d21\"><\/ul>\n    <\/div>\n  <\/details>\n<\/div>\n\n<style>\n.eco-tool{\n  border: 1px solid rgba(0,0,0,.12);\n  border-radius: 12px;\n  padding: 16px;\n}\n.eco-tool__header{ margin-bottom: 12px; }\n.eco-tool__title{ margin: 0 0 8px; }\n.eco-tool__lead{ margin: 0; opacity: .9; }\n\n.eco-tool__form{ margin-top: 12px; }\n\n\/* Symmetric grid *\/\n.eco-tool__grid3{\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 16px;\n}\n@media (min-width: 860px){\n  .eco-tool__grid3{ grid-template-columns: 1fr 1fr 1fr; }\n}\n\n.eco-tool__field{ display: flex; flex-direction: column; gap: 6px; }\n.eco-tool__label{ font-weight: 600; }\n\n.eco-tool__input{\n  width: 100%;\n  height: 44px;\n  padding: 0 12px;\n  border: 1px solid rgba(0,0,0,.20);\n  border-radius: 10px;\n  background: #fff;\n  box-sizing: border-box;\n  font: inherit;\n}\n\n.eco-tool__checks{\n  display: grid;\n  gap: 8px;\n  padding: 10px 12px;\n  border: 1px solid rgba(0,0,0,.12);\n  border-radius: 10px;\n  background: rgba(0,0,0,.02);\n}\n.eco-tool__check{\n  display: flex;\n  gap: 10px;\n  align-items: center;\n}\n\n.eco-tool__hint{\n  font-size: .92em;\n  opacity: .78;\n  min-height: 38px;\n}\n\n.eco-tool__actions{\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  align-items: center;\n  margin-top: 16px;\n}\n\n.eco-tool__btn{ padding: 10px 22px; }\n.eco-tool__btn--ghost{\n  background: transparent !important;\n  border: 1px solid rgba(0,0,0,.20) !important;\n}\n.eco-tool__btn--ghost:hover,\n.eco-tool__btn--ghost:focus{\n  background: rgba(0,0,0,.06) !important;\n  border-color: rgba(0,0,0,.35) !important;\n}\n\n.eco-tool__error{\n  min-height: 1.2em;\n  font-weight: 600;\n  flex: 1 1 240px;\n}\n\n.eco-tool__result{ margin-top: 16px; }\n.eco-tool__subtitle{ margin: 0 0 10px; }\n\n.eco-tool__cards{\n  display: grid;\n  gap: 10px;\n  grid-template-columns: 1fr;\n}\n@media (min-width: 860px){\n  .eco-tool__cards{ grid-template-columns: 1fr 1fr; }\n}\n\n.eco-tool__card{\n  border: 1px solid rgba(0,0,0,.12);\n  border-radius: 12px;\n  padding: 12px;\n}\n.eco-tool__card--wide{ margin-top: 10px; }\n\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__muted{ opacity: .8; }\n\n.eco-tool__note{ margin: 10px 0 0; opacity: .9; }\n\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\n.eco-tool__hidden{ display: none !important; }\n\n\n<\/style>\n\n<script>\n(function(){\n  const S = \"a4d21\";\n  const el = (id) => document.getElementById(id + \"-\" + S);\n\n  const peopleEl = el(\"eco-pl-people\");\n  const bottlesEl = el(\"eco-pl-bottles\");\n  const bagsEl = el(\"eco-pl-bags\");\n  const packagingEl = el(\"eco-pl-packaging\");\n  const cupsEl = el(\"eco-pl-cups\");\n\n  const reuseBottleEl = el(\"eco-pl-reuse-bottle\");\n  const reuseBagEl = el(\"eco-pl-reuse-bag\");\n\n  const calcBtn = el(\"eco-pl-calc\");\n  const resetBtn = el(\"eco-pl-reset\");\n  const errorEl = el(\"eco-pl-error\");\n\n  const resultEl = el(\"eco-pl-result\");\n  const itemsWeekEl = el(\"eco-pl-items-week\");\n  const itemsYearEl = el(\"eco-pl-items-year\");\n  const kgYearEl = el(\"eco-pl-kg-year\");\n  const kgNoteEl = el(\"eco-pl-kg-note\");\n  const saveEl = el(\"eco-pl-save\");\n  const topEl = el(\"eco-pl-top\");\n  const factorsEl = el(\"eco-pl-factors\");\n\n  \/\/ Simplified average weights (grams per item) \u2014 very rough\n  const WEIGHTS_G = {\n    bottle: 18,\n    bag: 6,\n    packaging: 5,\n    cup: 12\n  };\n\n  function setError(msg){ errorEl.textContent = msg || \"\"; }\n  function n(v){ return Number(v); }\n  function okNum(x){ return Number.isFinite(x) && x >= 0; }\n\n  function fmtInt(x){ return Math.round(x).toLocaleString(); }\n  function fmtKg(x){\n    const v = Math.round(x * 10) \/ 10;\n    return v.toLocaleString(undefined, { minimumFractionDigits: 1, maximumFractionDigits: 1 });\n  }\n\n  function fillFactors(){\n    factorsEl.innerHTML = [\n      `<li><strong>Average weights (very rough):<\/strong> bottle ${WEIGHTS_G.bottle}g, bag ${WEIGHTS_G.bag}g, packaging item ${WEIGHTS_G.packaging}g, takeaway cup+lid ${WEIGHTS_G.cup}g.<\/li>`,\n      `<li><strong>Yearly items:<\/strong> weekly total \u00d7 52.<\/li>`,\n      `<li><strong>Estimated mass:<\/strong> items \u00d7 average grams \u2192 kilograms.<\/li>`\n    ].join(\"\");\n  }\n\n  function calculate(){\n    setError(\"\");\n\n    const people = n(peopleEl.value);\n    const bottles = n(bottlesEl.value);\n    const bags = n(bagsEl.value);\n    const packaging = n(packagingEl.value);\n    const cups = n(cupsEl.value);\n\n    if (!Number.isFinite(people) || people < 1){\n      setError(\"Please enter the number of people (minimum 1).\");\n      resultEl.hidden = true;\n      return;\n    }\n    if (![bottles,bags,packaging,cups].every(okNum)){\n      setError(\"Please enter valid numbers (0 or more) for all item fields.\");\n      resultEl.hidden = true;\n      return;\n    }\n\n    const itemsWeek = bottles + bags + packaging + cups;\n    const itemsYear = itemsWeek * 52;\n\n    const gramsYear =\n      (bottles * 52 * WEIGHTS_G.bottle) +\n      (bags * 52 * WEIGHTS_G.bag) +\n      (packaging * 52 * WEIGHTS_G.packaging) +\n      (cups * 52 * WEIGHTS_G.cup);\n\n    const kgYear = gramsYear \/ 1000;\n\n    \/\/ Potential savings\n    let savedItemsWeek = 0;\n    if (reuseBottleEl.checked) savedItemsWeek += bottles;\n    if (reuseBagEl.checked) savedItemsWeek += bags;\n\n    const savedItemsYear = savedItemsWeek * 52;\n\n    \/\/ Biggest contributor\n    const parts = [\n      { label: \"Bottles\", val: bottles },\n      { label: \"Bags\", val: bags },\n      { label: \"Packaging\", val: packaging },\n      { label: \"Takeaway cups\", val: cups }\n    ].sort((a,b) => b.val - a.val);\n\n    itemsWeekEl.textContent = `${fmtInt(itemsWeek)} items\/week (household)`;\n    itemsYearEl.textContent = `${fmtInt(itemsYear)} items\/year (household)`;\n\n    kgYearEl.textContent = `${fmtKg(kgYear)} kg\/year`;\n    kgNoteEl.textContent = `Based on simplified average item weights (very rough).`;\n\n    saveEl.textContent = savedItemsWeek > 0\n      ? `${fmtInt(savedItemsWeek)} items\/week (\u2248 ${fmtInt(savedItemsYear)} items\/year)`\n      : `No reusable options selected yet`;\n\n    topEl.textContent = parts[0].val > 0\n      ? `Biggest contributor: ${parts[0].label}.`\n      : `Biggest contributor: not enough data yet (all zeros).`;\n\n    resultEl.hidden = false;\n  }\n\n  function reset(){\n    setError(\"\");\n    peopleEl.value = \"1\";\n    bottlesEl.value = \"4\";\n    bagsEl.value = \"4\";\n    packagingEl.value = \"10\";\n    cupsEl.value = \"2\";\n    reuseBottleEl.checked = false;\n    reuseBagEl.checked = false;\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>Plastic Waste Calculator Estimate how many common single-use plastic items your household uses and how much you could reduce with reusables. This is an approximate estimate. People inhousehold Used for&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":2432,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"_links":{"self":[{"href":"https:\/\/nature-o.net\/index.php?rest_route=\/wp\/v2\/pages\/2151"}],"collection":[{"href":"https:\/\/nature-o.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nature-o.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nature-o.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nature-o.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2151"}],"version-history":[{"count":3,"href":"https:\/\/nature-o.net\/index.php?rest_route=\/wp\/v2\/pages\/2151\/revisions"}],"predecessor-version":[{"id":2283,"href":"https:\/\/nature-o.net\/index.php?rest_route=\/wp\/v2\/pages\/2151\/revisions\/2283"}],"up":[{"embeddable":true,"href":"https:\/\/nature-o.net\/index.php?rest_route=\/wp\/v2\/pages\/2432"}],"wp:attachment":[{"href":"https:\/\/nature-o.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}