The do it yourself resource for homeowners from home improvement professionals.

How to Build a Pitched Roof Extension

A pitched roof extension over a doorway creates a sheltered outdoor living area. The new roof could also block excessive sunlight from entering a room. You should possess basic carpentry skills before attempting to learn how to build a pitched roof extension. You may also need to obtain a building permit depending on where you live.

Tools RequiredHow to Build a Pitched Roof Extension

Select saw blades and drill bits appropriate for the types of materials that you’ll be working with. For example, you’ll need masonry bits if you’re anchoring wall plates to a brick wall.

  • Power drill
  • Circular saw
  • Wrenches
  • Hammer
  • Combination square
  • Ladder
  • Level
  • Chalk line

How to Build a Pitched Roof Extension

  1. Determine the height and angle of the pitched roof.
  2. Mark the horizontal locations on the existing wall for the top and bottom wall plates. The wall plates will connect to rafters and joists.
    1. Use a level and chalk line to create the lines.
  3. Cut lumber for the wall plates.
  4. With a power drill and wrenches, attach the wall plates with anchor bolts.
  5. Cut rafters with angled notches on the upper ends to fit against upper wall plate.
    1. The combination square will be needed to mark angles for cutting.
  6. Cut bottom ends of rafters at an angle parallel with the existing wall.
    1. Test the fit of your first board and use it as a template to cut other boards if it fits.
  7. Cut joists to fit to bottom wall plate and connect with rafters.
  8. Nail rafters to top wall plate.
  9. Nail joists to bottom wall plate and connect to rafters at roof edge.
  10. Cut and fit plywood for roof decking to nail over rafters.
  11. Spread roofing paper over new roof and nail in place.
  12. Shingle the new roof, starting at the bottom and working your way up.
  13. Attach soffit boards underneath roof overhang.
  14. Nail on fascia boards.

Get Help From Our Expert Roofers

Even handy do-it-yourselfers might choose to hand this type of project off to professionals. While we do not build new roof extensions from scratch, we can help repair or replace your existing roof extension including new shingles, gutters, and more. Since 1980, PJ Fitzpatrick has built thousands of roofs. Talk to us about your exterior remodeling plans and request a job estimate today.

Need help with this project?

We have trained professionals that can help.

Contact us today. 1-888-446-6492 Get Estimate

P.J. Fitzpatrick, Inc.

21 Industrial Blvd
New Castle, DE 19720

  • NJ Lic. #13VH10727200
  • DE Lic. #2009603070
  • PA Lic. #PA011323
  • MD Lic. #105494

© 2020 P.J. Fitzpatrick, Inc.

Website by the Prager Microsystems, Inc. Digital Marketing Agency

Live Chat With Us
[gravityform id="20" title="false" description="false"]
<div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_20' ><form method='post' enctype='multipart/form-data' id='gform_20' action='/diy/roofing-installation/how-to-build-a-pitched-roof-extension/'> <div class='gform_body'><ul id='gform_fields_20' class='gform_fields top_label form_sublabel_below description_below'><li id='field_20_1' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_20_1' >Your Name:<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_20_1' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /></div></li><li id='field_20_4' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_20_4' >Phone Number:<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_phone'><input name='input_4' id='input_20_4' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /></div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_20' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_20"]){return false;} window["gf_submitting_20"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_20"]){return false;} window["gf_submitting_20"]=true; jQuery("#gform_20").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_20' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='20' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_20' value='WyJbXSIsIjExY2Q2ODU0YWI0Y2RiZGJiMzBhMmEyNzEwY2IwZDM1Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_20' id='gform_target_page_number_20' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_20' id='gform_source_page_number_20' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 20) {jQuery('#input_20_4').mask('(999) 999-9999').bind('keypress', function(e){if(e.which == 13){jQuery(this).blur();} } );} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [20, 1]) } ); </script>