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

How to Shingle a Valley

The valley on a roof is where two wings of a building join or dormers extend from the roof. The steps for how to shingle a valley focus on creating a fully water-resistant covering that directs water downward. Flashing beneath the roofing felt forms an extra layer of protection over the valley seam.

Tools You Need How to Shingle a Valley

A tool belt or tool bucket could be helpful when you are up on the roof.

  • Ladder
  • Chalk line
  • 18” wide flashing
  • Tin snips
  • Shingles
  • Roofing felt
  • 6-inch flexible broad knife
  • Rubber roller
  • Hammer
  • Utility knife
  • Marker

Directions for How to Shingle a Valley

  1. Snap chalk lines parallel with the valley 9 inches from its center on both sides.
  2. Bring enough 18-inch aluminum flashing up to the roof to cover the length of the valley.
  3. Line the flashing up with both chalk lines and press it into place down the seam of the valley.
  4. Use a rubber roller to press the flashing flush with the valley.
  5. Secure the flashing with roofing nails along its outer edges on both sides.
  6. Trim flashing with tin snips so that it lines up with the edges of the roof.
  7. Spread roofing tar with a flexible broad knife along both edges of the flashing.
  8. Snap two more chalk lines along the valley 18 inches from its center on both sides.How to Shingle a Valley
  9. Unroll roofing felt over the valley and trim it with a utility knife so that it lines up with the new chalk lines.
  10. Attach the felt with roofing nails but take care not to nail within 6 inches of the valley center.
  11. Lay a shingle over the valley so that one-third of it is on either side of the valley.
  12. Use a marker to draw lines on the outer edge of the shingle.
  13. Move the shingle aside.
  14. Create another chalk line based on the marker line to guide you when laying shingles.
  15. Snap more chalk lines 3 inches from the center of the valley.
  16. When nailing shingles do not drive any nails into the valley beyond this 3-inch border.
  17. Place your first shingle at the bottom roof edge with a 1/4-inch overhang.
  18. Cut the tabs off of this first shingle.
  19. Push the shingle down into the valley and nail it at the corners.
  20. Subsequent rows must overlap the previous rows by 6 inches.
  21. Add shingles until you reach the top of the roof valley.

Get Help From Experienced Delaware Valley Roofers

Completing a roofing replacement quickly reduces the chances of the elements harming your home when the roof is exposed. Consider having the licensed team of expert roofers at PJ Fitzpatrick replace your roof. Ask us for an 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

1-888-446-6492

  • 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

[gravityform id="20" title="false" description="false"]
<div class='gf_browser_chrome gform_wrapper' id='gform_wrapper_20' ><form method='post' enctype='multipart/form-data' id='gform_20' action='/diy/roofing-installation/how-to-shingle-a-valley/'> <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>