There’s a lot to be said for uncut stringers. For one thing, they are stronger than cut stringers and make it possible to build stairs with longer spans without intermediate supports. And if the tread material is strong enough, a 3- to 4-foot-wide stair will require only two stringers. That’s not possible with composite tread stock, of course, and, even with 2x12 treads, the stairs would be limited in width to 36 inches. But by using concrete treads and 4x12 solid stringers, we can build exterior stairs as wide as 48 inches that are strong, visually appealing, long lasting, and less expensive than cut-stringer stairs.

At first glance, front porch stairs may look a little unconventional with uncut stringers and concrete treads, but we’ve been building them this way for more than 20 years and have found that not only have the ones that we’ve built performed well over this time, but they also look like they will last decades more with minimal maintenance.

Concrete Treads

We source stock precast concrete treads from Puget Sound Precast ( They’re made with 4,000‑psi concrete reinforced with a grid of #2, #3, or #4 rebar (depending on the size of the tread) and have four threaded inserts—two at each end—embedded in the bottom for 3/8-inch-diameter bolts. A pair of galvanized L-brackets, which bolt to the inserts and the stringers, are included with each tread to support it.

On this project, we used stock treads with an exposed aggregate finish (a broom finish and custom finishes and colors are also available). The 42-by-12-by-2 1/2-inch treads weigh 105 pounds each; other stock sizes range from 36 to 48 inches in length. The treads we bought cost about $58 each, which included the galvanized brackets, lag screws for fastening the brackets to the stringers, and machine bolts for fastening the treads to the brackets.

Measuring a full 2 1/2-inches thick by 12-inches wide, these steel reinforced precast concrete treads have threaded inserts at each end for fastening to metal brackets that are bolted to uncut stringers.

Determine Elevations and Rise

As with any set of stairs, we began by establishing the elevations at the concrete landing and the surface of the porch decking using a Stabila LAX600G cross-line laser to measure the total rise, which in this case was 64 3/16 inches. Because of the open-riser design of these stairs, we needed to limit the riser opening between treads to less than 4 inches to comply with code (see 2021 IRC R311.7.5.1, which says that any riser opening located more than 30 inches above the floor below must not allow the passage of a 4-inch-diameter sphere). Since the treads measure a full 2 1/2 inches thick, our maximum rise height needed to be less than 6 1/2 inches.

Our plan was to use 10 treads, so I divided the total rise (64 3/16 inches) by 11 (10 treads plus the last riser). This resulted in a rise of 5 3/16 inches, which met our requirement that the rise be less than 6 1/2 inches.

For the stair stringers to be located properly on the landing, the total run needed to be close to 96 inches, or about 8 feet. To keep things simple, I used a run of 10 inches, the minimum required by code, for a total run of 100 inches.

Stringer Layout

Using the same approach I would for laying out a cut stringer, I set up a framing square with a pair of stair gauges for a rise of 5 3/16 inches and a run of 10 inches. But instead of aligning the framing square with the top edge of the stringer, I aligned it against the bottom edge as I stepped off and marked the sawtooth pattern for the treads and risers (the treads can be oriented toward either the bottom or the top edge of a solid stringer without having any impact on its strength; with a cut stringer, a minimum of 5 inches of solid material is required between the bottom edge of the stringer and the corners of the notches).

I marked the layout on a 12-foot-long 2x12 that I could use as a template instead of marking one of the incised 4x12 stringers. This way, I could clearly see my layout marks and easily make corrections without worrying about disfiguring an expensive and heavy 4x12 timber.

Template. After marking the sawtooth tread-and-riser pattern on the template, I extended the horizontal tread lines all the way across the 2x12. Next, I marked the center of one of the steel tread support brackets and the center of a tread block that I made from a 2 1/2-inch-wide offcut from a 2x12 to match the thickness and depth of one of the treads. By aligning the centers of the bracket and the tread block with each other, and then aligning the corner of the bracket with the bottom edge of the stringer template while lining up the top of the tread block with the tread lines, I was able to accurately mark the mounting holes for the brackets onto the template.

Instead of using a pencil to mark the hole locations, I simply positioned one of the 3/8-inch-diameter lag screws in the mounting holes and tapped it with a hammer to make dimples in the surface of the template. This is a fast way to mark holes, and the dimples help prevent the drill bit from wandering off course when you’re trying to accurately locate drilled holes. Then I drilled 1/4‑inch holes all the way through the template at each marked location.

To complete the template layout, I marked the position of the back edge of the top tread where it will touch the rim of the deck. I added 1/4 inch to this mark to provide for drainage between the tread and the rim, then marked the plumb cut at the top of the stringer. I marked the horizontal cut so that the stringer would fit snugly under the nosing of the porch decking and maintain a consistent 5 3/16-inch riser height from the top tread to the porch decking.

At the bottom, instead of bearing on the concrete landing, the stringers are fastened to Simpson Strong-Tie ABU44Z brackets bolted to the concrete. Here, I had to adjust the horizontal cut across the bottom of the stringer to account for the 1 1/8-inch height of the bracket base.

Solid stringers. After completing the cuts at the top and bottom of the stringer template, we tested the fit to make sure that the layout was correct before transferring the pattern to the 4x12x12 stringer stock. Then I cut two identical stringers using a 10 1/2-inch circular saw capable of completing a cut through 4-by stock in a single pass. When you’re working with pressure-treated stock, it’s always a good idea to order longer lengths than required so you can avoid the knots and cracks that sometimes are found at the ends of the stock. Using the stringer template overlaid on top of the stringers as a guide, I drilled the holes for the lag screws that we’d use to fasten the brackets to the stringers.

Incised PT Doug fir is a little rough looking, so I used a router to ease all the edges on the stringers with a 1/4-inch-diameter roundover bit to dress them up. To meet code, all cut edges in PT lumber have to be field-treated with an approved wood preservative anyway, so I rolled a coat of Copper-Green brown wood preservative on all surfaces of the stringers to protect them and to give them a uniform look. After the coating dried, I clamped the template to each stringer and used it as a guide to drill the pilot holes for the mounting brackets.


When I screwed the brackets to the stringers, I left the bottom brackets a little loose so that they would fit over the legs of the metal bases that we had already bolted to the landing slab. Where the stringers meet the porch, we drove Simpson Strong-Tie SDWS timber screws through the doubled rim joist and into the stringers to make the connection.

Treads. With the treads weighing 105 pounds each, it’s a good idea to use two workers to set them in place on top of the brackets. We started with one of the bottom treads, leaving a gap of about 1/4 inch between the ends of the tread and the stringers for drainage. When installing the lowest tread, we needed to use a right-angle impact driver to tighten the bolts that fasten the brackets to the treads.

Next, we bolted the top tread in place, finger-tightening the bolts at first and then adjusting the gaps before completely tightening the bolts with an impact driver so that the stringers remained parallel with each other. As we installed the remaining treads, we repeated the procedure to keep the stringers aligned.

To complete the stairs, we installed a Deckorators square baluster and rail system. We also reinforced the rim joist with another concrete pier and support post centered in the middle of its span to support the substantial weight of the stairway and keep it from moving over time. ❖

Photos by Tim Uhler