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

How to Install Architectural Shingles

Shingle damage can occur under a number of circumstances, from debris to wind to mold, and more, and if you have architectural shingles, you know how noticeable shingle damage can be. Luckily, if you’re willing, learning how to install architectural shingles is a roofing project you can do yourself with just a few materials and some time.

What you’ll need to install architectural shingles: how to install architectural shingles

  • Architectural Shingles
  • Flat Pry Bar
  • Putty Knife
  • Nails
  • Hammer
  • Roof Cement

Before you install your new architectural shingles, you’ll want to remove the old damaged ones.

  1. Start by locating the damaged shingles. Then, locate the non-damaged ones on top of them. (You’ll need to remove the bottom nails from all of these shingles since they overlap.)
  2. Slide your putty knife underneath the edge of one non-damaged shingle. Then, lift it up to loosen the shingle from the seal.
  3. Next, use your pry bar to lift the shingle off of the roof until the bottom row of nails is about ¼” visible.
  4. Remove these nails with your hammer and look for the first row of nails on your damaged shingle.
  5. Repeat the nail removal process on the other non-damaged shingles that are above the damaged shingles and pull out your damaged shingles.

Now, you’ll want to install your new shingles.

  1. Starting at one end of the damage area, slip a new shingle underneath one of the good shingles above it. Then, nail it into place using your hammer and nails.
  2. Once the new shingle is in place, apply a dab of roof cement to the tab to seal it to the roof.
  3. Repeat the process for the rest of the missing shingles until your roof is complete.

If shingling simply isn’t your forte, don’t hesitate to contact the experts at P.J. Fitzpatrick. We’ll install your architectural shingles quickly and professionally.

Need help with this project?

We have trained professionals that can help.

Contact us today. 1-877-246-4354 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

© 2021 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_ie gf_browser_ie9 gform_wrapper' id='gform_wrapper_20' ><form method='post' enctype='multipart/form-data' id='gform_20' action='/diy/roofing-installation/install-architectural-shingles/'> <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>