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

How to Install a Pocket Door

Because pocket doors are built into the wall, they are a great way to save space and they’re not much harder to install than a regular door. In this how-to, our door installation experts briefly describe how to go about hanging your own pocket door.

What you’ll need to install a pocket door:door installation

  • Reciprocating Saw
  • 2×4 Pieces of Wood
  • Level
  • Measuring Tape
  • Pocket Door (with Tracking and Hardware)
  • Screws, Drill
  • Hammer, Nails
  • Drywall
  • Drywall Tape
  • Compound
  1. Check to see if you have enough room in your wall for a pocket door – you’ll need a rough opening that’s twice the width of the door.
  2. If you have an old door that you’re replacing, remove it and its jambs using a reciprocating saw. (In the event it’s a door in a load-bearing wall, you may also have to remove the header.)
  3. If you’re installing a new header, the height should be at the length of the door plus 31 ¼ inches, plus the height of the soleplate (if any).
  4. Install a new stud across from the existing stud on the opposite side, then install your header.
  5. Cut and fit your soleplate to the floor.
  6. Map out and plan your new framing. Check the sides of the frame for plumb.
  7. Cut the door tracking to fit the length of your new door.
  8. Mount the track in the rough opening by screwing the brackets into the studs.
  9. Tip and split the studs into the floor brackets and attach the tops of the studs to the header using nails.
  10. Install the pocket door hardware – mount hangers to the top of your door and then slide the wheels into the track.
  11. Hook the hangers onto the carriages, then hang your new door.
  12. Check to make sure that the door is level, then lock in the latches or pulls.
  13. Secure your drywall to the framing using screws, then apply drywall tape and thin coats of compound over the seams.
  14. Let dry, sand down, and paint.

*Photo courtesy of

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_ie gf_browser_ie9 gform_wrapper' id='gform_wrapper_20' ><form method='post' enctype='multipart/form-data' id='gform_20' action='/diy/door-installation/install-pocket-door/'> <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>