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

How to Install Metal Roofing

When it comes to knowing how to install metal roofing, most manufacturers create panels instead of shingles, which makes installation a little different. Metal roofing installation is best left to our roofing professionals, but if you’re going to try to tackle the project yourself, here’s a general guide on how to do it:

What you’ll need to install metal roofing:how to install metal roofing

  • Metal Roofing Panels
  • Safety Gloves
  • Safety Glasses
  • Tape Measure
  • Nails, Nail Gun
  • Snips
  • Chalk-Line
  1. After your roof is prepped with the right roofing edge, roofing felt, and moisture barrier, install your starter strip to make the roofing process easier.
  2. Next, snap chalk lines along your roof to ensure that your panels will be straight.
  3. Begin at the right edge of your home and lay down your first roofing panel over your starter strip. (Many panel designs come with interlocking features to make installation more seamless.)
  4. Secure the panel at intervals using your nails and nail gun.
  5. Install the next panel so that it’s flush with the first, and install it the same way.
  6. Repeat this process across the length of your roof
  7. To start the second layer of panels, make sure you off-set the first panel from the one below it to avoid a stacked pattern.
  8. Start the first panel about 12 inches in from the edge of your roof or start it where the pattern of the one below off-sets.
  9. Interlock the upper panel with the lower panel and use your nails and gun to secure it at intervals.
  10. Repeat this process across the length of your roof, then repeat the layers of panels until you reach the peak of your roof.
  11. Measure the width of any exposed openings and use your snips to cut pieces of roofing panel to fit them.
  12. After that, install your cut pieces so that they’re seamless with the rest of the roof.
  13. Finish the installation with the necessary flashing, rakes, ridges, hips, and valleys.

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/install-metal-roofing/'> <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>