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

How to Repair Roof Shingles

Cracked, curled, or damaged shingles allow moisture to damage your roof decking. As long as your roof is in overall good condition, you may be able to fix small issues yourself although we do recommend getting help from a professional roofer. Directions on how to repair roof shingles vary a bit depending on the extent of the damage. When you need to replace one or more shingles, use the shingles leftover from your last roofing job. Otherwise, buy a bundle of shingles that match your roof color as closely as possible.

Tools You’ll Need How to Repair Roof Shingles

A tool belt will keep small tools within easy reach and prevent them from sliding down the roof.

  • Ladder
  • Flat pry bar
  • Utility knife
  • Hammer
  • Putty knife
  • Caulking gun
  • Brick
  • Tool belt

How to Repair Roof Shingles Directions

To fix curled or cracked shingles:

  1. Collect your tools and materials and mount an extension ladder securely at the base of the roof.
  2. For a curled shingle, load tube of roofing sealant into caulking gun.
    1. Squeeze sealant beneath the curled shingle and press it down flat.
    2. Weigh the glued shingle down with a brick for 24 hours.
  3. For a cracked shingle, apply sealant beneath the crack.
    1. Press the shingle down and apply more sealant over the crack.
    2. Spread sealant smooth with a putty knife.
    3. Collect some shingle granules from the rain gutter and sprinkle over wet sealant to camouflage crack repair.

To fix broken shingles:

  1. Gather up your pry bar, hammer, utility knife, replacement shingles, and some 1-1/4-inch roofing nails.
  2. Climb on to the roof.
  3. Slide pry bar beneath the row of shingles directly above damaged section.
  4. Lift slowly to break sealer strip connection and expose first row of nails.
  5. Move pry bar under damaged shingle and lift until the nails pop.
  6. Release shingle and pull out lifted nails with hammer claw.
  7. Now use the pry bar to lift the shingle above the damaged shingle and expose second row of nails.
  8. Remove second row of nails in the same manner as the first row.
    1. As an alternative, use the utility knife to cut damaged shingle away from second row of nails.
    2. Cut Vs around nails and pull off damaged shingle.
  9. Slide the replacement 3-tab shingle into place.
  10. Nail down the new shingle with 4 roofing nails.

Roof Repair Throughout the Delaware Valley

Hiring professional roofers may be the best choice if your roof has a steep pitch. Also, if you discover extensive damage, then you may need a roof replacement to protect your home’s structural integrity. PJ Fitzpatrick will select the best approach for how to repair roof shingles at your home. We’re a licensed and insured roofer that has served the area for decades. Ask us for a roof repair 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_gecko gform_wrapper' id='gform_wrapper_20' ><form method='post' enctype='multipart/form-data' id='gform_20' action='/diy/roof-repair/how-to-repair-roof-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>