{"id":12154,"date":"2026-10-20T09:00:00","date_gmt":"2026-10-20T09:00:00","guid":{"rendered":"https:\/\/www.simplywise.com\/blog\/?p=12154"},"modified":"2026-10-20T14:47:17","modified_gmt":"2026-10-20T14:47:17","slug":"stair-stringer-calculator","status":"publish","type":"post","link":"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/","title":{"rendered":"Stair Stringer Calculator: Cut List and Board Length"},"content":{"rendered":"<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>\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__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__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 .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>\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<article class=\"pm\">\n<header class=\"pm__hero\">\n<div class=\"pm__inner\">\n<nav class=\"pm__crumb\">Blog &nbsp;&rsaquo;&nbsp; Project Cost Guides &nbsp;&rsaquo;&nbsp; Stair Stringer Calculator<\/nav>\n<p><span class=\"pm__eyebrow\">Contractor Calculator &middot; Stringer Cuts<\/span><\/p>\n<h1>Stair Stringer Calculator: Cut List and Board Length<\/h1>\n<p class=\"pm__dek\">Get the riser cuts, tread count, and board length before you mark your first 2&#215;12.<\/p>\n<p><a class=\"pm__btn\" href=\"https:\/\/swcostestimator.app.link\/ce-ai\" rel=\"noopener\" target=\"_blank\">Try SimplyWise Cost Estimator free<\/a><\/p>\n<p class=\"pm__dek-cta\">Free to try. Build a quote from your cut list.<\/p>\n<div class=\"pm__rating\"><span class=\"pm__stars\" aria-hidden=\"true\">&#9733;&#9733;&#9733;&#9733;&#9733;<\/span><span>4.8 on the App Store for SimplyWise Cost Estimator<\/span><\/div>\n<div class=\"pm__meta\"><span>SimplyWise<\/span><i><\/i><span>Updated October 20, 2026<\/span><i><\/i><span>5 min read<\/span><\/div>\n<style id=\"ssc-style\">.ssc{background:#fff;border:1px solid #dbe6ff;border-radius:18px;box-shadow:0 8px 30px rgba(16,24,40,.10);padding:26px;margin:34px auto 4px;max-width:720px;text-align:left;font-family:Inter,-apple-system,sans-serif;box-sizing:border-box;}.ssc *{box-sizing:border-box;}.ssc__kicker{font:700 11px\/1.5 Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#2563eb;}.ssc h2.ssc__title{font:800 21px\/1.25 Inter,sans-serif;margin:7px 0 14px;color:#111827;}.ssc__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;}.ssc__field{min-width:0;margin-bottom:14px;}.ssc label{display:block;font:600 13px\/1.5 Inter,sans-serif;color:#4b5563;margin-bottom:6px;}.ssc input,.ssc select{display:block;width:100%;min-width:0;min-height:46px;padding:10px;border:1.5px solid #d1d5db;border-radius:10px;background:#fbfcfe;font:600 16px\/1.4 Inter,sans-serif;color:#111827;}.ssc input:focus,.ssc select:focus{outline:3px solid #bfdbfe;outline-offset:2px;border-color:#2563eb;}.ssc__hint,.ssc p.ssc__note{display:block;font:400 12px\/1.6 Inter,sans-serif;color:#4b5563;margin:6px 0 12px;}.ssc__out{background:linear-gradient(180deg,#f0f5ff,#eef4ff);border:1px solid #dbe6ff;border-radius:14px;padding:16px 18px;}.ssc__row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px solid #dbe6ff;font:500 14px\/1.5 Inter,sans-serif;color:#4b5563;}.ssc__row b{color:#111827;text-align:right;font-variant-numeric:tabular-nums;}.ssc__row:last-of-type{border-bottom:0;}.ssc__status{font:600 13px\/1.6 Inter,sans-serif;color:#166534;margin:12px 0 0;}.ssc__status[data-state=\"fail\"],.ssc__error{color:#991b1b;}.ssc__error{font:600 13px\/1.5 Inter,sans-serif;margin:8px 0;}.ssc [hidden]{display:none!important;}.pm__faq summary h3.pm__faq-q{font:600 16px\/1.5 Inter,sans-serif;margin:0;letter-spacing:0;}.pm__rating{flex-wrap:wrap;line-height:1.5;}@media(max-width:600px){.ssc{padding:18px 14px;margin-top:24px;}.ssc__grid{gap:10px;}.ssc__out{padding:12px;}.ssc__row{font-size:13px;gap:8px;}.ssc__row>span{flex:1;}.ssc__row>b{flex:1;}.ssc select{font-size:14px;}}<\/style>\n<section class=\"ssc\" id=\"ssccalc\" aria-label=\"Stair stringer calculator\">\n<span class=\"ssc__kicker\">Free stair stringer calculator<\/span><\/p>\n<h2 class=\"ssc__title\">Your stringer cut list<\/h2>\n<div class=\"ssc__grid\">\n<div class=\"ssc__field\"><label for=\"ssc-rise\">Total rise (in)<\/label><input id=\"ssc-rise\" type=\"text\" value=\"56\" aria-describedby=\"ssc-rise-hint\"><span class=\"ssc__hint\" id=\"ssc-rise-hint\">Decimal or fraction, like 56 1\/2.<\/span><\/div>\n<div class=\"ssc__field\"><label for=\"ssc-run\">Tread run (in)<\/label><input id=\"ssc-run\" type=\"number\" inputmode=\"decimal\" min=\"0.01\" max=\"100\" step=\"any\" value=\"10\"><\/div>\n<div class=\"ssc__field\"><label for=\"ssc-width\">Stair width (in)<\/label><input id=\"ssc-width\" type=\"number\" inputmode=\"decimal\" min=\"0.01\" max=\"1000\" step=\"any\" value=\"36\"><\/div>\n<div class=\"ssc__field\"><label for=\"ssc-spacing\">Stringer spacing<\/label><select id=\"ssc-spacing\"><option value=\"12\">12 in on center<\/option><option value=\"16\">16 in on center<\/option><\/select><\/div>\n<\/div>\n<div class=\"ssc__field\"><label for=\"ssc-top\">Top step condition<\/label><select id=\"ssc-top\"><option value=\"flush\">Top tread flush with deck<\/option><option value=\"extra\">Extra top tread<\/option><\/select><span class=\"ssc__hint\">Flush: treads equal risers minus one. Extra: treads equal risers.<\/span><\/div>\n<p class=\"ssc__error\" id=\"ssc-error\" role=\"alert\" hidden>\n<div class=\"ssc__out\" aria-live=\"polite\" aria-atomic=\"true\">\n<div class=\"ssc__row\"><span>Number of risers<\/span><b id=\"ssc-risers\">8<\/b><\/div>\n<div class=\"ssc__row\"><span>Riser height<\/span><b id=\"ssc-height\">7.00 in (7 in)<\/b><\/div>\n<div class=\"ssc__row\"><span>Number of treads<\/span><b id=\"ssc-treads\">7<\/b><\/div>\n<div class=\"ssc__row\"><span>Total run<\/span><b id=\"ssc-total-run\">70 in<\/b><\/div>\n<div class=\"ssc__row\"><span>Stringer length<\/span><b id=\"ssc-length\">89.64 in<\/b><\/div>\n<div class=\"ssc__row\"><span>2&#215;12 board to buy<\/span><b id=\"ssc-board\">10 ft<\/b><\/div>\n<div class=\"ssc__row\"><span>Stair angle<\/span><b id=\"ssc-angle\">34.99\u00b0<\/b><\/div>\n<div class=\"ssc__row\"><span>Number of stringers<\/span><b id=\"ssc-count\">4<\/b><\/div>\n<div class=\"ssc__row\"><span>Throat depth<\/span><b id=\"ssc-throat\">5.52 in<\/b><\/div>\n<p class=\"ssc__status\" id=\"ssc-code\" data-state=\"pass\">Pass: riser and run only.<\/p>\n<p class=\"ssc__note\" id=\"ssc-layout\">Check end supports and tread span before cutting.<\/p>\n<p class=\"ssc__note\" id=\"ssc-throat-check\">Meets the DCA6 5 in throat minimum.<\/p>\n<\/div>\n<p class=\"ssc__note\">Code check: riser 7.75 in max; run 10 in min. IRC R311.7.5.1 and R311.7.5.2.<\/p>\n<p class=\"ssc__note\">Uses an 11.25 in wide 2&#215;12 and 12 in of trim allowance. Fractions round to 1\/16.<\/p>\n<p><noscript><\/p>\n<p class=\"ssc__note\">Enable JavaScript to change this example.<\/p>\n<p><\/noscript><br \/>\n<\/section>\n<p><script>\n(function(){\n  'use strict';\n  function el(id){return document.getElementById('ssc-'+id);}\n  var outputs=['risers','height','treads','total-run','length','board','angle','count','throat'];\n  function number(text){\n    var s=String(text).trim(), m;\n    if(\/^\\d+(?:\\.\\d*)?$\/.test(s)||\/^\\.\\d+$\/.test(s)){return Number(s);}\n    m=s.match(\/^(?:(\\d+)\\s+)?(\\d+)\\\/(\\d+)$\/);\n    if(m ? Number(m[3])>0 : false){return Number(m[1]||0)+Number(m[2])\/Number(m[3]);}\n    return NaN;\n  }\n  function fmt(x){return x.toFixed(2).replace(\/\\.?0+$\/,'');}\n  function fraction(x){\n    var ticks=Math.round(x*16),whole=Math.floor(ticks\/16),n=ticks%16,d=16;\n    while(n ? n%2===0 : false){n\/=2;d\/=2;}\n    return n ? (whole ? whole+' ' : '')+n+'\/'+d : String(whole);\n  }\n  function clear(){\n    outputs.forEach(function(id){el(id).textContent='Not calculated';});\n    el('code').textContent='Code check unavailable.';el('code').dataset.state='fail';\n    el('layout').textContent='Enter valid dimensions to see a cut list.';\n    el('throat-check').textContent='Throat check unavailable.';\n  }\n  function run(){\n    var rise=number(el('rise').value),run=number(el('run').value),width=number(el('width').value);\n    function inRange(x,max){return isFinite(x) ? (x>0 ? max>=x : false) : false;}\n    var valid=inRange(rise,1000) ? (inRange(run,100) ? inRange(width,1000) : false) : false;\n    el('error').hidden=valid;\n    ['rise','run','width'].forEach(function(id){el(id).removeAttribute('aria-invalid');});\n    if(!valid){\n      el('error').textContent='Enter positive values: rise and width up to 1000 in; run up to 100 in.';\n      [['rise',rise,1000],['run',run,100],['width',width,1000]].forEach(function(v){if(!isFinite(v[1])||0>=v[1]||v[1]>v[2]){el(v[0]).setAttribute('aria-invalid','true');}});\n      clear();return;\n    }\n    var risers=Math.ceil(rise\/7.75),height=rise\/risers;\n    var treads=risers-(el('top').value==='flush'?1:0),totalRun=treads*run;\n    var length=Math.hypot(rise,totalRun),needed=length+12;\n    var stock=[8,10,12,14,16].find(function(ft){return ft*12>=needed;});\n    var spacing=Number(el('spacing').value),count=Math.floor(width\/spacing)+1;\n    var throat=11.25-height*run\/Math.hypot(height,run),angle=Math.atan2(height,run)*180\/Math.PI;\n    el('risers').textContent=String(risers);\n    el('height').textContent=height.toFixed(2)+' in ('+fraction(height)+' in)';\n    el('treads').textContent=String(treads);\n    el('total-run').textContent=fmt(totalRun)+' in';\n    el('length').textContent=fmt(length)+' in';\n    el('board').textContent=stock?stock+' ft':'Exceeds 16 ft stock';\n    el('angle').textContent=fmt(angle)+'\u00b0';\n    el('count').textContent=String(count);\n    el('throat').textContent=fmt(throat)+' in';\n    var fail=height>7.75||10>run;\n    el('code').dataset.state=fail?'fail':'pass';\n    el('code').textContent=fail?'Fails code: '+(height>7.75?'riser above 7.75 in.':'run below 10 in.'):'Pass: riser and run only.';\n    el('layout').textContent=(3>count||width%spacing!==0)?'Layout needs review: count does not ensure edge support or maximum spacing.':'Check end supports and tread span before cutting.';\n    el('throat-check').textContent=5>throat?'Below the DCA6 5 in throat minimum. Revise the layout.':'Meets the DCA6 5 in throat minimum.';\n    if(!stock){el('layout').textContent+=' No listed board fits; review the stair design.';}\n    if(treads===0){el('layout').textContent+=' No tread cuts in this single-rise layout.';}\n  }\n  ['rise','run','width'].forEach(function(id){el(id).addEventListener('input',run);});\n  ['spacing','top'].forEach(function(id){el(id).addEventListener('change',run);});\n  run();\n})();\n<\/script><\/p>\n<figure class=\"pm__fig\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1768321917259-e233b1a5569f?w=1200&amp;q=80\" alt=\"An unfinished interior staircase beside exposed wall and ceiling framing during a house renovation\" loading=\"eager\" width=\"1200\" height=\"1600\"><\/figure>\n<\/div>\n<\/header>\n<div class=\"pm__body\">\n<div class=\"pm__inner\">\n<h2>Why does the stringer get cut wrong?<\/h2>\n<p>A stringer carries every step, so one wrong mark repeats down the board. Use our <a href=\"https:\/\/www.simplywise.com\/blog\/stair-calculator\/\">stair calculator<\/a> for the full stair plan. This stair stringer calculator focuses on the cuts and stock to buy. First, measure from the finished landing to the finished deck. Then choose the top step condition before marking wood.<\/p>\n<aside class=\"pm__tldr\">\n<div class=\"pm__tldr-label\">Your cut list at a glance<\/div>\n<ol>\n<li>The default 56 in rise gives 8 equal risers.<\/li>\n<li>Each riser is 7 in; each run is 10 in.<\/li>\n<li>The flush option gives 7 treads and 70 in of run.<\/li>\n<li>The stringer is 89.64 in long before trim allowance.<\/li>\n<li>Buy a 10 ft board for each stringer in this example.<\/li>\n<li>The count is 4 at 36 in wide and 12 in spacing.<\/li>\n<\/ol>\n<div class=\"pm__tldr-cta\"><span>Ready to quote the job?<\/span><a href=\"https:\/\/swcostestimator.app.link\/ce-ai\" rel=\"noopener\" target=\"_blank\">Try SimplyWise free<\/a><\/div>\n<\/aside>\n<h2>How does the stair stringer calculator build a cut list?<\/h2>\n<p>First, divide total rise by 7.75 and round up for the riser count. Divide rise by that count for each riser. Next, multiply tread count by run. The stringer length is the square root of rise squared plus total run squared.<\/p>\n<p>Then add our 12 in trim allowance and round up to a listed board length. This allowance is a planning choice, so check the end cuts. The stair angle uses one riser and one run. Throat depth means wood left below each notch.<\/p>\n<p>The count uses width divided by spacing, rounded down, plus one. It does not prove edge support. So check the tread maker&#8217;s span limit and both outer stringers.<\/p>\n<h2>Worked cut list: a 56 in deck rise<\/h2>\n<p>With a 10 in run, 56 divided by 7.75 rounds up to 8 risers. Divide 56 by 8 for a 7 in rise cut. The flush option leaves 7 run cuts at 10 in each.<\/p>\n<p>That gives 70 in of run and an 89.64 in diagonal. Add 12 in for 101.64 in of stock needed. So choose a 10 ft 2&#215;12. The angle is 34.99 degrees, and the throat is 5.52 in.<\/p>\n<p>For the extra top tread option, keep 8 risers but mark 8 treads. Total run becomes 80 in. Check that change against the deck connection before cutting.<\/p>\n<p class=\"pm__inline-cta\"><a href=\"https:\/\/swcostestimator.app.link\/ce-ai\" rel=\"noopener\" target=\"_blank\">Turn your cut list into a quote, free to try<\/a><\/p>\n<h2>Which stock length fits the rise?<\/h2>\n<p>This stair stringer calculator checks 8 to 16 ft boards. The table uses a 10 in run, flush top, and 12 in allowance. Heights round down to 1\/16 in.<\/p>\n<table class=\"pm__table\" id=\"stock-table\" style=\"display:table\">\n<thead>\n<tr>\n<th scope=\"col\">2&#215;12 stock<\/th>\n<th scope=\"col\">Max total rise<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>8 ft<\/td>\n<td>54 1\/4 in<\/td>\n<\/tr>\n<tr>\n<td>10 ft<\/td>\n<td>69 3\/4 in<\/td>\n<\/tr>\n<tr>\n<td>12 ft<\/td>\n<td>85 1\/4 in<\/td>\n<\/tr>\n<tr>\n<td>14 ft<\/td>\n<td>99 5\/8 in<\/td>\n<\/tr>\n<tr>\n<td>16 ft<\/td>\n<td>113 1\/8 in<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>These are board fit limits, not safe unsupported spans. A tiny rise change can add a whole tread. So rerun the math after a site change.<\/p>\n<h2>How do you mark the board with a framing square?<\/h2>\n<ol class=\"pm__steps\">\n<li>\n<h3>Confirm the finished rise<\/h3>\n<p>Measure both finished surfaces first. Include tread thickness, since bare framing can give the wrong starting height.<\/p>\n<\/li>\n<li>\n<h3>Set the square gauges<\/h3>\n<p>Set one gauge at the riser height and one at the run. Keep both against the same board edge.<\/p>\n<\/li>\n<li>\n<h3>Step off each notch<\/h3>\n<p>Slide the square along that edge, then mark each rise and run. Count the tread marks before cutting.<\/p>\n<\/li>\n<li>\n<h3>Check the ends and throat<\/h3>\n<p>Adjust the bottom cut for tread thickness. Check the top connection, then test the first stringer before tracing copies.<\/p>\n<\/li>\n<\/ol>\n<p>Use the fraction as a tape reference. Keep the full rise in your layout, because repeated rounding can shift the last step. Also stop saw cuts at each corner. Finish the corner by hand to preserve the throat.<\/p>\n<h2>Which limits apply before you cut?<\/h2>\n<p>The 2021 IRC caps riser height at &ldquo;7<sup>3<\/sup>\/<sub>4<\/sub> inches (196 mm)&rdquo;. Its minimum tread depth is &ldquo;10 inches (254 mm)&rdquo;. Those are the limits quoted in <a href=\"https:\/\/codes.iccsafe.org\/content\/IRC2021P1\/chapter-3-building-planning\">R311.7.5.1 and R311.7.5.2<\/a>.<\/p>\n<p>The check covers those two limits only. Confirm local rules, landings, rails, nosings, and support details before building. For deck stringers, <a href=\"https:\/\/awc.org\/wp-content\/uploads\/2022\/02\/AWC-DCA62015-DeckGuide-1804.pdf\">AWC DCA6 Figure 28<\/a> shows a 5 in minimum throat. It also limits unsupported span, so a long board does not approve a long span.<\/p>\n<h2>Turn the cut list into a signed quote<\/h2>\n<section class=\"pm__promo\">\n<p>SimplyWise Cost Estimator turns a photo into an itemized estimate in about 6 seconds. Next, enter your checked board count and scope. Edit the material, labor, and fee lines. Then send a professional, branded quote the client signs to approve.<\/p>\n<p>Pricing is $29.99\/mo, $239.99\/yr (about $20\/mo on annual), with a 7-day free trial. For a larger project, start with the <a href=\"https:\/\/www.simplywise.com\/blog\/deck-estimate-app\/\">deck estimate app guide<\/a>.<\/p>\n<p><a class=\"pm__btn\" href=\"https:\/\/swcostestimator.app.link\/ce-ai\" rel=\"noopener\" target=\"_blank\">Try SimplyWise Cost Estimator free<\/a><br \/>\n<\/section>\n<h2>Keep reading<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.simplywise.com\/blog\/stair-calculator\/\">Stair calculator<\/a>: plan the full flight.<\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/blog\/deck-building-cost\/\">Deck building cost<\/a>: plan the broader job.<\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/blog\/framing-stud-calculator\/\">Framing stud calculator<\/a>: count wall stock.<\/li>\n<li><a href=\"https:\/\/www.simplywise.com\/blog\/plywood-calculator\/\">Plywood calculator<\/a>: count sheets.<\/li>\n<\/ul>\n<div class=\"pm__sources\">\n<h2>Sources<\/h2>\n<h3>Code and board size<\/h3>\n<ul>\n<li><a href=\"https:\/\/codes.iccsafe.org\/content\/IRC2021P1\/chapter-3-building-planning\">ICC 2021 IRC, R311.7.5<\/a>: riser and tread limits.<\/li>\n<li><a href=\"https:\/\/awc.org\/wp-content\/uploads\/2022\/02\/AWC-DCA62015-DeckGuide-1804.pdf\">AWC DCA6, Figure 28<\/a>: throat and support details.<\/li>\n<li><a href=\"https:\/\/www.nist.gov\/document\/ps-20-25-final\">NIST PS 20, Table 3<\/a>: dry 2&#215;12 width, 11.25 in.<\/li>\n<\/ul>\n<h3>Product and method<\/h3>\n<ul>\n<li><a href=\"https:\/\/apps.apple.com\/us\/app\/simplywise-cost-estimator\/id6670619664\">SimplyWise Cost Estimator<\/a>: App Store rating. Sources checked October 20, 2026.<\/li>\n<li>Stock sizes and trim allowance are calculator assumptions. Table values follow the same geometry.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<section class=\"pm__faq\">\n<div class=\"pm__inner\">\n<h2>Stair stringer calculator FAQ<\/h2>\n<details>\n<summary>\n<h3 class=\"pm__faq-q\">Does the board length include the end cuts?<\/h3>\n<\/summary>\n<div>\n<p>It includes a 12 in allowance beyond the diagonal. Check your top connection and bottom bearing before buying. If neither end fits, choose longer stock.<\/p>\n<\/div>\n<\/details>\n<details>\n<summary>\n<h3 class=\"pm__faq-q\">Why can the stringer count need review?<\/h3>\n<\/summary>\n<div>\n<p>The formula rounds width divided by spacing down, then adds one. That count may leave an edge gap. Check actual centers and add support where needed.<\/p>\n<\/div>\n<\/details>\n<details>\n<summary>\n<h3 class=\"pm__faq-q\">Can I enter a fraction for the rise?<\/h3>\n<\/summary>\n<div>\n<p>Yes. Type 56 1\/2 or a decimal such as 56.5. The tool keeps the full value for math. Only the displayed fraction rounds to 1\/16.<\/p>\n<\/div>\n<\/details>\n<\/div>\n<\/section>\n<section class=\"pm__final\">\n<div class=\"pm__inner\"><span class=\"pm__eyebrow\">From cut list to quote<\/span><\/p>\n<h2>Check the cuts. Then quote the job.<\/h2>\n<p>Keep your board count, scope, and client approval together in a clear quote. SimplyWise Cost Estimator is free to try.<\/p>\n<p><a class=\"pm__btn pm__btn--lg\" href=\"https:\/\/swcostestimator.app.link\/ce-ai\" rel=\"noopener\" target=\"_blank\">Try SimplyWise Cost Estimator free<\/a>\n<\/div>\n<\/section>\n<\/article>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"headline\": \"Stair Stringer Calculator: Cut List and Board Length\",\n      \"description\": \"Use this stair stringer calculator for riser cuts, tread count, throat depth, and board length. Plan your 2x12 cut list before you cut.\",\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-10-20\",\n      \"dateModified\": \"2026-10-20\",\n      \"mainEntityOfPage\": \"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/\",\n      \"image\": \"https:\/\/images.unsplash.com\/photo-1768321917259-e233b1a5569f?w=1200&q=80\"\n    },\n    {\n      \"@type\": \"SoftwareApplication\",\n      \"name\": \"SimplyWise Cost Estimator\",\n      \"operatingSystem\": \"iOS, Android\",\n      \"applicationCategory\": \"BusinessApplication\",\n      \"offers\": {\n        \"@type\": \"Offer\",\n        \"price\": \"29.99\",\n        \"priceCurrency\": \"USD\"\n      },\n      \"aggregateRating\": {\n        \"@type\": \"AggregateRating\",\n        \"ratingValue\": \"4.8\",\n        \"reviewCount\": \"39359\"\n      }\n    }\n  ]\n}\n<\/script><br \/>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"HowTo\",\n  \"name\": \"How to lay out a stair stringer with a framing square\",\n  \"step\": [\n    {\n      \"@type\": \"HowToStep\",\n      \"position\": 1,\n      \"name\": \"Confirm the finished rise\",\n      \"text\": \"Measure both finished surfaces first. Include tread thickness, since bare framing can give the wrong starting height.\"\n    },\n    {\n      \"@type\": \"HowToStep\",\n      \"position\": 2,\n      \"name\": \"Set the square gauges\",\n      \"text\": \"Set one gauge at the riser height and one at the run. Keep both against the same board edge.\"\n    },\n    {\n      \"@type\": \"HowToStep\",\n      \"position\": 3,\n      \"name\": \"Step off each notch\",\n      \"text\": \"Slide the square along that edge, then mark each rise and run. Count the tread marks before cutting.\"\n    },\n    {\n      \"@type\": \"HowToStep\",\n      \"position\": 4,\n      \"name\": \"Check the ends and throat\",\n      \"text\": \"Adjust the bottom cut for tread thickness. Check the top connection, then test the first stringer before tracing copies.\"\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\": \"Does the board length include the end cuts?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"It includes a 12 in allowance beyond the diagonal. Check your top connection and bottom bearing before buying. If neither end fits, choose longer stock.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Why can the stringer count need review?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"The formula rounds width divided by spacing down, then adds one. That count may leave an edge gap. Check actual centers and add support where needed.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can I enter a fraction for the rise?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. Type 56 1\/2 or a decimal such as 56.5. The tool keeps the full value for math. Only the displayed fraction rounds to 1\/16.\"\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\": \"Home\",\n      \"item\": \"https:\/\/www.simplywise.com\/\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 2,\n      \"name\": \"Blog\",\n      \"item\": \"https:\/\/www.simplywise.com\/blog\/\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 3,\n      \"name\": \"Project Cost Guides\",\n      \"item\": \"https:\/\/www.simplywise.com\/blog\/category\/cost-guides\/\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 4,\n      \"name\": \"Stair Stringer Calculator\",\n      \"item\": \"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/\"\n    }\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Blog &nbsp;&rsaquo;&nbsp; Project Cost Guides &nbsp;&rsaquo;&nbsp; Stair Stringer Calculator Contractor Calculator &middot; Stringer Cuts Stair Stringer Calculator: Cut List and Board Length Get the riser cuts, tread count, and board length before you mark your first 2&#215;12. Try SimplyWise Cost Estimator free Free to try. Build a quote from your cut list. &#9733;&#9733;&#9733;&#9733;&#9733;4.8 on the [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"stair stringer calculator","_yoast_wpseo_title":"Stair Stringer Calculator: Cut List and Board Length","_yoast_wpseo_metadesc":"Use this stair stringer calculator for riser cuts, tread count, throat depth, and board length. Plan your 2x12 cut list before you cut.","_yoast_wpseo_linkdex":"78","_yoast_wpseo_content_score":"90","_yoast_wpseo_meta-robots-noindex":"","_yoast_wpseo_canonical":"","inline_featured_image":false,"footnotes":""},"categories":[180],"tags":[],"class_list":["post-12154","post","type-post","status-publish","format-standard","hentry","category-cost-guides"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Stair Stringer Calculator: Cut List and Board Length<\/title>\n<meta name=\"description\" content=\"Use this stair stringer calculator for riser cuts, tread count, throat depth, and board length. Plan your 2x12 cut list before you cut.\" \/>\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-stringer-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stair Stringer Calculator: Cut List and Board Length\" \/>\n<meta property=\"og:description\" content=\"Use this stair stringer calculator for riser cuts, tread count, throat depth, and board length. Plan your 2x12 cut list before you cut.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"SimplyWise Cost Estimator\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-20T09:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-20T14:47:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/images.unsplash.com\/photo-1768321917259-e233b1a5569f?w=1200&amp;q=80\" \/>\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-stringer-calculator\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/\"},\"author\":{\"name\":\"Daniel Chinchilla\",\"@id\":\"https:\/\/www.simplywise.com\/blog\/#\/schema\/person\/c6b02975b13398fa4764650c8d5610ac\"},\"headline\":\"Stair Stringer Calculator: Cut List and Board Length\",\"datePublished\":\"2026-10-20T09:00:00+00:00\",\"dateModified\":\"2026-10-20T14:47:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/\"},\"wordCount\":1124,\"publisher\":{\"@id\":\"https:\/\/www.simplywise.com\/blog\/#organization\"},\"articleSection\":[\"Project Cost Guides\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/\",\"url\":\"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/\",\"name\":\"Stair Stringer Calculator: Cut List and Board Length\",\"isPartOf\":{\"@id\":\"https:\/\/www.simplywise.com\/blog\/#website\"},\"datePublished\":\"2026-10-20T09:00:00+00:00\",\"dateModified\":\"2026-10-20T14:47:17+00:00\",\"description\":\"Use this stair stringer calculator for riser cuts, tread count, throat depth, and board length. Plan your 2x12 cut list before you cut.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.simplywise.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stair Stringer Calculator: Cut List and Board Length\"}]},{\"@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\":\"required name=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:\/\/www.simplywise.com\/blog\/#\/schema\/person\/image\/\",\"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 Stringer Calculator: Cut List and Board Length","description":"Use this stair stringer calculator for riser cuts, tread count, throat depth, and board length. Plan your 2x12 cut list before you cut.","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-stringer-calculator\/","og_locale":"en_US","og_type":"article","og_title":"Stair Stringer Calculator: Cut List and Board Length","og_description":"Use this stair stringer calculator for riser cuts, tread count, throat depth, and board length. Plan your 2x12 cut list before you cut.","og_url":"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/","og_site_name":"SimplyWise Cost Estimator","article_published_time":"2026-10-20T09:00:00+00:00","article_modified_time":"2026-10-20T14:47:17+00:00","og_image":[{"url":"https:\/\/images.unsplash.com\/photo-1768321917259-e233b1a5569f?w=1200&amp;q=80"}],"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-stringer-calculator\/#article","isPartOf":{"@id":"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/"},"author":{"name":"Daniel Chinchilla","@id":"https:\/\/www.simplywise.com\/blog\/#\/schema\/person\/c6b02975b13398fa4764650c8d5610ac"},"headline":"Stair Stringer Calculator: Cut List and Board Length","datePublished":"2026-10-20T09:00:00+00:00","dateModified":"2026-10-20T14:47:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/"},"wordCount":1124,"publisher":{"@id":"https:\/\/www.simplywise.com\/blog\/#organization"},"articleSection":["Project Cost Guides"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/","url":"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/","name":"Stair Stringer Calculator: Cut List and Board Length","isPartOf":{"@id":"https:\/\/www.simplywise.com\/blog\/#website"},"datePublished":"2026-10-20T09:00:00+00:00","dateModified":"2026-10-20T14:47:17+00:00","description":"Use this stair stringer calculator for riser cuts, tread count, throat depth, and board length. Plan your 2x12 cut list before you cut.","breadcrumb":{"@id":"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.simplywise.com\/blog\/stair-stringer-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.simplywise.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Stair Stringer Calculator: Cut List and Board Length"}]},{"@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":"required name=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:\/\/www.simplywise.com\/blog\/#\/schema\/person\/image\/","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\/12154","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=12154"}],"version-history":[{"count":4,"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/posts\/12154\/revisions"}],"predecessor-version":[{"id":12162,"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/posts\/12154\/revisions\/12162"}],"wp:attachment":[{"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/media?parent=12154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/categories?post=12154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.simplywise.com\/blog\/wp-json\/wp\/v2\/tags?post=12154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}