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

How to Unclog a Bathtub

Next to clogged sinks and clogged toilets, clogged bathtubs can be pretty frustrating. Luckily, it only takes a few tools and about 20 minutes to unclog your bathtub and get it draining smoothly again. Here, our bath experts explain how to do it:

What you’ll need to unclog a bathtub:bath experts

  • 12-Gauge Wire
  • Wire Cutters
  • Needle-Nose Pliers
  • Screwdriver
  • Rubber Gloves
  • Trash Bag
  • Utility Knife
  • Hot Water
  • Baking Soda
  • Vinegar
  1. With your wire clippers, snip a straight, 6-8 inch section of wire.
  2. Next, use your needle-nose pliers to grip one end of the wire and bend it into a small 1/2″ hook.
  3. Remove the stopper from your bathtub.
    1. If you have a twist-and-push stopper, raise it as high as possible and look for a small screw on the shaft. Use your screwdriver to loosen the screw a little and slide the top off.
    2. If you have a push/lock stopper, raise it up and look for a small screw on the shaft. Use your screwdriver to loosen the crew and pull the shaft up and out.
  4. Put on your rubber gloves and look down your drain to locate the clog.
  5. Then, use your wire hook to fish out the entire clog and place it in your trash bag.
  6. After that, use your utility knife to cut away any hair that’s wrapped around the crossbars inside the drain.
  7. For extra unclogging power, pour hot water down the drain, then pour 1/2 cup baking soda down the drain.
  8. Let the baking soda sit for a few minutes, then pour 1 cup hot water and 1 cup vinegar down the drain.
  9. Let the mixture sit for 5-10 minutes, then flush it with more hot water.
  10. Turn on your bathtub faucet and run the water to ensure that the clog is completely gone.
  11. Replace your bathtub stopper and make sure it seals correctly.

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

[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/shower-repair/unclog-bath-tub/'> <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>