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

How to Replace a Bath Faucet

Whether your bath faucet is damaged or you simply want to update the look, replacing it is easy and only requires a few tools. Here, our bath maintenance professionals give you the step-by-step instructions to successfully replace it:

What you’ll need to replace a bath faucet: 

  • Hex wrench
  • New bath faucet
  • New pipe
  • Screwdriver
  • New handles
  1. First, determine what kind of faucet you have by looking underneath it.
  2. If you see a setscrew, it’s considered a “slip-on” faucet. If it doesn’t, it’s considered a “screw-on” faucet.
  3. Purchase a replacement faucet in the same style as your old one.
  4. Then, use your hex wrench to unscrew the setscrew and remove it (slip-on faucets) or rotate the faucet counter-clockwise to unscrew it (screw-on faucets).
  5. Gently remove the faucet from the wall.
  6. For a slip-on faucet: place the new faucet over the protruding pipe and tighten down the setscrew.
  7. For a screw-on faucet: rotate it clockwise until the threads catch and you can tighten it to the wall.
  8. If the pipe in your wall protrudes too far, too little, or its threads are too corroded to use, remove the old pipe and install a new pipe that fits correctly with your new bath faucet.
  9. In the event you’re also replacing the handles, use your screwdriver to remove the screws that attach them to the wall. (If there’s a decorative cover over the screws, pop it off with the end of your screwdriver to access the screws underneath.)
  10. Remove the handles from the wall.
  11. If there are round “plates” underneath the handles, remove them from the wall as well.
  12. Install the new plates and new handles and tighten the screws down to secure.

*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_unknown gform_wrapper' id='gform_wrapper_20' ><form method='post' enctype='multipart/form-data' id='gform_20' action='/diy/bathtub-maintenance/replace-bath-faucet/'> <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>