Introduction: How to Build Garage Steps #
Garage steps are one of the simplest stair builds. Most jobs are just 1 to 3 risers (a riser is the vertical part of one step) going down from the house entry to the garage floor, with no landing platform in between. Simple does not mean sloppy - the same stair math and building rules still apply. This is often the first stair job a new carpenter builds, and it teaches every skill you will use on bigger staircases later: measuring the total rise, figuring each riser height, laying out the stringers (the zigzag boards that carry the treads, the flat parts you step on, and the risers), making the “drop” adjustment, and anchoring the stairs so they cannot move.
Garage steps usually cover a small height difference between the house floor and the garage floor, typically between 7″ (one riser) and about 22″ (three risers). For a bigger height difference, or if a door swings outward over the stairs, you need a landing (a flat platform partway down) instead - see the companion guide for steps with a landing. Most garage entries fall in the 14″ to 22″ range, which means 2 or 3 risers.
This guide covers the basic setup: 2 stringers with open risers (no boards covering the vertical gap under each tread). If you need a wider stair with a third stringer, a closed-riser finish, or a handrail, see the supplemental guides at the bottom of this page.
Even with just 2 or 3 steps, every riser needs to be the same height. This matters for safety. Your feet notice tiny differences - even a 1/4″ difference between two risers can make you stumble. Building code allows only 3/8″ of variance between the tallest and shortest riser, because uneven risers are a leading cause of falls on stairs. The most common mistake is to treat a short set of garage steps as “just a couple of steps” and guess at the measurements instead of doing the math.
Garage steps face a few problems other stairs don’t. They sit right on a concrete slab, so moisture is a real risk - any wood touching the concrete must be pressure-treated. The concrete floor is often not level; garages are built with a slope toward the door so water drains out, so your bottom measurements need to account for that slope. And because garage steps take heavy daily traffic - groceries, kids, dogs, muddy boots - they need to be built solid.
Tools Required to Build Garage Steps #
Power Tools #
- Circular saw (7-1/4″ blade minimum - you need this size to cut through 2×12 stringers)
- Drill/driver (for Tapcon anchors and tread screws)
- Hammer drill or rotary hammer (for drilling into concrete - standard drills won’t work for Tapcons in cured concrete)
- Jigsaw (optional - helpful for finishing inside corner cuts that the circular saw can’t reach)
Hand Tools #
- Framing square (the most important tool for this job - buy a quality steel one, not aluminum)
- Stair gauges (small brass clamps that attach to the framing square - they make layout repeatable and foolproof)
- Tape measure (25-foot minimum)
- Pencil (carpenter’s pencil - flat so it won’t roll off the stringer)
- Speed square (for marking 90° cut lines on treads and risers)
- 4-foot level (for checking treads for level after installation)
- Handsaw (for finishing the inside corners where the circular saw blade can’t reach - a sharp Japanese pull saw works great for this)
- Chalk line (for marking the plumb cut line at the top of the stringer, and for layout reference)
- Combination square (for checking the depth of your circular saw cut, and for marking the nosing overhang - the nosing is the tread’s front edge, the part that sticks out past the riser below it)
Supplies #
- 16d framing nails or 3″ structural screws (GRK, SPAX, or Simpson Strong-Tie - for attaching stringers to house framing)
- 2-1/2″ wood screws (for attaching treads to stringers - #8 or #10 gauge)
- Construction adhesive - PL Premium or a similar polyurethane adhesive (bonds the treads to the stringers; stops squeaks and makes the stairs much stiffer)
- 3/16″ × 2-3/4″ Tapcon concrete screws (for anchoring the kicker plate, the treated board at the bottom that keeps the stairs from sliding, to the concrete - buy hex-head, not Phillips)
- 5/32″ concrete drill bit (pilot bit for Tapcon screws - must match the Tapcon size exactly; it usually comes packaged with the screws)
- Simpson Strong-Tie stair stringer connector (LSC model or equivalent - a metal connector that locks the top of the stringer to the house framing and meets code)
- Pressure-treated 2×4 (for the kicker plate on concrete - MUST be ground-contact rated PT lumber, treated to sit against damp concrete safely, not standard framing lumber)
- Shims for the stringers and treads, in case the garage floor or wall isn’t perfectly flat
Materials #
- 2×12 lumber (for stringers): Pick structural-grade, kiln-dried lumber. Check each board for straightness, crown (a slight bow along its length), and large knots in the areas that will become tread and riser cuts - a knot right at a cut weakens the stringer. You need at least 2 stringers, or 3 for stairs wider than 36″. Each stringer takes about 14″ of board length per riser (a 3-riser stair uses about 3.5 feet of 2×12)
- Tread material options:
- 3/4″ CDX plywood - economical, strong, easy to cut. Paint or cover with rubber stair tread covers for grip
- 2×12 or 2×10 lumber - more traditional look, beefier, can be stained. Use a single board per tread for best results
- Laminated stair tread blanks (available at lumber yards) - pre-finished with a bullnose edge (the front edge rounded over instead of square), a premium option
- Pressure-treated lumber - required if the bottom tread is close to the concrete floor in high-moisture garages
- Riser material (closed riser configurations only): See the closed riser supplemental for material details
How to Build Garage Steps: 9-Step Process #
Step 1: Measure Total Rise Accurately #
This is the most important measurement in the whole job. Get it wrong here, and every riser will be wrong too.
Place a straight 2×4 on the house floor at the doorway and extend it out over the garage floor. Level it with a 4-foot level. Measure DOWN from the bottom of the leveled 2×4 to the garage floor directly below. This is your total rise. Take this measurement at multiple points across the stair width - the garage floor may slope (garages are typically sloped 1/4″ per foot toward the garage door for drainage). Use the measurement where the stringers will actually land.
Now divide the total rise by your target riser height. The ideal riser height for comfort is 7″ to 7-1/2″. You’ll rarely get a number that divides evenly, so round to the nearest whole number of risers, then recalculate:
- Total rise = 15-3/4″ (15.75″)
- 15.75″ ÷ 7″ = 2.25 → Round to 2 risers
- 15.75″ ÷ 2 = 7-7/8″ per riser
- ⚠️ That’s 7-7/8″ - OVER the 7-3/4″ maximum! Try 3 risers instead
- 15.75″ ÷ 3 = 5-1/4″ per riser ✅ Code compliant, but feels a bit short
In this example, 3 risers at 5-1/4″ is code-compliant but will feel a little shallow. That’s fine - it’s just unusual. The alternative (2 risers at 7-7/8″) violates code.
Pro Tip: Always measure to the TOP of the finished floor, not the subfloor. If the house floor hasn’t been installed yet, add its thickness to your measurement. For example, 3/4″ hardwood over a subfloor means your total rise is the subfloor measurement plus 3/4″. Getting this wrong by even 3/4″ will make your top riser feel different from the rest - and it will fail inspection.
Step 2: Lay Out the First Stringer #
This is where the framing square and stair gauges earn their keep. The stringer layout controls everything that follows - if the layout is wrong, the whole stair is wrong.
Setting up the framing square:
- Clamp one stair gauge to the tongue (narrow side) of the framing square at your riser height (the number you calculated in Step 1)
- Clamp the other stair gauge to the body (wide side) at your tread depth (10″ minimum - 11-1/4″ if using full 2×12 treads)
- Both gauges should hook on the edge of the 2×12 so the square sits at the same position every time you slide it along
Marking the layout:
- Lay the 2×12 on sawhorses with the crown (natural bow) facing UP - the crown side becomes the top of the stringer
- Start at one end. Position the framing square with both stair gauges hooked on the top edge of the board
- Trace along both the tongue (riser line) and body (tread line) with a sharp pencil
- Slide the square along the board until the tongue aligns with the end of the previous tread line, and trace the next riser/tread pair
- Repeat for each step. For 2 risers, you’ll mark 2 riser/tread pairs. For 3 risers, 3 pairs
Critical: The “drop” adjustment
After marking the layout, you must adjust the bottom of the stringer. Shorten the bottom riser by exactly one tread thickness. Here is why: once the tread board is installed on the bottom step, it adds height. Skip this adjustment, and the bottom riser (from the floor to the top of the first tread) ends up taller than all the others, by the thickness of the tread.
- Using 3/4″ plywood treads? → Shorten the bottom of the stringer by 3/4″
- Using 2x lumber treads (1-1/2″ actual)? → Shorten by 1-1/2″
- Mark a line parallel to the original bottom cut, offset up by the tread thickness. Cut on this new line
Top cut (plumb cut): At the top of the stringer, extend the last riser line straight up to the top edge of the board. This vertical (plumb) cut butts against the house framing. The top of the stringer should sit flush against the rim joist (the framing board that caps the edge of the house floor) or the wall framing, right at the height where the house floor meets the garage opening.
Pro Tip: Before cutting ANYTHING, set the marked 2×12 in position against the wall. Check the key measurement: does the top of the first tread cut line up exactly with the house floor level? If yes, your layout is correct. If not, recheck your math. It takes 2 minutes to verify and saves hours of rework.
Step 3: Cut the Stringers #
Cutting the stringers takes precision, and it is the hardest skill in this whole job. You are cutting large triangular notches out of the 2×12, and the wood that is left forms the skeleton that holds up the whole stair.
- Set the circular saw blade depth to cut through the full 1-1/2″ thickness of the 2×12. Use a sharp blade - a dull blade wanders and makes wavy cuts
- Cut along the tread and riser lines carefully. The circular saw blade is round, so it CANNOT cut all the way into the inside corner where the tread and riser lines meet. STOP the circular saw cut at the corner - do NOT overcut past the lines. Overcutting weakens the stringer because you’ve removed wood from the structural portion
- Finish the inside corners with a handsaw. Use a sharp handsaw or Japanese pull saw to carefully cut the remaining material at each inside corner where the circular saw couldn’t reach. Cut precisely to the pencil line - no further
- Cut the bottom (with drop adjustment) and the top plumb cut
How many stringers?
- Stairs up to 36″ wide: 2 stringers (one on each side) - this is what this guide covers
- Stairs wider than 36″ need a center stringer. See the 3-stringer supplemental for center stringer layout, installation, and blocking details
After cutting the first stringer, use it as a template for the rest. Clamp it on top of the next 2×12 and trace the pattern. Or better yet, cut the first one, test-fit it (Step 4), verify it’s correct, THEN use it as a template. Never mass-produce stringers from an unverified pattern.
After all stringers are cut, stack them on top of each other on a flat surface. All tread cuts and riser cuts should align within 1/16″. If one stringer is off, use it as the center stringer (where the error is least visible) or re-cut it.
Pro Tip: For basic 2-step stairs, you only need about 3 feet of 2×12 per stringer. But buy a full-length board (8′ or 10′) and cut from the straightest, clearest section. Reject boards with large knots in the area where the tread/riser cuts fall - a knot at a cut point is a weak point that can crack under load. Look at the board from the end to check for twist.
Pro Tip: After cutting, check that the remaining “throat” of the stringer (the narrowest section of wood remaining after the tread/riser cuts) is at least 3-1/2″. Code requires this minimum. If your layout produces a throat less than 3-1/2″, you may need to use a wider board or adjust the tread depth.
Step 4: Dry-Fit the First Stringer #
Before drilling into concrete or attaching anything permanently, test-fit the first stringer:
- Set the stringer in position with the top plumb cut against the house framing
- Place a level on each tread cut - they should all read level (or very close, accounting for the garage floor slope)
- Measure the first riser from the garage floor to the top of the first tread cut - this should equal your calculated riser height MINUS the tread thickness (because the drop adjustment was made, the tread material will bring it to the correct height)
- Temporarily place a piece of tread material on the first tread cut. Now measure from the garage floor to the top of the tread. This should equal your calculated riser height exactly
- Measure from the top of the tread to the house floor - this should equal your calculated riser height for the top riser
- If any measurement is off by more than 1/4″, find the error before proceeding
Pro Tip: This dry-fit step is where most stair-building mistakes get caught. NEVER skip it. It takes 5 minutes and can save you from rebuilding the entire staircase. Walk up and down the dry-fitted stringer (carefully, holding onto the wall) - your feet will immediately tell you if a riser height is off.
Step 5: Install the Kicker Plate #
The kicker plate anchors the bottom of the stringers to the concrete floor. Skip this step, and the stairs can slide forward every time someone steps on them.
- Cut a pressure-treated 2×4 to the full width of the stairway
- Position it on the garage floor where the bottom of the stringers will land - use your dry-fitted stringer to mark the exact location
- Drill pilot holes through the PT 2×4 and into the concrete with a hammer drill and 5/32″ masonry bit. Drill at least 1-3/4″ into the concrete (the Tapcon needs minimum 1″ embedment plus the 1-1/2″ wood thickness)
- Drive Tapcon screws through the 2×4 into the concrete - minimum 4 screws for a 36″ wide stair, spaced evenly
- Test the plate by trying to wiggle it side to side and push it forward - it should be completely solid. If it moves, add more Tapcons
Pro Tip: Blow out the concrete dust from each drilled hole with a compressed air nozzle or a puff from your mouth BEFORE driving the Tapcon. Dust in the hole reduces the screw’s grip. Also, drive Tapcons with a drill/driver on low speed - high speed overheats the screw and strips the concrete threads.
Step 6: Set and Attach the Stringers #
Now attach the stringers permanently at both the bottom (to the kicker plate) and the top (to the house framing).
Bottom attachment:
- Set each stringer on the kicker plate with the bottom cut flat on the PT 2×4
- Toenail or toe-screw (drive the fastener in at an angle through the face of the stringer into the plate) through the stringer into the kicker plate - 2 screws per side (4 per stringer)
- Alternatively, use a Simpson A34 or A35 framing angle on each side of each stringer to connect it to the kicker plate - this is the strongest method
Top attachment:
- Best method - Simpson LSC stair connector: This metal hanger wraps around the stringer and fastens to the rim joist or header (the framing beam over the doorway). It locks on solidly and won’t pull out. Follow the manufacturer’s nailing schedule (specific nail type and count)
- Alternative - direct fastening: Drive 3″ structural screws through the stringer’s plumb cut into the rim joist. Use at least 4 screws per stringer. This works, but it is not as strong as a metal hanger
- Another option - ledger board: Mount a 2×4 ledger (a horizontal support board) on the house framing at the height where the stringer tops land. Set the stringers on the ledger and screw through the back. This spreads the load over a wider area
After attaching, check every tread cut with a level. If a stringer has shifted or tilted during attachment, shim it before proceeding.
For wider stairs that require a center stringer, see the 3-stringer supplemental for blocking and additional attachment details.
Step 7: Install Risers (If Using Closed Style) #
This step applies only to closed riser configurations. If you’re building open riser stairs (this guide), skip to Step 8.
For closed riser installation details - material selection, cutting, sequencing (risers go in BEFORE treads), and attachment - see the closed riser supplemental.
Step 8: Install the Treads #
Treads carry the full weight of every step, so this is one of the most important parts of the job. Attach them with BOTH adhesive and screws, not one or the other.
- Apply a generous bead of construction adhesive to each stringer’s tread cut. Use a zigzag pattern for coverage - don’t just run a thin line
- Set the tread material in place. Position it with the correct nosing overhang on the front edge (3/4″ to 1-1/4″). The tread should also overhang the outside stringers by 1″ to 1-1/2″ on each side (or be flush if against a wall)
- Drive 2-1/2″ screws down through the tread into each stringer - 2 screws per stringer minimum. Pre-drill if using hardwood treads to prevent splitting
- If using closed risers (see closed riser supplemental), also drive a screw through the back of the tread into the riser top edge
- Check each tread with a level immediately after fastening. Shim under the tread at the stringer if needed
Pro Tip: Even on basic garage steps, always glue AND screw the treads. The adhesive stops squeaks and adds a lot of stiffness. Screws alone will loosen over time with daily foot traffic - garage steps take hundreds of trips a week. Glue alone has no clamping force to hold the tread tight while it cures. Both together make a permanent, squeak-free joint.
Pro Tip: For plywood treads, lightly round over the front edge with sandpaper, or with a router and a 1/4″ roundover bit. A sharp plywood edge is uncomfortable on bare feet and splinters easily. For a finished look, add iron-on edge banding to the exposed plywood edges.
Step 9: Final Verification and Finishing #
Before calling the job done, check every set of garage steps carefully:
- Measure every riser height (floor to tread, tread to tread, top tread to floor). Maximum variance allowed: 3/8″ between the tallest and shortest riser
- Walk up and down the stairs 5-6 times. Each step should feel identical. Your body will instantly feel an inconsistent riser
- Jump on each tread - no flexing, no bouncing, no creaking. If there’s flex, add a center stringer
- Check that the nosing projection is consistent on every tread
- Anti-slip protection is not optional on garage stair treads - smooth paint or bare wood gets dangerously slick when wet. If the treads get painted or stained, that part is the painter's job; just confirm anti-slip tread strips or grip tape go on before the steps see any traffic
Optional finishing touches:
- Install rubber stair treads or non-slip tape - garages get wet, and slipping on stairs is dangerous
- Consider adding a handrail even if code doesn’t require it (see Related Guides)
Sealing the seam where the stringers meet the wall, and finishing the exposed stringer faces, are the painter’s jobs. Hand off a swept, solid set of steps and let him take it from there.
Quality Check #
- All risers within 3/8″ of each other (measure and record each one)
- Treads level side-to-side and front-to-back
- Stringers solid with zero flex when walking
- Bottom securely anchored to concrete (kicker plate doesn’t move)
- Top securely attached to house framing (no separation gap when weight applied)
- No squeaking under foot traffic
- Comfortable to walk - all steps feel identical (close your eyes and walk up/down)
- Nosing projection consistent on all treads (3/4″ to 1-1/4″)
- Tread width matches stair opening with correct overhang on sides
- No overcuts visible on stringer faces (cosmetic defect and structural concern)
- All fasteners countersunk or flush (no protruding screw heads on treads)
- Stringer throat width is at least 3-1/2″ at narrowest point
- Headroom clearance meets 6′-8″ minimum under any header or soffit (the underside of the framing above the stairs)
Troubleshooting Common Garage Steps Problems #
Steps feel bouncy or flex when walking #
The most common fix is adding a center stringer - see the 3-stringer supplemental for the full process. If the span is narrow (under 30″) and still flexing, the tread material may be too thin - upgrade from 3/4″ plywood to 2x lumber or double up the plywood.
Bottom riser feels taller/shorter than the others #
This is the most common stair-building mistake. If the bottom riser feels TALLER: you forgot to make the drop adjustment (subtract one tread thickness from the bottom of the stringer). Remove the stairs and cut the drop adjustment from the bottom of each stringer. If the bottom riser feels SHORTER: you made the drop adjustment, but with the wrong measurement (for example, you subtracted 3/4″ but used 1-1/2″ thick treads), or you subtracted it twice by mistake. Re-measure and correct it.
Top riser is different from the others #
The total rise measurement was wrong. You either measured to the subfloor instead of the finished floor, or the finished floor has been installed since you measured and it changed the total rise. The only fix is to re-measure the actual total rise and re-cut the stringers. There are no shortcuts - an incorrect top riser cannot be shimmed or trimmed to match.
Stringers slide on the concrete floor #
The kicker plate is not anchored well enough. Possible causes: the Tapcon screws went into crumbling concrete (common near control joints, the intentional cracks cut into a slab, or near slab edges), the pilot holes weren’t deep enough, or you didn’t use enough screws. Remove the kicker plate, drill new holes in solid concrete away from cracks or edges, blow out the dust, and re-anchor. For rough concrete, consider concrete wedge anchors or drop-in anchors instead of Tapcons - they are heavier-duty and grip better.
Treads squeak when walked on #
Construction adhesive wasn’t used, has failed, or wasn’t given time to cure before heavy use. Drive additional screws through the tread into each stringer. For persistent squeaks, drive a screw from underneath (through the stringer tread cut up into the tread) which pulls the tread tight against the stringer. Injecting adhesive through a drilled hole on the underside can also help fill gaps between the tread and stringer.
Tread nosing overhang is inconsistent #
The tread wasn’t properly positioned before fastening, or stringers aren’t perfectly aligned. If only slightly off, you can plane or sand the nosing to match. If significantly off, remove the tread, reposition, and reattach. Use a combination square set to the desired overhang as a guide when positioning each tread.
Treads don’t sit level even though stringers were level during dry-fit #
The stringers shifted during final attachment. Check that the stringers are still plumb and the tread cuts are level. If a stringer has twisted or tilted, loosen its fasteners and re-set it. Blocking (short pieces of lumber nailed in between the stringers) stops this twisting, both during and after installation. Also check that the kicker plate is level - if the garage floor slopes (which it usually does), the kicker plate may need to be shimmed on one end.
Can’t get Tapcon screws to hold in the concrete #
There are a few possible causes: the pilot hole is too shallow (drill at least 1/4″ deeper than the screw will go in), the concrete is old and crumbling (move to a different spot, or use epoxy anchors, which set with a chemical adhesive, instead), the hole wasn’t cleaned of dust (blow it out with compressed air or a vacuum before driving), or the screw was driven too fast and overheated (use low speed on the drill). If Tapcons keep failing, switch to 1/4″ sleeve anchors or wedge anchors, which grip differently and hold better in weak concrete.
Stringer has a visible overcut past the tread/riser corner #
The circular saw ran past the layout line at the inside corner. This is both a look problem and a strength problem - overcuts weaken the stringer’s throat. If the overcut is minor (less than 1/2″ past the line), it’s usually fine structurally; flag it for the painter to fill if the stringer face will be visible and finished. If the overcut is bigger than that, cut a new stringer. To avoid this next time, stop the circular saw 1/2″ before the corner and finish the cut with a handsaw.
Safety Considerations #
- Non-slip surfaces: Garage floors get wet from rain, snow, and car-wash water. Put non-slip tread covers or grip tape on before the steps see any traffic - if the painter is finishing the treads, flag anti-slip additive as a requirement for his coat. Smooth painted plywood treads in a garage are a lawsuit waiting to happen
- Lighting: Ensure adequate lighting at the top and bottom of the stairs. A motion-activated light near the garage entry door prevents missteps in the dark
- Handrail: Even if code doesn’t require one for 2-3 risers, consider installing a handrail - especially if elderly family members or children use the stairs, or when carrying heavy groceries/items. See the related guide for wall-mounted handrails
- Clearance: Make sure the stairs don’t interfere with car parking. Mark the stair footprint on the garage floor with tape before building so you can see how close your car comes
- Fire code: In many jurisdictions, the door between the garage and house must be fire-rated (20-minute minimum) and self-closing. Building steps doesn’t change this, but while you’re working in the area, verify the door has a self-closer installed
External Resources #
- IRC R311.7 - Stairway Code Requirements (International Code Council)
- Simpson Strong-Tie LSC Stair Stringer Connector - the recommended connector for attaching stringers to house framing
- How to Use Tapcon Concrete Anchors - manufacturer guide for proper concrete fastening
All Garage Steps Guides #
- → You are here: Build Garage Steps - Core guide - 2 stringers, open risers (start here)
- Garage Steps with a Landing - Build a landing platform for higher drops
- Garage Steps with 3 Stringers - Add a center stringer for stairs wider than 36″
- Garage Steps with Closed Risers - Add riser boards for a finished look
- 3 Stringer Garage Steps with Closed Risers - Wide stairs + finished look (combines both modifications)
- Garage Step Handrail - When and how to install a code-compliant handrail