{"id":9451,"date":"2026-09-15T09:00:00","date_gmt":"2026-09-15T09:00:00","guid":{"rendered":"https:\/\/www.simplywise.com\/blog\/?p=9451"},"modified":"2026-10-27T05:29:54","modified_gmt":"2026-10-27T05:29:54","slug":"stair-calculator","status":"publish","type":"post","link":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/","title":{"rendered":"Stair Calculator"},"content":{"rendered":"<div class=\"rv2\">\n<div class=\"rv-site-header\">\n<div class=\"rv-header-in\"><a class=\"rv-brand\" href=\"https:\/\/www.simplywise.com\/\" aria-label=\"SimplyWise home\"><span class=\"rv-bgi\" role=\"img\" aria-label=\"SimplyWise\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/brand\/wordmark-navy.svg');aspect-ratio:546\/87\"><\/span><\/a><\/p>\n<nav class=\"rv-top-nav\" aria-label=\"Apps\">\n<ul>\n<li><a class=\"rv-tn\" href=\"https:\/\/www.simplywise.com\/#ch-estimates\"><span class=\"rv-bgi rv-tn-ic\" aria-hidden=\"true\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/icons\/cost-estimator.svg');aspect-ratio:64\/64\"><\/span><span class=\"rv-tn-name\">Estimates<\/span><\/a><\/li>\n<li><a class=\"rv-tn\" href=\"https:\/\/www.simplywise.com\/#ch-receipts\"><span class=\"rv-bgi rv-tn-ic\" aria-hidden=\"true\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/icons\/receipt-scanner.svg');aspect-ratio:64\/64\"><\/span><span class=\"rv-tn-name\">Receipts<\/span><\/a><\/li>\n<li><a class=\"rv-tn\" href=\"https:\/\/www.simplywise.com\/#ch-mileage\"><span class=\"rv-bgi rv-tn-ic\" aria-hidden=\"true\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/icons\/mileage-tracker.svg');aspect-ratio:64\/64\"><\/span><span class=\"rv-tn-name\">Mileage<\/span><\/a><\/li>\n<li><a class=\"rv-tn\" href=\"https:\/\/www.simplywise.com\/#ch-rooms\"><span class=\"rv-bgi rv-tn-ic\" aria-hidden=\"true\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/icons\/room-scanner.svg');aspect-ratio:64\/64\"><\/span><span class=\"rv-tn-name\">Room scans<\/span><\/a><\/li>\n<li><a class=\"rv-tn\" href=\"https:\/\/www.simplywise.com\/#ch-visualizer\"><span class=\"rv-bgi rv-tn-ic\" aria-hidden=\"true\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/icons\/visualizer.svg');aspect-ratio:64\/64\"><\/span><span class=\"rv-tn-name\">Visualizer<\/span><\/a><\/li>\n<\/ul>\n<\/nav>\n<p><a class=\"rv-login\" href=\"https:\/\/simplywise.com\/login\">Log in<\/a><\/div>\n<nav class=\"rv-appbar\" aria-label=\"Apps\">\n<ul>\n<li><a class=\"rv-ab\" href=\"https:\/\/www.simplywise.com\/#ch-estimates\"><span class=\"rv-bgi rv-ab-ic\" aria-hidden=\"true\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/icons\/cost-estimator.svg');aspect-ratio:64\/64\"><\/span><span class=\"rv-ab-name\">Estimates<\/span><\/a><\/li>\n<li><a class=\"rv-ab\" href=\"https:\/\/www.simplywise.com\/#ch-receipts\"><span class=\"rv-bgi rv-ab-ic\" aria-hidden=\"true\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/icons\/receipt-scanner.svg');aspect-ratio:64\/64\"><\/span><span class=\"rv-ab-name\">Receipts<\/span><\/a><\/li>\n<li><a class=\"rv-ab\" href=\"https:\/\/www.simplywise.com\/#ch-mileage\"><span class=\"rv-bgi rv-ab-ic\" aria-hidden=\"true\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/icons\/mileage-tracker.svg');aspect-ratio:64\/64\"><\/span><span class=\"rv-ab-name\">Mileage<\/span><\/a><\/li>\n<li><a class=\"rv-ab\" href=\"https:\/\/www.simplywise.com\/#ch-rooms\"><span class=\"rv-bgi rv-ab-ic\" aria-hidden=\"true\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/icons\/room-scanner.svg');aspect-ratio:64\/64\"><\/span><span class=\"rv-ab-name\">Room scans<\/span><\/a><\/li>\n<li><a class=\"rv-ab\" href=\"https:\/\/www.simplywise.com\/#ch-visualizer\"><span class=\"rv-bgi rv-ab-ic\" aria-hidden=\"true\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/icons\/visualizer.svg');aspect-ratio:64\/64\"><\/span><span class=\"rv-ab-name\">Visualizer<\/span><\/a><\/li>\n<\/ul>\n<\/nav>\n<\/div>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800&#038;display=swap\" rel=\"stylesheet\">\n<style id=\"pm-style\">.single-post .entry-header,.single-post .entry-meta,.single-post .page-header,.single-post article>h1:first-child{display:none !important;}.single-post .post-tags,.single-post .entry-footer,.single-post .breadcrumb-nav{display:none !important;}.single-post article.post .entry-content{padding-top:0 !important;margin-top:0 !important;max-width:100% !important;width:100% !important;}.single-post .content-area,.single-post #primary,.single-post .site-main{padding:0 !important;max-width:100% !important;width:100% !important;}.single-post .row--index>.col-xs-12{padding-left:0 !important;padding-right:0 !important;}.single-post .row.no-pad>[class*=\"col-\"]{width:100% !important;max-width:100% !important;flex:0 0 100% !important;margin-left:0 !important;padding-left:0 !important;padding-right:0 !important;}.single-post article.post,.single-post article.pm{max-width:100% !important;width:100% !important;margin:0 !important;padding:0 !important;float:none !important;flex:0 0 100% !important;}.single-post .container,.single-post .container-fluid{max-width:100% !important;width:100% !important;padding-left:0 !important;padding-right:0 !important;}.single-post .row--index,.single-post .row.no-pad,.single-post .site-content{max-width:100% !important;width:100% !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;}.pm *{box-sizing:border-box;}.pm{margin:0;background:#f8fafc;color:#3f3f46;font-family:'Inter',-apple-system,'Segoe UI',sans-serif;font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased;max-width:100%;width:100%;}.pm__inner{max-width:720px;margin:0 auto;padding:0 24px;}.pm a{color:#2563eb;text-decoration:none;font-weight:500;}.pm h1,.pm h2,.pm h3{color:#111827;font-weight:700;letter-spacing:-.025em;}.pm strong{color:#111827;font-weight:700;}.pm__hero{padding:72px 0 12px;text-align:center;background:#fff;border-bottom:1px solid #eef1f5;}.pm__crumb{font:500 13px Inter;color:#9ca3af;margin-bottom:20px;}.pm__eyebrow{display:inline-flex;align-items:center;gap:7px;font:600 12px Inter;letter-spacing:.05em;color:#2563eb;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 2px rgba(16,24,40,.04);padding:6px 13px;border-radius:999px;}.pm__eyebrow::before{content:\"\";width:6px;height:6px;border-radius:50%;background:#2563eb;}.pm__hero h1{font-size:45px;line-height:1.12;margin:22px auto 16px;max-width:660px;letter-spacing:-.03em;}.pm__rating{display:flex;justify-content:center;align-items:center;gap:8px;margin:4px 0 18px;font:600 13.5px Inter;color:#4b5563;}.pm__stars{color:#f59e0b;letter-spacing:2px;font-size:15px;}.pm__rating-sub{color:#9ca3af;font-weight:500;}.pm__dek{font-size:19px;line-height:1.55;color:#6b7280;max-width:600px;margin:0 auto 12px;}.pm__hero-cta{display:flex;flex-direction:column;align-items:center;gap:9px;margin:0 auto 22px;}.pm__hero-cta-note{font-size:13px;line-height:1.5;color:#6b7280;}.pm__dek-cta{font-size:15px;line-height:1.5;color:#6b7280;max-width:600px;margin:0 auto 22px;}.pm__dek-cta a{color:#2563eb;font-weight:600;text-decoration:none;border-bottom:1.5px solid rgba(37,99,235,.35);padding-bottom:1px;}.pm__dek-cta a:hover{border-bottom-color:#2563eb;}.pm__meta{display:inline-flex;gap:11px;align-items:center;color:#9ca3af;font:500 13px Inter;}.pm__meta i{width:3px;height:3px;border-radius:50%;background:#d1d5db;}.pm__fig{margin:40px auto 0;max-width:940px;padding:0 24px;}.pm__fig img{width:100%;height:auto;border-radius:16px;aspect-ratio:2\/1;object-fit:cover;box-shadow:0 8px 30px rgba(16,24,40,.10);display:block;}.pm__body{padding:44px 0 60px;}.pm h2{font-size:30px;line-height:1.18;margin:50px 0 16px;}.pm h3{font-size:20px;margin:28px 0 8px;}.pm p{margin:0 0 20px;}.pm ul,.pm ol{margin:0 0 20px;padding-left:24px;}.pm li{margin-bottom:8px;}.pm__tldr{background:#fff;border:1px solid #eceef1;border-radius:16px;box-shadow:0 2px 12px rgba(16,24,40,.05);padding:26px 30px;margin:0 0 20px;}.pm__tldr-label{display:inline-flex;align-items:center;gap:8px;font:700 11.5px Inter;letter-spacing:.1em;text-transform:uppercase;color:#2563eb;margin-bottom:12px;}.pm__tldr ol{margin:0;padding-left:20px;color:#4b5563;font-size:15.5px;line-height:1.6;}.pm__tldr li{margin-bottom:7px;}.pm__tldr-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #dbe6ff;padding-top:16px;margin-top:14px;font-size:14.5px;}.pm__tldr-cta span{color:#111827;font-weight:500;}.pm__tldr-cta a{display:inline-flex;align-items:center;white-space:nowrap;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;background:#2563eb;color:#fff;text-decoration:none;}.pm ol.pm__steps{list-style:none;counter-reset:s;padding:0;margin:20px 0 32px;display:grid;gap:10px;}.pm__steps>li{counter-increment:s;position:relative;background:#fff;border:1px solid #eceef1;border-radius:12px;padding:18px 22px 18px 66px;box-shadow:0 1px 2px rgba(16,24,40,.04);}.pm__steps>li::before{content:counter(s);position:absolute;left:18px;top:18px;width:34px;height:34px;background:#eff4ff;color:#2563eb;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;}.pm__steps h3{margin:0 0 4px;font-size:17px;}.pm__steps p{margin:0;color:#6b7280;font-size:15.5px;}.pm__steps p+p{margin-top:10px;}.pm__table{width:100%;border-collapse:separate;border-spacing:0;margin:18px 0 28px;font-size:15px;background:#fff;border:1px solid #eceef1;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.04);}.pm__table th{text-align:left;background:#fafafa;font:700 11.5px Inter;letter-spacing:.05em;text-transform:uppercase;color:#9ca3af;padding:12px 16px;border-bottom:1px solid #eceef1;}.pm__table td{padding:14px 16px;border-bottom:1px solid #f3f4f6;color:#4b5563;vertical-align:top;}.pm__table tbody tr:last-child td{border-bottom:none;}.pm__table tbody tr:hover{background:#fbfcff;}.pm__promo{background:linear-gradient(180deg,#f0f5ff,#eef4ff);border:1px solid #dbe6ff;border-radius:18px;padding:34px;margin:36px 0;text-align:center;}.pm__promo h2{margin:0 0 10px;font-size:25px;}.pm__promo p{color:#4b5563;font-size:16px;max-width:520px;margin:0 auto 18px;}.pm__callout{background:#fff;border:1px solid #dbe6ff;border-left:4px solid #2563eb;border-radius:12px;padding:18px 22px;margin:24px 0;color:#4b5563;box-shadow:0 1px 2px rgba(16,24,40,.04);}.pm__callout p:last-child{margin-bottom:0;}.pm__inline-cta{margin:4px 0 22px;font-size:14.5px;}.pm__inline-cta a{color:#2563eb;font-weight:600;text-decoration:none;border-bottom:1.5px solid rgba(37,99,235,.3);padding-bottom:1px;}.pm__inline-cta a:hover{border-bottom-color:#2563eb;}.pm__btn{display:inline-block;background:#2563eb;color:#fff;font:600 15px Inter;padding:13px 26px;border-radius:10px;box-shadow:0 4px 14px rgba(37,99,235,.28);}.pm a.pm__btn{color:#fff;text-decoration:none;font-weight:600;}.pm__btn--lg{padding:16px 34px;font-size:16px;}.pm__next{background:#fff;border:1px solid #eceef1;border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.04);padding:22px 28px;margin:36px 0 20px;}.pm__next h2{font:700 11.5px Inter;letter-spacing:.1em;text-transform:uppercase;color:#2563eb;margin:0 0 4px;}.pm__next ul{list-style:none;padding:0;margin:0;}.pm__next li{position:relative;margin:0;padding:12px 30px 12px 0;border-bottom:1px solid #f3f4f6;font-size:15px;line-height:1.5;color:#6b7280;}.pm__next li:last-child{border-bottom:none;padding-bottom:2px;}.pm__next li::after{content:\"\\203A\";position:absolute;right:6px;top:50%;margin-top:-12px;font:600 20px\/1 Inter;color:#c8d1de;transition:color .15s ease,transform .15s ease;}.pm__next li:hover::after{color:#2563eb;transform:translateX(3px);}.pm__next a{color:#2563eb;font-weight:600;}.pm__next a:hover{text-decoration:underline;}.pm__sources{background:#fff;border:1px solid #eceef1;border-radius:14px;padding:24px 28px;margin:36px 0;}.pm__sources h2{font:700 11.5px Inter;letter-spacing:.1em;text-transform:uppercase;color:#9ca3af;margin:0 0 12px;}.pm__sources ul{list-style:none;padding:0;margin:0;}.pm__sources li{font-size:14.5px;color:#6b7280;padding:9px 0;border-bottom:1px solid #f3f4f6;}.pm__sources li:last-child{border-bottom:none;}.pm__pull{background:#f8fafc;padding:54px 0;text-align:center;}.pm__pull blockquote{margin:0 auto;max-width:760px;padding:30px 24px;border-top:1px solid #dbe1ea;border-bottom:1px solid #dbe1ea;color:#111827;font:600 25px\/1.4 Inter;letter-spacing:-.02em;}.pm__pull cite{display:block;margin-top:18px;color:#9ca3af;font:500 13px Inter;font-style:normal;}.pm__faq{padding:54px 0;background:#f8fafc;}.pm__faq h2{font-size:26px;text-align:center;margin:0 0 24px;}.pm__faq details{background:#fff;border:1px solid #eceef1;border-radius:12px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.04);}.pm__faq summary{cursor:pointer;list-style:none;padding:17px 20px;font-weight:600;color:#111827;}.pm__faq summary::-webkit-details-marker{display:none;}.pm__faq details>div{padding:0 20px 17px;color:#6b7280;font-size:15.5px;}.pm__faq details>div p{margin:0;}.pm__final{background:#0f1729;color:#cbd5e1;text-align:center;padding:76px 0;margin-top:20px;border-radius:24px 24px 0 0;}.pm__final .pm__eyebrow{background:rgba(37,99,235,.16);border:none;color:#93b4ff;box-shadow:none;}.pm__final h2{color:#fff;font-size:33px;margin:16px 0 12px;}.pm__final p{color:#94a3b8;max-width:520px;margin:0 auto 24px;}@media(max-width:600px){.pm__inner{padding:0 18px;}.pm__hero{padding:48px 0 8px;}.pm__hero h1{font-size:34px;}.pm__dek{font-size:17px;}.pm__dek-cta{font-size:14px;}.pm__meta{flex-wrap:wrap;justify-content:center;gap:8px 11px;}.pm h2{font-size:24px;}.pm__next h2{font-size:11.5px;}.pm__next{padding:20px 22px;}.pm__next li{font-size:14.5px;}.pm__sources h2{font-size:11.5px;}.pm__fig{padding:0 16px;}.pm__fig img{aspect-ratio:16\/10;}.pm__steps>li{padding:18px 0 18px 56px;background:transparent;box-shadow:none;}.pm__steps>li::before{left:0;}.pm__table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:13.5px;}.pm__table th,.pm__table td{padding:10px 14px;}.pm__tldr-cta{align-items:flex-start;}.pm__tldr-cta a{white-space:normal;}.pm__pull{padding:42px 0;}.pm__pull blockquote{font-size:21px;}.pm__faq{padding:44px 0;}.pm__final{padding:64px 0;}.pm__final h2{font-size:30px;}.pm__btn--lg{width:100%;text-align:center;}}<\/style>\n<p><script>\ndocument.addEventListener('DOMContentLoaded', function() {\n  var sels = ['.entry-header','.page-header','article > h1:first-child','.entry-footer'];\n  sels.forEach(function(s){document.querySelectorAll(s).forEach(function(el){el.style.display='none';});});\n  var el = document.querySelector('.sw-a');\n  while (el && el !== document.body) {\n    el.style.maxWidth='100%'; el.style.width='100%'; el.style.padding='0'; el.style.margin='0';\n    el.style.float='none'; el.style.flex='0 0 100%';\n    el = el.parentElement;\n  }\n  document.body.style.marginTop='0'; document.body.style.paddingTop='0';\n});\n<\/script><\/p>\n<style id=\"swcalc-style\">.swc{background:#fff;border:1px solid #dbe6ff;border-radius:18px;box-shadow:0 8px 30px rgba(16,24,40,.10);padding:26px 26px 20px;margin:34px auto 4px;max-width:720px;text-align:left;}.swc__kicker{display:inline-flex;align-items:center;gap:7px;font:700 11px Inter;letter-spacing:.09em;text-transform:uppercase;color:#2563eb;}.swc__kicker::before{content:\"\";width:6px;height:6px;border-radius:50%;background:#2563eb;}.swc__title{font:800 21px\/1.2 Inter;color:#111827;letter-spacing:-.02em;margin:7px 0 18px;}.swc h3.swc__title{font:800 21px\/1.2 Inter;color:#111827;letter-spacing:-.02em;margin:7px 0 18px;}.swc__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}.swc__grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}.swc__field{margin:0 0 14px;}.swc__field label{display:block;font:600 12.5px Inter;color:#6b7280;margin-bottom:6px;}.swc input{width:100%;padding:12px 14px;border:1.5px solid #e5e7eb;border-radius:10px;font:600 16px Inter;color:#111827;background:#fbfcfe;outline:none;transition:border-color .15s ease,box-shadow .15s ease;appearance:textfield;-moz-appearance:textfield;}.swc input::-webkit-outer-spin-button,.swc input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}.swc input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.12);}.swc__presets{display:flex;gap:8px;flex-wrap:wrap;}.swc__preset{flex:1;min-width:92px;padding:11px 0;border:1.5px solid #e5e7eb;border-radius:10px;background:#fff;font:600 14.5px Inter;color:#4b5563;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;}.swc__preset.is-on{background:#eff4ff;border-color:#2563eb;color:#2563eb;}.swc__hint{display:block;font:500 11.5px Inter;color:#9ca3af;margin-top:5px;}.swc__out{background:linear-gradient(180deg,#f0f5ff,#eef4ff);border:1px solid #dbe6ff;border-radius:14px;padding:20px 22px 13px;margin-top:4px;}.swc__big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border-bottom:1px solid #dbe6ff;padding-bottom:14px;margin-bottom:4px;}.swc__num{font:800 44px\/1 Inter;color:#2563eb;letter-spacing:-.03em;font-variant-numeric:tabular-nums;transition:opacity .12s ease;}.swc__unit{font:600 15px Inter;color:#4b5563;}.swc__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid rgba(219,230,255,.75);font:500 14.5px Inter;color:#6b7280;}.swc__row b{color:#111827;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;}.swc__row--code{border-bottom:none;}.swc__row--code b{font-size:14px;color:#047857;}.swc__row--code b.is-bad{color:#b91c1c;}.swc__note{font:500 12px\/1.55 Inter;color:#9ca3af;margin:6px 0 4px;}@media(max-width:600px){.swc{padding:20px 16px 14px;border-radius:16px;margin-top:22px;}.swc__grid,.swc__grid3{gap:10px;}.swc__grid3{grid-template-columns:1fr 1fr;}.swc__num{font-size:38px;}.swc__preset{padding:12px 0;}}<\/style>\n<p><script>\n(function(){\n  try{\n    var b=document.body;\n    if(b && b.classList){b.classList.add('single-post');}\n  }catch(e){}\n})();\n<\/script><\/p>\n<style id=\"sw-rv2\">:root:has(.rv2),.rv2{--rv-ink:#0c0e1e;--rv-muted:#6c6a6a;--rv-body:#3a3c45;--rv-blue:#0071bd;--rv-blue-press:#005e9e;--rv-navy:#0c3859;--rv-navy-2:#0c3b5b;--rv-bg:#f5f4f2;--rv-tint:#eaf6fd;--rv-surface:#fff;--rv-line:#d9d9d9;--rv-line-soft:#e7e5e1;--rv-star:#f2a900;--rv-green:#076d3a;--rv-green-bg:#d4ebdf;--rv-r-card:22px;--rv-r-pill:999px;--rv-r-media:28px;--rv-r-ctl:16px;--rv-sh-card:0 1px 1px rgba(12,56,89,.04),0 12px 28px -18px rgba(12,56,89,.32);--rv-sh-link:0 0 0 1px rgba(12,14,30,.04),0 10px 26px -18px rgba(12,56,89,.4);--rv-sh-pill:0 0 0 1px rgba(12,14,30,.06),0 10px 22px -14px rgba(12,56,89,.45);--rv-sh-btn:0 10px 24px -14px rgba(0,113,189,.9);--rv-sh-media:0 0 0 1px rgba(12,14,30,.06),0 40px 80px -40px rgba(12,14,30,.55);--rv-font:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}body:has(.rv2) .single-post .entry-header,body:has(.rv2) .single-post .entry-meta,body:has(.rv2) .single-post .page-header,body:has(.rv2) .single-post article>h1:first-child{display:none !important}body:has(.rv2) .single-post .post-tags,body:has(.rv2) .single-post .entry-footer,body:has(.rv2) .single-post .breadcrumb-nav{display:none !important}body:has(.rv2) .single-post article.post .entry-content{padding-top:0 !important;margin-top:0 !important;max-width:100% !important;width:100% !important}body:has(.rv2) .single-post .content-area,body:has(.rv2) .single-post #primary,body:has(.rv2) .single-post .site-main{padding:0 !important;max-width:100% !important;width:100% !important}body:has(.rv2) .single-post .row--index>.col-xs-12{padding-left:0 !important;padding-right:0 !important}body:has(.rv2) .single-post .row.no-pad>[class*=\"col-\"]{width:100% !important;max-width:100% !important;flex:0 0 100% !important;margin-left:0 !important;padding-left:0 !important;padding-right:0 !important}body:has(.rv2) .single-post article.post,body:has(.rv2) .single-post article.sw{max-width:100% !important;width:100% !important;margin:0 !important;padding:0 !important;float:none !important;flex:0 0 100% !important}body:has(.rv2) .single-post .container,body:has(.rv2) .single-post .container-fluid{max-width:100% !important;width:100% !important;padding-left:0 !important;padding-right:0 !important}body:has(.rv2) .single-post .row--index,body:has(.rv2) .single-post .row.no-pad,body:has(.rv2) .single-post .site-content{max-width:100% !important;width:100% !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important}body:has(.rv2) .entry-header,body:has(.rv2) .page-header,body:has(.rv2) .entry-footer{display:none !important}body:has(.rv2){margin-top:0 !important;padding-top:0 !important}body:has(.rv2) #page,body:has(.rv2) #content,body:has(.rv2) .site-content,body:has(.rv2) .row--index,body:has(.rv2) .row--index>.col-xs-12,body:has(.rv2) #primary,body:has(.rv2) .site-main,body:has(.rv2) article.post,body:has(.rv2) .row.no-pad,body:has(.rv2) .row.no-pad>[class*=\"col-\"],body:has(.rv2) .entry-content,.rv2 .sw-t{max-width:100% !important;width:100% !important;padding:0 !important;margin:0 !important;float:none !important;flex:0 0 100% !important}body:has(.rv2){background:var(--rv-bg) !important}body:has(.rv2) #content,body:has(.rv2) .site-content{padding-bottom:0 !important;margin-bottom:0 !important}.rv2 .rv-site-header,.rv2 .rv-site-footer{font-family:var(--rv-font);-webkit-font-smoothing:antialiased}.rv2 .rv-site-header ul,.rv2 .rv-site-footer ul{list-style:none;margin:0;padding:0}.rv2 .rv-site-header li,.rv2 .rv-site-footer li{margin:0;padding:0}.rv2 .rv-site-header a,.rv2 .rv-site-footer a{border:0;box-shadow:none}.rv2 .rv-site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:inset 0 -1px 0 var(--rv-line-soft)}.rv2 .rv-header-in{height:60px;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px}.rv2 .rv-brand{display:flex;align-items:center;min-height:44px;flex:none;border-radius:6px}.rv2 .rv-brand img{width:124px;height:auto;display:block}.rv2 .rv-top-nav{display:none}.rv2 .rv-login{flex:none;min-height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--rv-ink) !important;border-radius:999px;background:#fff;color:var(--rv-ink) !important;font:600 15px\/24px var(--rv-font);letter-spacing:-.005em}.rv2 .rv-login:hover{background:var(--rv-ink);color:#fff !important}.rv2 .rv-appbar{height:58px;background:rgba(255,255,255,.94);box-shadow:inset 0 1px 0 var(--rv-line-soft)}.rv2 .rv-appbar ul{display:flex;height:100%;max-width:560px;margin:0 auto;padding:4px}.rv2 .rv-appbar li{flex:1 1 auto;display:flex}.rv2 .rv-ab{flex:1 1 auto;min-height:44px;min-width:44px;padding:0 3px;border-radius:14px;white-space:nowrap;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--rv-muted) !important;text-decoration:none}.rv2 .rv-ab-ic{width:26px;height:26px;border-radius:7px;flex:none;opacity:.6}.rv2 .rv-ab-name{font:600 12px\/14px var(--rv-font);letter-spacing:-.025em;white-space:nowrap;opacity:.85}.rv2 .rv-ab:hover{color:var(--rv-ink) !important}.rv2 .rv-ab:hover .rv-ab-ic,.rv2 .rv-ab:hover .rv-ab-name{opacity:1}@media (max-width:389px){.rv2 .rv-ab{padding:0 2px}.rv2 .rv-ab-name{font-size:11.5px;letter-spacing:-.03em}.rv2 .rv-ab-ic{width:24px;height:24px}}@media (min-width:768px){.rv2 .rv-ab{flex-direction:row;gap:8px}.rv2 .rv-ab-name{font-size:13px;line-height:16px}.rv2 .rv-brand img{width:136px}}@media (min-width:1024px){.rv2 .rv-header-in{height:72px;padding:0 48px}.rv2 .rv-appbar{display:none}.rv2 .rv-brand img{width:142px}.rv2 .rv-top-nav{display:flex;justify-content:center;flex:1 1 auto;min-width:0}.rv2 .rv-top-nav ul{display:flex;gap:2px}.rv2 .rv-tn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 10px;border-radius:999px;color:var(--rv-muted) !important;text-decoration:none;white-space:nowrap;font:500 15px\/24px var(--rv-font);letter-spacing:-.01em}.rv2 .rv-tn-ic{width:22px;height:22px;border-radius:6px;flex:none;opacity:.72}.rv2 .rv-tn:hover{color:var(--rv-ink) !important;background:rgba(12,14,30,.04)}.rv2 .rv-tn:hover .rv-tn-ic{opacity:1}}.rv2 .rv-site-footer{background:var(--rv-navy);color:rgba(255,255,255,.72);padding:30px 20px calc(22px + env(safe-area-inset-bottom));margin:0}.rv2 .rv-site-footer>div{max-width:1104px;margin:0 auto}.rv2 .rv-wm{width:132px;height:auto;display:block}.rv2 .rv-tag{margin:10px 0 14px;font-size:14px;line-height:20px;color:rgba(255,255,255,.7)}.rv2 .rv-foot-links{display:flex;flex-wrap:wrap;gap:0 22px;margin:0 0 14px !important}.rv2 .rv-foot-links a{display:inline-flex;align-items:center;min-height:44px;color:rgba(255,255,255,.88) !important;font-size:15px;font-weight:500;text-decoration:none}.rv2 .rv-foot-links a:hover{color:#fff !important;text-decoration:underline}.rv2 .rv-site-footer small{display:block;color:rgba(255,255,255,.62);font-size:13px;line-height:18px}@media (max-width:389px){.rv2 .rv-foot-links{gap:0 14px}}@media (min-width:768px){.rv2 .rv-site-footer>div{display:grid;grid-template-columns:1fr auto;grid-template-areas:'wm links' 'tag links' 'copy copy';column-gap:32px;align-items:center}.rv2 .rv-wm{grid-area:wm}.rv2 .rv-tag{grid-area:tag;margin:8px 0 0}.rv2 .rv-foot-links{grid-area:links;margin:0 !important;justify-content:flex-end}.rv2 .rv-site-footer small{grid-area:copy;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}}@media (min-width:1024px){.rv2 .rv-site-footer{padding:36px 48px 28px}.rv2 .rv-site-footer>div{grid-template-columns:auto 1fr auto;grid-template-areas:'wm tag links' 'copy copy copy';column-gap:28px}.rv2 .rv-tag{margin:0}}.rv2 .rv-h1-a,.rv2 .rv-h1-b{display:block}.rv2 .rv-h1-a{color:var(--rv-muted) !important}.rv2 .rv-h1-b{color:var(--rv-ink) !important}.rv2 h1 .rv-h1-a + br{display:none}.rv2 article.pm{background:var(--rv-surface);color:var(--rv-body);font-family:var(--rv-font);font-size:17px;line-height:1.7}.rv2 article.pm a{color:var(--rv-blue);font-weight:600;border-bottom:1.5px solid rgba(0,113,189,.28)}.rv2 article.pm a:hover{color:var(--rv-blue-press);border-bottom-color:var(--rv-blue-press)}.rv2 article.pm h1,.rv2 article.pm h2,.rv2 article.pm h3{color:var(--rv-ink);font-weight:600}.rv2 article.pm h2{font-size:34px;line-height:1.12;letter-spacing:-.035em}.rv2 article.pm h3{font-size:20px;line-height:1.3;letter-spacing:-.015em}.rv2 article.pm strong{color:var(--rv-ink);font-weight:600}.rv2 .pm .pm__hero{background:var(--rv-bg);border-bottom:0;padding:64px 0 8px}.rv2 .pm .pm__crumb{font:600 13px\/16px var(--rv-font);letter-spacing:.78px;text-transform:uppercase;color:var(--rv-muted)}.rv2 .pm .pm__crumb a{color:var(--rv-muted);border-bottom:0;font-weight:600}.rv2 .pm .pm__eyebrow{display:inline-flex;align-items:center;background:#fff;color:var(--rv-ink);box-shadow:var(--rv-sh-pill);border:0;border-radius:var(--rv-r-pill);padding:8px 16px;font:600 13px\/16px var(--rv-font);letter-spacing:.78px;text-transform:uppercase}.rv2 .pm .pm__hero h1{color:var(--rv-ink);font-size:52px;line-height:1.02;font-weight:600;letter-spacing:-.05em;max-width:760px}.rv2 .pm .pm__dek,.rv2 .pm .pm__dek-cta{color:var(--rv-muted)}.rv2 .pm .pm__dek{font-size:19px;line-height:1.55;font-weight:500;letter-spacing:-.01em}.rv2 .pm .pm__dek a,.rv2 .pm .pm__dek-cta a{color:var(--rv-blue);border-bottom-color:rgba(0,113,189,.3)}.rv2 .pm .pm__hero-cta-note{color:var(--rv-muted)}.rv2 .pm .pm__rating{display:inline-flex;margin:4px auto 18px;padding:8px 16px 8px 12px;gap:10px;background:#fff;border-radius:var(--rv-r-pill);box-shadow:var(--rv-sh-pill);font:800 13px\/13px var(--rv-font);letter-spacing:.26px;color:var(--rv-ink);text-transform:uppercase}.rv2 .pm .pm__stars{color:var(--rv-star);letter-spacing:2px;font-size:14px}.rv2 .pm .pm__rating-sub{color:var(--rv-muted);font:500 13px\/18px var(--rv-font);letter-spacing:0;text-transform:none}.rv2 .pm .pm__meta{color:var(--rv-muted)}.rv2 .pm .pm__meta i{background:var(--rv-line);width:4px;height:4px}.rv2 .pm .pm__hero{text-align:left}.rv2 .pm .pm__hero h1{margin:22px 0 16px}.rv2 .pm .pm__dek,.rv2 .pm .pm__dek-cta{margin-left:0;margin-right:0}.rv2 .pm .pm__hero-cta{align-items:flex-start;margin:0 0 22px}.rv2 .pm .pm__rating{margin:4px 0 18px;justify-content:flex-start}.rv2 .pm .pm__meta{justify-content:flex-start}.rv2 .pm .pm__fig{max-width:720px}.rv2 .pm .pm__fig img{border-radius:var(--rv-r-media);box-shadow:var(--rv-sh-media)}.rv2 .pm .pm__btn,.rv2 .pm a.pm__btn,.rv2 .pm .pm__tldr-cta a{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 32px;border-radius:var(--rv-r-pill);background:var(--rv-blue);color:#fff;border:0;box-shadow:var(--rv-sh-btn);font:600 16px\/20px var(--rv-font);letter-spacing:-.01em;text-decoration:none}.rv2 .pm .pm__btn:hover,.rv2 .pm .pm__tldr-cta a:hover{background:var(--rv-blue-press);color:#fff}.rv2 .pm .pm__tldr-cta a{min-height:44px;padding:0 20px;font-size:15px}.rv2 .pm .pm__btn--lg{min-height:56px;padding:0 38px}.rv2 .pm .pm__tldr,.rv2 .pm .pm__sources,.rv2 .pm .pm__next,.rv2 .pm .pm__table-wrap,.rv2 .pm table.pm__table{background:#fff;border:0;border-radius:var(--rv-r-card);box-shadow:var(--rv-sh-link)}.rv2 .pm .pm__tldr{padding:26px 30px}.rv2 .pm .pm__tldr-label,.rv2 .pm .pm__sources h2,.rv2 .pm .pm__next h2{font:600 13px\/16px var(--rv-font);letter-spacing:.78px;text-transform:uppercase;color:var(--rv-muted)}.rv2 .pm .pm__tldr ol,.rv2 .pm .pm__tldr li{color:var(--rv-body)}.rv2 .pm .pm__tldr-cta{border-top:1px solid var(--rv-line-soft)}.rv2 .pm .pm__tldr-cta span{color:var(--rv-ink)}.rv2 .pm .pm__sources li,.rv2 .pm .pm__next li{border-bottom-color:var(--rv-line-soft);color:var(--rv-muted)}.rv2 .pm .pm__next{background:var(--rv-bg);border:0;box-shadow:none;border-radius:var(--rv-r-card);padding:28px 24px;margin:36px 0 20px}.rv2 .pm .pm__next h2{font:600 28px\/1.1 var(--rv-font);letter-spacing:-.035em;color:var(--rv-ink);text-transform:none;margin:0 0 20px}.rv2 .pm .pm__next ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;list-style:none;padding:0;margin:0;counter-reset:rvn}.rv2 .pm .pm__next li{counter-increment:rvn;position:relative;display:flex;flex-direction:column;align-items:flex-start;margin:0;padding:22px 22px 20px;background:#fff;border:0;border-radius:var(--rv-r-card);box-shadow:var(--rv-sh-link);font-size:14px;line-height:20px;color:var(--rv-muted)}.rv2 .pm .pm__next li:last-child{padding-bottom:20px;border:0}.rv2 .pm .pm__next li::marker{content:\"\"}.rv2 .pm .pm__next li::before{content:counter(rvn,decimal-leading-zero);display:block;font:600 13px\/16px var(--rv-font);letter-spacing:.78px;color:var(--rv-muted);margin:0 0 14px}.rv2 .pm .pm__next li::after{content:\"\";position:static;display:block;width:20px;height:20px;margin:18px 0 0;transform:none;background:url(\"\") center\/20px 20px no-repeat}.rv2 .pm .pm__next a{display:block;color:var(--rv-ink);border:0;font:600 18px\/22px var(--rv-font);letter-spacing:-.36px;margin:0 0 6px}.rv2 .pm .pm__next a::before{content:\"\";position:absolute;inset:0}.rv2 .pm .pm__next a:hover{color:var(--rv-blue);text-decoration:none}.rv2 .pm .pm__callout{background:var(--rv-tint);border:0;border-radius:var(--rv-r-card);box-shadow:none;color:var(--rv-body);padding:20px 24px}.rv2 .pm .pm__inline-cta a{color:var(--rv-blue);border-bottom-color:rgba(0,113,189,.3)}.rv2 .pm .pm__table-wrap{overflow-x:auto}.rv2 .pm .pm__table-wrap table.pm__table{box-shadow:none;border-radius:0}.rv2 .pm .pm__table th{background:var(--rv-bg);color:var(--rv-muted);font:600 13px\/16px var(--rv-font);letter-spacing:.78px;border-bottom:1px solid var(--rv-line-soft)}.rv2 .pm .pm__table td{color:var(--rv-body);border-bottom-color:var(--rv-line-soft)}.rv2 .pm .pm__table td strong{color:var(--rv-ink)}.rv2 .pm .pm__steps>li{border-top-color:var(--rv-line-soft)}.rv2 .pm .pm__steps>li:last-child{border-bottom-color:var(--rv-line-soft)}.rv2 .pm .pm__steps>li::before{background:var(--rv-blue);color:#fff;font:600 15px var(--rv-font);box-shadow:var(--rv-sh-btn)}.rv2 .pm .pm__steps p{color:var(--rv-body)}.rv2 .pm .pm__promo{background:var(--rv-tint);border:0;border-radius:var(--rv-r-card);color:var(--rv-body);box-shadow:none;padding:38px 34px}.rv2 .pm .pm__promo h2{color:var(--rv-ink);font-size:28px;letter-spacing:-.03em}.rv2 .pm .pm__promo p{color:var(--rv-body)}.rv2 .pm .pm__promo a:not(.pm__btn){color:var(--rv-blue);border-bottom-color:rgba(0,113,189,.3)}.rv2 .pm .pm__faq{background:var(--rv-bg)}.rv2 .pm .pm__faq h2{font-size:34px;letter-spacing:-.035em}.rv2 .pm .pm__faq details{background:#fff;border:0;border-radius:var(--rv-r-ctl);box-shadow:var(--rv-sh-card)}.rv2 .pm .pm__faq summary{color:var(--rv-ink);font-weight:600;letter-spacing:-.01em}.rv2 .pm .pm__faq details>div{color:var(--rv-body)}.rv2 .pm .pm__final{background:var(--rv-navy);color:rgba(255,255,255,.7);border-radius:0}.rv2 .pm .pm__final h2{color:#fff;font-size:40px;letter-spacing:-.045em}.rv2 .pm .pm__final p{color:rgba(255,255,255,.7)}.rv2 .pm .pm__final .pm__eyebrow{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.rv2 .pm .pm__final a:not(.pm__btn){color:#fff}@media (max-width:600px){.rv2 .pm .pm__hero{padding:40px 0 6px}.rv2 .pm .pm__hero h1{font-size:clamp(34px,11.2vw,50px);letter-spacing:-.045em}.rv2 .pm .pm__dek{font-size:17px}.rv2 .pm .pm__rating{border-radius:var(--rv-r-ctl);max-width:100%;flex-wrap:wrap;justify-content:flex-start;row-gap:4px}.rv2 .pm .pm__meta{justify-content:flex-start}.rv2 .pm .pm__fig{padding:0 18px}.rv2 article.pm h2,.rv2 .pm .pm__faq h2{font-size:26px}.rv2 .pm .pm__final h2{font-size:30px}.rv2 .pm .pm__btn,.rv2 .pm a.pm__btn{min-height:52px;padding:0 22px}.rv2 .pm .pm__btn--lg{width:100%}.rv2 .pm .pm__tldr,.rv2 .pm .pm__promo{padding:24px 22px}}.rv2 .pm .pm__inner{max-width:704px;padding:0 24px}.rv2 article.pm{font-size:17px;line-height:1.72}.rv2 article.pm p{margin:0 0 22px}.rv2 article.pm h2{font-size:36px;line-height:1.1;letter-spacing:-.04em;margin:64px 0 18px}.rv2 article.pm h3{font-size:20px;line-height:1.3;letter-spacing:-.02em;margin:32px 0 8px}.rv2 article.pm a{border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(0,113,189,.35)}.rv2 article.pm a:hover{text-decoration-color:currentColor}.rv2 .pm .pm__hero{padding:56px 0 64px}.rv2 .pm .pm__eyebrow{background:transparent;box-shadow:none;padding:0;border-radius:0;color:var(--rv-ink);gap:8px}.rv2 .pm .pm__eyebrow::before{content:\"\";width:8px;height:8px;border-radius:50%;background:var(--rv-blue);box-shadow:0 0 0 4px rgba(0,113,189,.14)}.rv2 .pm .pm__hero h1{margin:14px 0 18px}.rv2 .pm .pm__dek{max-width:600px;color:var(--rv-muted)}.rv2 .pm .pm__fig{max-width:none;padding:0;margin:36px 0 0}.rv2 .pm .pm__fig img{aspect-ratio:16\/9}.rv2 .pm .pm__btn::after{content:\"\";width:18px;height:18px;flex:none;background:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h12M11 5l5 5-5 5'\/%3E%3C\/svg%3E\") center\/18px no-repeat;transition:transform .2s ease}.rv2 .pm .pm__btn:hover::after{transform:translateX(3px)}.rv2 .pm .pm__btn,.rv2 .pm .pm__tldr-cta a,.rv2 .pm .pm__crumb a{text-decoration:none !important}.rv2 .pm .pm__next li{transition:transform .3s cubic-bezier(.22,.8,.24,1),box-shadow .3s cubic-bezier(.22,.8,.24,1)}.rv2 .pm .pm__next li:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(0,113,189,.25),0 18px 34px -18px rgba(12,56,89,.45)}.rv2 .pm .pm__next a{text-decoration:none}.rv2 .pm .pm__steps>li::before{border-radius:11px;background:linear-gradient(180deg,#0080af,#005d7f);box-shadow:0 2px 4px rgba(12,14,30,.25)}.rv2 .pm .pm__table th,.rv2 .pm .sw-cmp__table th{background:var(--rv-bg);color:var(--rv-muted);font:600 12px\/16px var(--rv-font);letter-spacing:.78px;text-transform:uppercase}.rv2 .pm .pm__table td,.rv2 .pm .sw-cmp__table td{font-size:15px;line-height:1.5}.rv2 .pm .pm__table tbody tr:hover{background:#fbfaf8}.rv2 .pm .sw-cmp__table{background:#fff;border-radius:var(--rv-r-card);box-shadow:var(--rv-sh-link);border:0;overflow:hidden}.rv2 .pm .sw-cmp__table td,.rv2 .pm .sw-cmp__table th{border-color:var(--rv-line-soft) !important}.rv2 .pm .sw-cmp__us,.rv2 .pm .sw-cmp__table .sw-cmp__us{background:var(--rv-tint) !important;color:var(--rv-ink)}.rv2 .pm .pm__callout{box-shadow:inset 3px 0 0 var(--rv-blue);border-radius:0 16px 16px 0}.rv2 .pm .pm__promo{text-align:left;padding:32px}.rv2 .pm .pm__promo p{margin-left:0;margin-right:0}.rv2 .pm .pm__promo>:last-child{margin-bottom:0}.rv2 .pm .pm__steps h3{margin:0 0 4px}.rv2 .pm .pm__steps p{margin:0}.rv2 .pm .pm__steps p+p{margin-top:10px}.rv2 .pm .pm__faq{padding:72px 0}.rv2 .pm .pm__faq h2{text-align:left;margin:0 0 28px}.rv2 .pm .pm__faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 18px 22px;font-size:16px;line-height:1.4}.rv2 .pm .pm__faq summary::after{content:\"\";flex:none;width:32px;height:32px;border-radius:16px;background:#fff url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 20 20' fill='none' stroke='%230c0e1e' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M10 4v12M4 10h12'\/%3E%3C\/svg%3E\") center\/16px no-repeat;box-shadow:inset 0 0 0 1px var(--rv-line);transition:transform .25s ease,background-color .2s ease}.rv2 .pm .pm__faq details[open] summary::after{transform:rotate(45deg);background-color:var(--rv-tint)}.rv2 .pm .pm__faq details>div{padding:0 22px 20px;font-size:16px;line-height:1.65}.rv2 .pm .pm__faq details{margin-bottom:12px}.rv2 .pm .pm__final{background:#fff;color:var(--rv-muted);text-align:left;padding:88px 0;margin-top:0}.rv2 .pm .pm__final h2{color:var(--rv-ink);font-size:44px;line-height:1.04;letter-spacing:-.045em;margin:16px 0 14px;max-width:620px}.rv2 .pm .pm__final p{color:var(--rv-muted);margin:0 0 28px;max-width:520px;font-size:18px}.rv2 .pm .pm__final .pm__eyebrow{background:transparent;box-shadow:none;color:var(--rv-orange)}.rv2 .pm .pm__final .pm__eyebrow::before{background:var(--rv-orange);box-shadow:0 0 0 4px #fbe5da}.rv2 .pm .pm__sources{padding:24px 26px}.rv2 .pm .pm__sources li{font-size:14px}@media (max-width:767px){.rv2 .pm .pm__inner{padding:0 20px}.rv2 article.pm h2{font-size:28px;margin-top:52px}.rv2 .pm .pm__hero{padding:36px 0 44px}.rv2 .pm .pm__fig{padding:0;margin-top:28px}.rv2 .pm .pm__fig img{aspect-ratio:4\/3}.rv2 .pm .pm__hero-cta,.rv2 .pm .pm__hero-cta .pm__btn{width:100%}.rv2 .pm .pm__hero-cta{align-items:stretch}.rv2 .pm .pm__final{padding:64px 0}.rv2 .pm .pm__final h2{font-size:32px}.rv2 .pm .pm__final .pm__btn,.rv2 .pm .pm__promo .pm__btn{width:100%}.rv2 .pm .pm__promo{padding:24px 20px}.rv2 .pm .pm__faq{padding:56px 0}.rv2 .pm .pm__next ul{grid-template-columns:1fr;gap:0;background:#fff;border-radius:var(--rv-r-card);box-shadow:var(--rv-sh-link);padding:4px 18px}.rv2 .pm .pm__next li{box-shadow:none;border-radius:0;padding:16px 28px 16px 36px;background:transparent;border-bottom:1px solid var(--rv-line-soft)}.rv2 .pm .pm__next li:last-child{border-bottom:0;padding-bottom:16px}.rv2 .pm .pm__next li:hover{transform:none;box-shadow:none}.rv2 .pm .pm__next li::before{position:absolute;left:0;top:19px;margin:0}.rv2 .pm .pm__next li::after{position:absolute;right:0;top:18px;margin:0}.rv2 .pm .pm__next a{font-size:16px;line-height:20px}.rv2 .pm .pm__next{padding:22px 16px}.rv2 .pm .pm__table-wrap th:first-child,.rv2 .pm .pm__table-wrap td:first-child,.rv2 .pm table.pm__table th:first-child,.rv2 .pm table.pm__table td:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--rv-line-soft)}.rv2 .pm .pm__table-wrap th:first-child,.rv2 .pm table.pm__table th:first-child{background:var(--rv-bg)}}.rv2 .pm .pm__hero{background:radial-gradient(900px 420px at 92% -8%,rgba(0,113,189,.12),rgba(0,113,189,0) 70%),radial-gradient(600px 300px at 0% 110%,rgba(242,169,0,.07),rgba(242,169,0,0) 70%),var(--rv-bg)}.rv2 .pm .pm__eyebrow{color:var(--rv-blue-press)}.rv2 .pm .pm__tldr-label{color:var(--rv-blue-press)}.rv2 .pm .pm__faq{background:linear-gradient(180deg,var(--rv-tint) 0%,#f4f9fd 100%)}.rv2 .pm .pm__promo{background:radial-gradient(420px 220px at 100% 0%,rgba(0,113,189,.14),rgba(0,113,189,0) 70%),var(--rv-tint)}.rv2 .pm .pm__final{color:#fff;background: radial-gradient(circle at 88% 42%,rgba(255,255,255,0) 0 150px,rgba(255,255,255,.12) 151px 152px,rgba(255,255,255,0) 153px 230px,rgba(255,255,255,.08) 231px 232px,rgba(255,255,255,0) 233px),linear-gradient(135deg,#0071bd 0%,#005e9e 100%)}.rv2 .pm .pm__final h2,.rv2 .pm .pm__final p,.rv2 .pm .pm__final .pm__eyebrow{color:#fff}.rv2 .pm .pm__final .pm__eyebrow::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}.rv2 .pm .pm__final .pm__btn{background:#fff;color:var(--rv-navy);box-shadow:0 14px 30px -16px rgba(12,14,30,.6)}.rv2 .pm .pm__final .pm__btn:hover{background:#fff;color:var(--rv-blue-press)}.rv2 .pm .pm__final .pm__btn::after{background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 20 20' fill='none' stroke='%230c3859' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h12M11 5l5 5-5 5'\/%3E%3C\/svg%3E\")}.rv2 .pm .pm__final a:not(.pm__btn){color:#fff}body:has(.rv2) #masthead,body:has(.rv2) #colophon{display:none !important}.rv2 .pm__prefsrc{text-align:inherit}.rv2 .pm__prefsrc a{text-decoration:none !important;border-bottom:0 !important}.rv2 .pm__prefsrc a:focus-visible{outline:2px solid var(--rv-blue);outline-offset:3px}.rv2 .rv-legacy-foot{display:none !important}.rv2 .rv-site-header p:not([class]),.rv2 .rv-site-footer p:not([class]){display:contents !important}.rv2 .rv-bgi{display:block;background-position:center;background-size:contain;background-repeat:no-repeat}.rv2 .rv-brand .rv-bgi{width:124px}@media (min-width:768px){.rv2 .rv-brand .rv-bgi{width:136px}}@media (min-width:1024px){.rv2 .rv-brand .rv-bgi{width:142px}}.rv2 .sw-c div[style*=\"display:flex\"]>br,.rv2 .sw-t div[style*=\"display:flex\"]>br{display:none !important}.rv2 .sw-c h1,.rv2 .sw-t h1{font-size:clamp(34px,11.2vw,52px) !important;line-height:1.02 !important;letter-spacing:-.045em !important}@media (min-width:1024px){.rv2 .sw-c h1,.rv2 .sw-t h1{font-size:52px !important;letter-spacing:-.05em !important}}@media (max-width:767px){.rv2 .sw-c section:first-of-type a[style*=\"border-radius:999px\"]:not([href*=\"preferences\/source\"]),.rv2 .sw-t section:first-of-type a[style*=\"border-radius:999px\"]:not([href*=\"preferences\/source\"]){display:flex !important;width:100% !important;justify-content:center !important;box-sizing:border-box !important;min-height:52px}}<\/style>\n<article class=\"pm\">\n<header class=\"pm__hero\">\n<div class=\"pm__inner\">\n<nav class=\"pm__crumb\">Blog &nbsp;&rsaquo;&nbsp; Construction Calculators &nbsp;&rsaquo;&nbsp; Stair Calculator<\/nav>\n<p><span class=\"pm__eyebrow\">Contractor Calculator &middot; Stairs<\/span><\/p>\n<h1><span class=\"rv-h1-a\">Stair Calculator:<\/span> <span class=\"rv-h1-b\">Risers, Run, Stringer, and Code<\/span><\/h1>\n<p class=\"pm__dek\">Stairs start with one number: total rise, floor to floor. Set it below and the risers, run, stringer, and code check update as you type.<\/p>\n<div class=\"pm__hero-cta\"><a class=\"pm__btn\" href=\"https:\/\/swcostestimator.app.link\/ce-ai\" rel=\"noopener\" target=\"_blank\">Try SimplyWise Cost Estimator free<\/a><span class=\"pm__hero-cta-note\">Free to try. A photo becomes an itemized estimate in about 6 seconds.<\/span><\/div>\n<div class=\"pm__rating\"><span class=\"pm__stars\">&#9733;&#9733;&#9733;&#9733;&#9733;<\/span> <b>4.8<\/b> <span class=\"pm__rating-sub\">on the App Store for SimplyWise Cost Estimator<\/span><\/div>\n<div class=\"pm__meta\">\n<span>SimplyWise<\/span><br \/>\n<i><\/i><br \/>\n<span>Updated October 13, 2026<\/span><br \/>\n<i><\/i><br \/>\n<span>5 min read<\/span>\n<\/div>\n<p class=\"pm__prefsrc\" style=\"margin:16px 0 0;\"><a href=\"https:\/\/www.google.com\/preferences\/source?q=simplywise.com\" target=\"_blank\" rel=\"noopener\" style=\"display:inline-flex;align-items:center;gap:8px;min-height:36px;max-width:100%;box-sizing:border-box;padding:6px 14px;background:#fff;border:1px solid #dbe6ff;border-radius:999px;color:#2563eb;font:600 13.5px\/1.3 Inter,-apple-system,sans-serif;text-decoration:none;white-space:nowrap;\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 48 48\" aria-hidden=\"true\" focusable=\"false\" style=\"flex:none\"><path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"\/><path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"\/><path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"\/><path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"\/><\/svg>Add SimplyWise as a preferred source<\/a><\/p>\n<div class=\"swc\" id=\"swcalc\">\n<span class=\"swc__kicker\">Free Stair Calculator<\/span><\/p>\n<h3 class=\"swc__title\">Rise, run, stringer, and a code check<\/h3>\n<div class=\"swc__grid\">\n<div class=\"swc__field\"><label for=\"swc-rise\">Total rise, floor to floor (in)<\/label><input id=\"swc-rise\" type=\"number\" inputmode=\"decimal\" min=\"6\" max=\"400\" step=\"0.125\" value=\"109\"><\/div>\n<div class=\"swc__field\"><label for=\"swc-target\">Desired riser height (in)<\/label><input id=\"swc-target\" type=\"number\" inputmode=\"decimal\" min=\"4\" max=\"12\" step=\"0.125\" value=\"7.5\"><span class=\"swc__hint\">IRC R311.7.5.1 caps a riser at 7 3\/4 in<\/span><\/div>\n<\/div>\n<div class=\"swc__field\"><label for=\"swc-tread\">Tread depth (in)<\/label><\/p>\n<div class=\"swc__presets\" id=\"swc-presets\"><button type=\"button\" class=\"swc__preset\" data-t=\"10\">10 in<\/button><button type=\"button\" class=\"swc__preset is-on\" data-t=\"10.5\">10.5 in<\/button><button type=\"button\" class=\"swc__preset\" data-t=\"11\">11 in<\/button><button type=\"button\" class=\"swc__preset\" data-t=\"11.5\">11.5 in<\/button><\/div>\n<p><span class=\"swc__hint\">IRC R311.7.5.2 floor is 10 in. Custom depth below.<\/span><input id=\"swc-tread\" type=\"number\" inputmode=\"decimal\" min=\"6\" max=\"18\" step=\"0.25\" value=\"10.5\" aria-label=\"Tread depth in inches\"><\/div>\n<div class=\"swc__grid3\">\n<div class=\"swc__field\"><label for=\"swc-width\">Stair width (in)<\/label><input id=\"swc-width\" type=\"number\" inputmode=\"decimal\" min=\"20\" max=\"120\" step=\"1\" value=\"36\"><\/div>\n<div class=\"swc__field\"><label for=\"swc-nosing\">Nosing (in)<\/label><input id=\"swc-nosing\" type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"2\" step=\"0.125\" value=\"1\"><\/div>\n<div class=\"swc__field\"><label for=\"swc-head\">Headroom (in)<\/label><input id=\"swc-head\" type=\"number\" inputmode=\"decimal\" min=\"48\" max=\"160\" step=\"0.5\" value=\"80\"><\/div>\n<\/div>\n<div class=\"swc__out\" aria-live=\"polite\">\n<div class=\"swc__big\"><span class=\"swc__num\" id=\"swc-riser\">7.27<\/span><span class=\"swc__unit\" id=\"swc-riser-unit\">in per riser, over 15 risers<\/span><\/div>\n<div class=\"swc__row\"><span>Treads<\/span><b id=\"swc-treads\">14 treads at 10.5 in<\/b><\/div>\n<div class=\"swc__row\"><span>Total run<\/span><b id=\"swc-run\">147 in (12 ft 3 in)<\/b><\/div>\n<div class=\"swc__row\"><span>Stringer length<\/span><b id=\"swc-stringer\">183 in (15 ft 3 in)<\/b><\/div>\n<div class=\"swc__row\"><span>Stringers<\/span><b id=\"swc-count\">3 at 2&#215;12, 18 in on center max<\/b><\/div>\n<div class=\"swc__row\"><span>Cut list<\/span><b id=\"swc-cuts\">15 rise cuts at 7.27 in, 14 run cuts at 9.5 in<\/b><\/div>\n<div class=\"swc__row swc__row--code\"><span>Code check<\/span><b id=\"swc-code\">Pass on riser, tread, width, headroom, nosing<\/b><\/div>\n<p class=\"swc__note\">Riser, tread, width, headroom and nosing check against IRC stair limits in free municipal handouts. The landing flag is the American Wood Council deck guide rule for exterior stairs, stricter than the code limit on vertical rise. Read September 11, 2026. Local amendments vary.<\/p>\n<\/div>\n<\/div>\n<style id=\"swcost-style\">.swk h3.swk__kicker{display:block;margin:0 0 10px;font:700 11px Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#2563eb;line-height:1.4;}.swk{background:#fff;border:1px solid #dbe6ff;border-radius:18px;box-shadow:0 8px 30px rgba(16,24,40,.10);padding:22px 22px 16px;margin:18px auto 4px;max-width:720px;text-align:left;}.swk__kicker{display:block;font:700 11px Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#2563eb;margin-bottom:10px;}.swk__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.swk__field label{display:block;font:600 13px Inter,sans-serif;color:#334155;margin-bottom:6px;}.swk__field input{width:100%;min-height:48px;font:600 17px Inter,sans-serif;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;color:#0f172a;}.swk__big{margin:16px 0 8px;display:flex;flex-direction:column;}.swk__num{font:800 40px\/1.1 Inter,sans-serif;color:#0f172a;}.swk__unit{font:500 14px Inter,sans-serif;color:#475569;}.swk__row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #eef2f7;font-size:15px;}.swk__note{font-size:12.5px;line-height:1.5;color:#64748b;margin:10px 0 0;}@media(max-width:600px){.swk__grid{grid-template-columns:1fr;}.swk__num{font-size:34px;}}<\/style>\n<div class=\"swk\" id=\"swk\">\n<h3 class=\"swk__kicker\">Stair calculator: price it<\/h3>\n<div class=\"swk__grid\">\n<div class=\"swk__field\"><label for=\"swk-size\">Risers<\/label><input id=\"swk-size\" type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"1000000\" step=\"any\" value=\"15\"><\/div>\n<div class=\"swk__field\"><label for=\"swk-lab\">Labor $ per riser<\/label><input id=\"swk-lab\" type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"100000\" step=\"any\" value=\"140\"><\/div>\n<div class=\"swk__field\"><label for=\"swk-mat\">Materials $ per riser<\/label><input id=\"swk-mat\" type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"100000\" step=\"any\" value=\"21.9387\"><\/div>\n<\/div>\n<div class=\"swk__big\" aria-live=\"polite\"><span class=\"swk__num\" id=\"swk-total\">$0<\/span><span class=\"swk__unit\">before markup<\/span><\/div>\n<div class=\"swk__row\"><span>Labor<\/span><b id=\"swk-l\">$0<\/b><\/div>\n<div class=\"swk__row\"><span>Materials<\/span><b id=\"swk-m\">$0<\/b><\/div>\n<p class=\"swk__note\">Defaults: a SimplyWise Cost Estimator run, October 13, 2026, a 15-riser, 36 in wide pine stair, old stair removed: $2,100.00 labor, $329.08 materials.<\/p>\n<\/div>\n<p><script>\n(function(){\n  function $(i){return document.getElementById(i);}\n  function n(id){var v=parseFloat($(id).value);return (isFinite(v)&&v>=0)?v:0;}\n  function usd(x){return '$'+Math.round(x).toLocaleString('en-US');}\n  function run(){var s=n('swk-size'),l=s*n('swk-lab'),m=s*n('swk-mat');\n    $('swk-total').textContent=usd(l+m);$('swk-l').textContent=usd(l);$('swk-m').textContent=usd(m);}\n  ['swk-size','swk-lab','swk-mat'].forEach(function(i){$(i).addEventListener('input',run);});\n  run();\n})();\n<\/script><\/p>\n<figure class=\"pm__fig\">\n<img decoding=\"async\" alt=\"Cut stringers and fresh treads on a staircase under construction, the rise and run behind every stair calculation\" loading=\"eager\" src=\"https:\/\/images.unsplash.com\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format\"\/><br \/>\n<\/figure>\n<\/div>\n<\/header>\n<p><script>\n(function(){\n  \/\/ CODE LIMITS are SOURCED DATA, one block, all from the 2021 IRC stair\n  \/\/ sections as published verbatim in free municipal building handouts.\n  \/\/ Placer publishes them as 2022 California Residential Code Title 24,\n  \/\/ CRC Section R311, text identical to the model IRC; Spearfish carries\n  \/\/ the 2021 IRC wording directly. Both read 2026-09-11:\n  \/\/   County of Placer, \"210 Residential Stairs\" handout (placer.ca.gov,\n  \/\/     DocumentCenter\/View\/3303) reproduces R311.7.1 width 36 in,\n  \/\/     R311.7.2 headroom 6 ft 8 in, R311.7.5.1 riser max 7 3\/4 in,\n  \/\/     R311.7.5.2 tread min 10 in, both with the 3\/8 in variation limit,\n  \/\/     and R311.7.5.3 nosing 3\/4 in to 1-1\/4 in, not required at a tread\n  \/\/     depth of 11 in or more.\n  \/\/   City of Spearfish, Residential Deck Handout (spearfish.gov,\n  \/\/     DocumentCenter\/View\/5233) independently states the same 7 3\/4 in\n  \/\/     riser, 10 in tread, 36 in width and 3\/8 in variation numbers.\n  \/\/ STRINGER RULES from American Wood Council DCA 6, Prescriptive\n  \/\/   Residential Wood Deck Construction Guide (awc.org, AWC-DCA62012\n  \/\/   -DeckGuide-1405.pdf, read 2026-09-11): stringers are a minimum of\n  \/\/   2x12, three cut stringers minimum, spacing 18 in on center maximum,\n  \/\/   and an intermediate landing is required once total rise passes\n  \/\/   12 ft 0 in.\n  var MAX_RISER=7.75, MIN_TREAD=10, MIN_WIDTH=36, MIN_HEAD=80;\n  var NOSE_LO=0.75, NOSE_HI=1.25, NOSE_EXEMPT_TREAD=11;\n  var MAX_RISE_NO_LANDING=144, STRINGER_SPACING=18;\n  function $(i){return document.getElementById(i);}\n  function ceil6(x){return Math.ceil(Number(x.toFixed(6)));}\n  function fmt2(n){var s=n.toFixed(2);if(s.indexOf('.')>=0){s=s.replace(\/\\.?0+$\/,'');}return s;}\n  function ftin(x){var r=Number(x.toFixed(2));var ft=Math.floor(r\/12);var rem=Number((r-12*ft).toFixed(2));return ft+' ft '+fmt2(rem)+' in';}\n  function val(el,lo,hi){var v=parseFloat(el.value);if(!isFinite(v)||v<lo||v>hi){return null;}return v;}\n  function run(){\n    var rise=val($('swc-rise'),1,400), target=val($('swc-target'),2,14), tread=val($('swc-tread'),4,24);\n    var width=val($('swc-width'),6,240), head=val($('swc-head'),24,240);\n    var nosing=val($('swc-nosing'),0,3); if(nosing===null){nosing=0;}\n    if(rise===null||target===null||tread===null||width===null||head===null){\n      $('swc-riser').textContent='0';\n      $('swc-riser-unit').textContent='enter the total rise';\n      $('swc-treads').textContent='0 treads';\n      $('swc-run').textContent='0 in';\n      $('swc-stringer').textContent='0 in';\n      $('swc-count').textContent='0 stringers';\n      $('swc-cuts').textContent='0 cuts';\n      $('swc-code').textContent='Enter every field';\n      $('swc-code').className='';\n      return;\n    }\n    var risers=Math.round(rise\/target); if(risers<1){risers=1;}\n    var riserH=rise\/risers;\n    var treads=risers-1;\n    var totalRun=treads*tread;\n    var stringer=Math.sqrt(rise*rise+totalRun*totalRun);\n    var stringers=Math.max(3,ceil6(width\/STRINGER_SPACING)+1);\n    var fails=[];\n    if(riserH>MAX_RISER){fails.push('riser over 7.75 in');}\n    if(tread<MIN_TREAD){fails.push('tread under 10 in');}\n    if(width<MIN_WIDTH){fails.push('width under 36 in');}\n    if(head<MIN_HEAD){fails.push('headroom under 80 in');}\n    if(tread<NOSE_EXEMPT_TREAD&#038;&#038;(nosing<NOSE_LO||nosing>NOSE_HI)){fails.push('nosing outside 3\/4 to 1-1\/4 in');}\n    if(rise>MAX_RISE_NO_LANDING){fails.push('over 12 ft of rise, landing required');}\n    $('swc-riser').textContent=fmt2(riserH);\n    $('swc-riser-unit').textContent='in per riser, over '+risers+' risers';\n    $('swc-treads').textContent=treads+' treads at '+fmt2(tread)+' in';\n    $('swc-run').textContent=fmt2(totalRun)+' in ('+ftin(totalRun)+')';\n    $('swc-stringer').textContent=fmt2(stringer)+' in ('+ftin(stringer)+')';\n    $('swc-count').textContent=stringers+' at 2x12, 18 in on center max';\n    $('swc-cuts').textContent=risers+' rise cuts at '+fmt2(riserH)+' in, '+treads+' run cuts at '+fmt2(tread-nosing)+' in';\n    if(fails.length){\n      $('swc-code').textContent='Check: '+fails.join(', ');\n      $('swc-code').className='is-bad';\n    }else{\n      $('swc-code').textContent='Pass on riser, tread, width, headroom, nosing';\n      $('swc-code').className='';\n    }\n  }\n  ['swc-rise','swc-target','swc-tread','swc-width','swc-nosing','swc-head'].forEach(function(i){$(i).addEventListener('input',run);});\n  var pb=document.querySelectorAll('#swc-presets .swc__preset');\n  pb.forEach(function(b){b.addEventListener('click',function(){\n    $('swc-tread').value=b.getAttribute('data-t');\n    pb.forEach(function(x){x.classList.remove('is-on');});\n    b.classList.add('is-on');\n    run();\n  });});\n  $('swc-tread').addEventListener('input',function(){pb.forEach(function(x){x.classList.remove('is-on');});});\n  run();\n})();\n<\/script><\/p>\n<div class=\"pm__body\">\n<div class=\"pm__inner\">\n<aside class=\"pm__tldr\">\n<div class=\"pm__tldr-label\">At a glance<\/div>\n<ol>\n<li>Risers = total rise divided by your target riser, rounded to whole.<\/li>\n<li>Riser height = total rise divided by that count.<\/li>\n<li>Treads = risers minus one.<\/li>\n<li>Run = treads times tread depth. Stringer = square root of rise squared plus run squared.<\/li>\n<li>Code: riser 7 3\/4 in max, tread 10 in min, 3\/8 in variation, 36 in wide, 6 ft 8 in headroom.<\/li>\n<li>A 109 in rise at 7.5 in gives 15 risers at 7.27 in, 147 in of run, 183 in of stringer.<\/li>\n<\/ol>\n<div class=\"pm__tldr-cta\"><span>Price the stair and the framing from a photo, free to try.<\/span><a href=\"https:\/\/swcostestimator.app.link\/ce-ai\" rel=\"noopener\" target=\"_blank\">SimplyWise Cost Estimator<\/a><\/div>\n<\/aside>\n<h2>How the stair calculator works<\/h2>\n<p>A stair calculator divides total rise by riser height: 109 in gives 15 risers at 7.27 in. Total rise runs finished floor to finished floor and never bends.<\/p>\n<p>Divide total rise by your target riser and round to a whole count. Divide the rise by that count again for the height you cut. Rounding the height instead fails inspection.<\/p>\n<h2>Stair calculator worked example: 109 inches of total rise<\/h2>\n<p>At a 7.5 in target, 109 over 7.5 is 14.53, rounding to <strong>15 risers<\/strong>. Divide back: 109 over 15 is <strong>7.27 in per riser<\/strong>, under the 7 3\/4 in cap.<\/p>\n<p>Fifteen risers means <strong>14 treads<\/strong>. At 10.5 in each the run is 147 in, or 12 ft 3 in. The stringer is the square root of 109 squared plus 147 squared: <strong>183 in<\/strong>, so a 16 ft 2&#215;12 cuts one.<\/p>\n<p class=\"pm__inline-cta\"><a href=\"https:\/\/swcostestimator.app.link\/ce-ai\" rel=\"noopener\" target=\"_blank\">SimplyWise Cost Estimator<\/a> turns that framing into a priced, itemized estimate from one photo.<\/p>\n<h2>Stair calculator results for common floor heights<\/h2>\n<p>Target riser 7.5 in, tread 10.5 in.<\/p>\n<table class=\"pm__table\">\n<thead>\n<tr>\n<th>Total rise<\/th>\n<th>Risers<\/th>\n<th>Riser height<\/th>\n<th>Total run<\/th>\n<th>Stringer<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>108 in<\/td>\n<td>14<\/td>\n<td>7.71 in<\/td>\n<td>136.5 in<\/td>\n<td>174.06 in<\/td>\n<\/tr>\n<tr>\n<td>109 in<\/td>\n<td>15<\/td>\n<td>7.27 in<\/td>\n<td>147 in<\/td>\n<td>183 in<\/td>\n<\/tr>\n<tr>\n<td>120 in<\/td>\n<td>16<\/td>\n<td>7.5 in<\/td>\n<td>157.5 in<\/td>\n<td>198.01 in<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>One inch, 108 to 109, adds a whole riser and 10.5 in of run.<\/p>\n<h2>What the stair code actually says<\/h2>\n<p>These limits come from the residential code stair sections in free municipal handouts. A riser tops out at <strong>7 3\/4 in<\/strong> and a tread runs <strong>10 in<\/strong> minimum, nosing to nosing. Neither may vary by more than 3\/8 in.<\/p>\n<p>The stair is <strong>36 in<\/strong> wide minimum, with <strong>6 ft 8 in<\/strong> of headroom above the nosing line. Headroom catches remodels, where the opening above is already framed.<\/p>\n<p>On solid risers, nosing projects <strong>3\/4 in to 1-1\/4 in<\/strong>; at 11 in treads it is not required. It adds nothing to the run, so subtract it from tread depth when you mark the stringer.<\/p>\n<section class=\"pm__promo\">\n<h2>Turn the layout into a signed quote<\/h2>\n<p>The stair calculator gives the framing; the customer wants a number. <a href=\"https:\/\/www.simplywise.com\/cost-estimator\">SimplyWise Cost Estimator<\/a> turns a photo into an itemized estimate in about 6 seconds. Pricing is $29.99\/mo or $239.99\/yr, about $20\/mo on annual, with a 7-day trial.<\/p>\n<p><a class=\"pm__btn\" href=\"https:\/\/swcostestimator.app.link\/ce-ai\" rel=\"noopener\" target=\"_blank\">SimplyWise Cost Estimator<\/a><br \/>\n<\/section>\n<h2>Cutting the stringer<\/h2>\n<p>For exterior stairs the American Wood Council deck guide is prescriptive: stringers are <strong>2&#215;12<\/strong> minimum, a cut stringer stair needs three, and spacing tops out at <strong>18 in on center<\/strong>. A 60 in stair takes five.<\/p>\n<p>The same guide requires an intermediate landing once stairway height passes <strong>12 ft<\/strong> on an exterior stair. Interior code allows 151 in between floors or landings, 147 in in older editions. The stair calculator holds the stricter 12 ft line, so a 150 in rise reads as a landing job.<\/p>\n<h2>Lay the stairs out in this order<\/h2>\n<ol class=\"pm__steps\">\n<li>\n<h3>Measure total rise on finished surfaces<\/h3>\n<p>Floor to floor, finish included. Forgotten 3\/4 in hardwood spreads across every riser.<\/p>\n<\/li>\n<li>\n<h3>Set the count, then the height<\/h3>\n<p>Round to a whole riser, then divide the rise back by it. Never round the height itself.<\/p>\n<\/li>\n<li>\n<h3>Check the run against the room<\/h3>\n<p>Run is treads times tread depth. A deeper tread makes a tight run worse.<\/p>\n<\/li>\n<li>\n<h3>Confirm headroom before you cut<\/h3>\n<p>Measure 6 ft 8 in down from the sloped line touching each nosing. The opening above is costly to move.<\/p>\n<\/li>\n<\/ol>\n<div class=\"pm__next\">\n<h2>Keep reading<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.simplywise.com\/blog\/construction-calculators\/\">Construction Calculators: the full set<\/a><\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/blog\/concrete-slab-cost-calculator\/\">Concrete Slab Cost Calculator<\/a><\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/blog\/drywall-sheet-and-mud-calculator\/\">Drywall Sheet and Mud Calculator<\/a><\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/blog\/framing-stud-calculator\/\">Framing Calculator<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"pm__sources\">\n<h2>Sources<\/h2>\n<h3>Stair code limits<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.placer.ca.gov\/DocumentCenter\/View\/3303\/Residential-Stairs-PDF\" rel=\"noopener\" target=\"_blank\">County of Placer, 210 Residential Stairs handout<\/a> (R311.7.1 width 36 in; R311.7.2 headroom 6 ft 8 in; R311.7.5.1 riser 7 3\/4 in; R311.7.5.2 tread 10 in; 3\/8 in variation; R311.7.5.3 nosing 3\/4 in to 1-1\/4 in; read 2026-09-11).<\/li>\n<li><a href=\"https:\/\/www.spearfish.gov\/DocumentCenter\/View\/5233\/Residential-Deck-handout-PDF\" rel=\"noopener\" target=\"_blank\">City of Spearfish, Residential Deck Handout, 2021 IRC<\/a> (second source, same riser, tread, width and variation limits; read 2026-09-11).<\/li>\n<\/ul>\n<h3>Stringer and landing rules<\/h3>\n<ul>\n<li><a href=\"https:\/\/awc.org\/wp-content\/uploads\/2022\/02\/AWC-DCA62012-DeckGuide-1405.pdf\" rel=\"noopener\" target=\"_blank\">American Wood Council, DCA 6 Prescriptive Residential Wood Deck Construction Guide<\/a> (stringers 2&#215;12 minimum; three cut stringers; 18 in on center max; landing above 12 ft; read 2026-09-11).<\/li>\n<\/ul>\n<h3>Product<\/h3>\n<ul>\n<li><a href=\"https:\/\/apps.apple.com\/us\/app\/simplywise-cost-estimator\/id6670619664\" rel=\"noopener\" target=\"_blank\">SimplyWise Cost Estimator, App Store<\/a> (4.8 rating; verified 2026-09-09).<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<section class=\"pm__faq\">\n<div class=\"pm__inner\">\n<h2>Common questions on stairs<\/h2>\n<h3>Rise and run<\/h3>\n<details>\n<summary>How many stairs do I need?<\/summary>\n<div>\n<p>Divide total rise by your target riser height and round to the nearest whole number. A 109 in rise at a 7.5 in target is 14.53, so 15 risers.<\/p>\n<\/div>\n<\/details>\n<details>\n<summary>How many treads for 15 risers?<\/summary>\n<div>\n<p>Fourteen. A stair landing on a floor has one fewer tread than risers, because the upper floor serves as the last tread.<\/p>\n<\/div>\n<\/details>\n<details>\n<summary>How much space does a staircase need?<\/summary>\n<div>\n<p>Run is treads times tread depth. Fifteen risers at 10.5 in is 147 in, or 12 ft 3 in, plus landings.<\/p>\n<\/div>\n<\/details>\n<h3>Stringers and code<\/h3>\n<details>\n<summary>How do I calculate stringer length?<\/summary>\n<div>\n<p>Square root of total rise squared plus total run squared. For 109 in of rise and 147 in of run that is 183 in, so a 16 ft 2&#215;12 cuts one.<\/p>\n<\/div>\n<\/details>\n<details>\n<summary>What is the maximum riser height allowed?<\/summary>\n<div>\n<p>7 3\/4 in, with a 10 in minimum tread, per the code sections published in municipal handouts. The greatest riser cannot beat the smallest by more than 3\/8 in.<\/p>\n<\/div>\n<\/details>\n<details>\n<summary>Can SimplyWise price a stair build from a photo?<\/summary>\n<div>\n<p>Yes. SimplyWise Cost Estimator turns a photo into an itemized estimate in about 6 seconds, with material and labor line items. Free to try, $29.99\/mo or $239.99\/yr.<\/p>\n<\/div>\n<\/details>\n<\/div>\n<\/section>\n<section class=\"pm__final\">\n<div class=\"pm__inner\">\n<span class=\"pm__eyebrow\">Cut once<\/span><\/p>\n<h2>Turn the stair layout into a signed quote.<\/h2>\n<p>Snap a photo and get an itemized estimate in about 6 seconds. Free to try.<\/p>\n<p><a class=\"pm__btn pm__btn--lg\" href=\"https:\/\/swcostestimator.app.link\/ce-ai\" rel=\"noopener\" target=\"_blank\">SimplyWise Cost Estimator<\/a>\n<\/div>\n<\/section>\n<\/article>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"BlogPosting\",\n  \"headline\": \"Stair Calculator: Risers, Run, Stringer, and Code\",\n  \"description\": \"A stair calculator that turns total rise into riser count, exact riser height, total run, stringer length, a cut list, and a pass or fail against the published stair code.\",\n  \"author\": {\n    \"@type\": \"Organization\",\n    \"name\": \"SimplyWise\"\n  },\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"SimplyWise\",\n    \"logo\": {\n      \"@type\": \"ImageObject\",\n      \"url\": \"https:\/\/www.simplywise.com\/icon-512x512.png\"\n    }\n  },\n  \"datePublished\": \"2026-09-15\",\n  \"dateModified\": \"2026-10-13\",\n  \"mainEntityOfPage\": {\n    \"@type\": \"WebPage\",\n    \"@id\": \"https:\/\/www.simplywise.com\/blog\/stair-calculator\/\"\n  },\n  \"url\": \"https:\/\/www.simplywise.com\/blog\/stair-calculator\/\",\n  \"image\": [\n    \"https:\/\/images.unsplash.com\/photo-1768321915565-e20656edf92e?w=1400&h=700&fit=crop&q=80&auto=format\"\n  ]\n}\n<\/script><br \/>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"HowTo\",\n  \"name\": \"How to Calculate a Staircase\",\n  \"step\": [\n    {\n      \"@type\": \"HowToStep\",\n      \"position\": 1,\n      \"name\": \"Measure total rise on finished surfaces\",\n      \"text\": \"Measure floor to floor from the finished lower floor to the finished upper floor, including the finish flooring on both levels, because the finish thickness is spread across every riser.\"\n    },\n    {\n      \"@type\": \"HowToStep\",\n      \"position\": 2,\n      \"name\": \"Set the riser count, then the riser height\",\n      \"text\": \"Divide total rise by your target riser height and round to the nearest whole number for the riser count, then divide total rise by that count for the exact riser height. Never round the riser height itself.\"\n    },\n    {\n      \"@type\": \"HowToStep\",\n      \"position\": 3,\n      \"name\": \"Check the run against the room\",\n      \"text\": \"Tread count is one less than the riser count. Multiply tread count by tread depth for the total run, then confirm the run plus landings fits the space available.\"\n    },\n    {\n      \"@type\": \"HowToStep\",\n      \"position\": 4,\n      \"name\": \"Confirm headroom before you cut\",\n      \"text\": \"Measure 6 feet 8 inches down from the sloped line that touches each tread nosing. Moving the floor opening above is the expensive correction, so verify it before cutting stringers.\"\n    }\n  ]\n}\n<\/script><br \/>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How many stairs do I need?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Divide total rise by your target riser height and round to the nearest whole number. A 109 in rise at a 7.5 in target is 14.53, so 15 risers.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How many treads for 15 risers?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Fourteen. A stair landing on a floor has one fewer tread than risers, because the upper floor serves as the last tread.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How much space does a staircase need?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Run is treads times tread depth. Fifteen risers at 10.5 in is 147 in, or 12 ft 3 in, plus landings.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How do I calculate stringer length?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Square root of total rise squared plus total run squared. For 109 in of rise and 147 in of run that is 183 in, so a 16 ft 2x12 cuts one.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the maximum riser height allowed?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"7 3\/4 in, with a 10 in minimum tread, per the code sections published in municipal handouts. The greatest riser cannot beat the smallest by more than 3\/8 in.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can SimplyWise price a stair build from a photo?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. SimplyWise Cost Estimator turns a photo into an itemized estimate in about 6 seconds, with material and labor line items. Free to try, $29.99\/mo or $239.99\/yr.\"\n      }\n    }\n  ]\n}\n<\/script><br \/>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"BreadcrumbList\",\n  \"itemListElement\": [\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 1,\n      \"name\": \"Blog\",\n      \"item\": \"https:\/\/www.simplywise.com\/blog\/\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 2,\n      \"name\": \"Construction Calculators\",\n      \"item\": \"https:\/\/www.simplywise.com\/blog\/construction-calculators\/\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 3,\n      \"name\": \"Stair Calculator: Risers, Run, Stringer, and Code\",\n      \"item\": \"https:\/\/www.simplywise.com\/blog\/stair-calculator\/\"\n    }\n  ]\n}\n<\/script><\/p>\n<div class=\"rv-site-footer\">\n<div><span class=\"rv-bgi rv-wm\" role=\"img\" aria-label=\"SimplyWise\" style=\"background-image:url('https:\/\/www.simplywise.com\/static-pages\/static\/main-landing-page\/assets\/brand\/wordmark-white.svg');aspect-ratio:546\/87\"><\/span><\/p>\n<p class=\"rv-tag\">Smart tools for contractors<\/p>\n<ul class=\"rv-foot-links\">\n<li><a href=\"https:\/\/simplywise.com\/login\">Log in<\/a><\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/#program\">New Business Program<\/a><\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/about\">About<\/a><\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/support\">Support<\/a><\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/privacy\">Privacy<\/a><\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/terms\">Terms<\/a><\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/blog\/\">Blog<\/a><\/li>\n<\/ul>\n<p><small>&copy; 2026 SimplyWise<\/small><\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Estimates Receipts Mileage Room scans Visualizer Log in Estimates Receipts Mileage Room scans Visualizer Blog &nbsp;&rsaquo;&nbsp; Construction Calculators &nbsp;&rsaquo;&nbsp; Stair Calculator Contractor Calculator &middot; Stairs Stair Calculator: Risers, Run, Stringer, and Code Stairs start with one number: total rise, floor to floor. Set it below and the risers, run, stringer, and code check update as [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_linkdex":"93","_yoast_wpseo_content_score":"90","_yoast_wpseo_meta-robots-noindex":"","_yoast_wpseo_canonical":"","inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9451","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Stair Calculator: Risers, Run, Stringer, and Code<\/title>\n<meta name=\"description\" content=\"A stair calculator that turns total rise into riser count, riser height, total run, stringer length, a cut list, and a pass or fail against stair code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.simplywise.com\/blog\/stair-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stair Calculator: Risers, Run, Stringer, and Code\" \/>\n<meta property=\"og:description\" content=\"A stair calculator that turns total rise into riser count, riser height, total run, stringer length, a cut list, and a pass or fail against stair code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.simplywise.com\/blog\/stair-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"SimplyWise Cost Estimator\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-15T09:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-27T05:29:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/images.unsplash.com\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format\" \/>\n<meta name=\"author\" content=\"Daniel Chinchilla\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Chinchilla\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/\"},\"author\":{\"name\":\"Daniel Chinchilla\",\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/#\\\/schema\\\/person\\\/c6b02975b13398fa4764650c8d5610ac\"},\"headline\":\"Stair Calculator\",\"datePublished\":\"2026-09-15T09:00:00+00:00\",\"dateModified\":\"2026-10-27T05:29:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/\"},\"wordCount\":1194,\"publisher\":{\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/images.unsplash.com\\\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/\",\"url\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/\",\"name\":\"Stair Calculator: Risers, Run, Stringer, and Code\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/images.unsplash.com\\\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format\",\"datePublished\":\"2026-09-15T09:00:00+00:00\",\"dateModified\":\"2026-10-27T05:29:54+00:00\",\"description\":\"A stair calculator that turns total rise into riser count, riser height, total run, stringer length, a cut list, and a pass or fail against stair code.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/#primaryimage\",\"url\":\"https:\\\/\\\/images.unsplash.com\\\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format\",\"contentUrl\":\"https:\\\/\\\/images.unsplash.com\\\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/stair-calculator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stair Calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/\",\"name\":\"SimplyWise Cost Estimator\",\"description\":\"Blog\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/#organization\",\"name\":\"SimplyWise Cost Estimator\",\"url\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/simplywise-logo-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/simplywise-logo-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"SimplyWise Cost Estimator\"},\"image\":{\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.crunchbase.com\\\/organization\\\/simplywise\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/#\\\/schema\\\/person\\\/c6b02975b13398fa4764650c8d5610ac\",\"name\":\"Daniel Chinchilla\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b1ee77005dde5ba597d7ae9e0e68fa11a123fd406740e5e70c7c1ed738d177f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b1ee77005dde5ba597d7ae9e0e68fa11a123fd406740e5e70c7c1ed738d177f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b1ee77005dde5ba597d7ae9e0e68fa11a123fd406740e5e70c7c1ed738d177f?s=96&d=mm&r=g\",\"caption\":\"Daniel Chinchilla\"},\"url\":\"https:\\\/\\\/www.simplywise.com\\\/blog\\\/author\\\/daniel\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Stair Calculator: Risers, Run, Stringer, and Code","description":"A stair calculator that turns total rise into riser count, riser height, total run, stringer length, a cut list, and a pass or fail against stair code.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/","og_locale":"en_US","og_type":"article","og_title":"Stair Calculator: Risers, Run, Stringer, and Code","og_description":"A stair calculator that turns total rise into riser count, riser height, total run, stringer length, a cut list, and a pass or fail against stair code.","og_url":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/","og_site_name":"SimplyWise Cost Estimator","article_published_time":"2026-09-15T09:00:00+00:00","article_modified_time":"2026-10-27T05:29:54+00:00","og_image":[{"url":"https:\/\/images.unsplash.com\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format","type":"","width":"","height":""}],"author":"Daniel Chinchilla","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Daniel Chinchilla","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/#article","isPartOf":{"@id":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/"},"author":{"name":"Daniel Chinchilla","@id":"https:\/\/www.simplywise.com\/blog\/#\/schema\/person\/c6b02975b13398fa4764650c8d5610ac"},"headline":"Stair Calculator","datePublished":"2026-09-15T09:00:00+00:00","dateModified":"2026-10-27T05:29:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/"},"wordCount":1194,"publisher":{"@id":"https:\/\/www.simplywise.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/#primaryimage"},"thumbnailUrl":"https:\/\/images.unsplash.com\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/","url":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/","name":"Stair Calculator: Risers, Run, Stringer, and Code","isPartOf":{"@id":"https:\/\/www.simplywise.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/#primaryimage"},"image":{"@id":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/#primaryimage"},"thumbnailUrl":"https:\/\/images.unsplash.com\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format","datePublished":"2026-09-15T09:00:00+00:00","dateModified":"2026-10-27T05:29:54+00:00","description":"A stair calculator that turns total rise into riser count, riser height, total run, stringer length, a cut list, and a pass or fail against stair code.","breadcrumb":{"@id":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.simplywise.com\/blog\/stair-calculator\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/#primaryimage","url":"https:\/\/images.unsplash.com\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format","contentUrl":"https:\/\/images.unsplash.com\/photo-1768321915565-e20656edf92e?w=1400&amp;h=700&amp;fit=crop&amp;q=80&amp;auto=format"},{"@type":"BreadcrumbList","@id":"https:\/\/www.simplywise.com\/blog\/stair-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.simplywise.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Stair Calculator"}]},{"@type":"WebSite","@id":"https:\/\/www.simplywise.com\/blog\/#website","url":"https:\/\/www.simplywise.com\/blog\/","name":"SimplyWise Cost Estimator","description":"Blog","publisher":{"@id":"https:\/\/www.simplywise.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.simplywise.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.simplywise.com\/blog\/#organization","name":"SimplyWise Cost Estimator","url":"https:\/\/www.simplywise.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.simplywise.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.simplywise.com\/blog\/wp-content\/uploads\/2026\/08\/simplywise-logo-512x512-1.png","contentUrl":"https:\/\/www.simplywise.com\/blog\/wp-content\/uploads\/2026\/08\/simplywise-logo-512x512-1.png","width":512,"height":512,"caption":"SimplyWise Cost Estimator"},"image":{"@id":"https:\/\/www.simplywise.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.crunchbase.com\/organization\/simplywise"]},{"@type":"Person","@id":"https:\/\/www.simplywise.com\/blog\/#\/schema\/person\/c6b02975b13398fa4764650c8d5610ac","name":"Daniel Chinchilla","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1b1ee77005dde5ba597d7ae9e0e68fa11a123fd406740e5e70c7c1ed738d177f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b1ee77005dde5ba597d7ae9e0e68fa11a123fd406740e5e70c7c1ed738d177f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b1ee77005dde5ba597d7ae9e0e68fa11a123fd406740e5e70c7c1ed738d177f?s=96&d=mm&r=g","caption":"Daniel Chinchilla"},"url":"https:\/\/www.simplywise.com\/blog\/author\/daniel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/posts\/9451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/comments?post=9451"}],"version-history":[{"count":10,"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/posts\/9451\/revisions"}],"predecessor-version":[{"id":12878,"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/posts\/9451\/revisions\/12878"}],"wp:attachment":[{"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/media?parent=9451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/categories?post=9451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/tags?post=9451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}