Floor squeaks under carpet are caused by movement — wood rubbing against wood or nails. The good news: most squeaks can be fixed without pulling up the carpet. Here’s how to find the source, fix it from above or below, and know when it’s time to call a professional.
What Causes Squeaky Floors
Understanding the cause helps you choose the right fix:
- Subfloor pulling away from joists: The most common cause. The plywood subfloor lifts slightly from the floor joist below it, and when you step on that spot, the wood flexes down and back up, rubbing against the nail or the joist. This creates the squeak.
- Loose nails: Nails work loose over time as wood expands and contracts with temperature and humidity changes. The subfloor slides up and down on the nail shaft, producing a squeak.
- Joists rubbing against bridging: Cross-bracing or solid blocking between joists can develop friction points that squeak when the floor flexes.
- Ductwork or pipes: Sometimes what sounds like a floor squeak is actually the subfloor rubbing against a heating duct, pipe, or wire that runs through a joist. These are harder to diagnose from above.
- Warped or dried subfloor: Older plywood or OSB can develop humps or cups that create movement against the joists.
Step 1: Locate the Squeak
Finding the exact squeak location is critical. A fix that misses by even a few inches won’t work.
From Above
- Walk slowly across the squeaky area in socks (shoes mask subtle sounds)
- When you hit a squeak, rock your weight forward and backward to narrow it down to the smallest possible area
- Mark the spot with painter’s tape
- Feel through the carpet for the direction of the floor joists — there’s usually a slight firmness along a joist line
From Below (If You Have Basement Access)
- Have someone walk on the squeaky area above while you’re in the basement
- Watch and listen for movement in the subfloor — you’ll often see the plywood flex or see a gap open between the subfloor and joist
- Mark the problem areas from below
If the squeak is on the second floor with no accessible space below, you’ll need to fix it from above through the carpet.
Fixing Squeaks From Above (Through the Carpet)
Method 1: Squeeeeek No More Kit ($25-$30)
This is the most popular and effective through-carpet fix. The Squeeeeek No More kit (also sold as Counter-Snap for hard floors) uses specially designed breakaway screws that pull the subfloor tight to the joist, then the screw head snaps off below the carpet surface.
How it works:
- Find the squeak and locate the nearest joist (use the included joist-finding tool or a stud finder — joists are typically 16″ apart)
- Push the alignment/depth control fixture through the carpet into the subfloor
- Drive the special screw through the fixture, through the carpet, through the subfloor, and into the joist using a drill
- The fixture controls the depth so the screw goes deep enough to grab the joist
- Rock the screw head back and forth — it snaps off at a scored point below the carpet surface
- The carpet fibers cover the screw location completely
You may need 2-4 screws per squeak location. Test after each screw — sometimes one does it, sometimes you need to surround the problem area.
Method 2: Drive Screws Through the Carpet
If you don’t have the Squeeeeek No More kit, you can use regular screws, though it’s less elegant:
- Find the joist location with a stud finder
- Part the carpet fibers at your target spot
- Drive a #8 x 2.5″ or 3″ wood screw through the carpet into the subfloor and joist
- The screw head will sit on top of the subfloor, below the carpet pad. If your carpet pad is thick enough, the screw head won’t be noticeable underfoot
- If the screw head is palpable, you can countersink it slightly by tapping it with a hammer and nail set
This method works but risks snagging carpet fibers around the screw head. The breakaway screw kit is worth the $25-$30 investment.
Method 3: Talcum Powder (Temporary Fix)
For squeaks caused by two pieces of subfloor rubbing at a seam:
- Pull the carpet back slightly at the seam location (if near a wall)
- Sprinkle talcum powder or powdered graphite into the seam between subfloor panels
- Work it in by stepping on the area repeatedly
- Replace the carpet
This reduces friction and can eliminate the squeak, but it’s a temporary fix that may need to be repeated.
Fixing Squeaks From Below (Basement Access)
If you can access the underside of the squeaky floor from a basement or crawl space, these methods are more targeted and don’t touch the carpet at all.
Method 1: Shim the Gap
- Find the gap between the subfloor and joist (have someone step on the squeak while you watch from below)
- Apply a thin bead of carpenter’s glue to a wood shim
- Tap the shim gently into the gap — just enough to fill it, not enough to lift the subfloor further
- Let the glue dry before testing
This works for isolated spots where the subfloor has pulled away from one section of a joist.
Method 2: Screw Up Into the Subfloor
- From below, drive a 1-1/4″ wood screw up through the joist into the subfloor
- Critical: the screw must be short enough that it does NOT penetrate through the subfloor into the carpet pad. Measure your subfloor thickness first (usually 3/4″)
- Use a screw with a wide washer for better holding power
Method 3: Add Blocking
For larger squeaky areas or subfloor panels that flex between joists:
- Cut a piece of 2×8 or 2×10 to fit between the joists
- Apply construction adhesive to the top edge
- Press it up against the subfloor between the joists
- Screw or nail through the joist into each end of the blocking to hold it in place
Method 4: Construction Adhesive
For gaps between the subfloor and joists that are too wide for shims:
- Use a caulk gun to apply PL Premium or similar construction adhesive into the gap between the subfloor and joist
- The adhesive fills the gap and bonds the two surfaces together
- Let it cure 24 hours before testing
When the Squeak Is Not on a Joist
If the squeak is between joists (the subfloor flexes in the middle of a span), your options from above are limited. You can:
- Drive screws at an angle to grab the nearest joist
- Use longer screws (3″+) at an angle to reach a joist
- Fix from below by adding blocking or a support between joists (see Method 3 above)
Driving screws into the subfloor alone (not into a joist) won’t fix the squeak permanently — there’s nothing solid to pull down to.
When to Call a Professional
Most squeaks are simple fixes, but call a professional if:
- The floor visibly sags or bounces excessively. This could indicate a structural issue — cracked joist, insufficient support, or foundation settling. A structural repair is not a DIY job.
- Squeaks are widespread across the entire floor. This often means the subfloor is undersized (too thin) or the joist spacing is too wide. Fixing the whole floor requires extensive work.
- The squeaks started after a water event. Water damage can cause subfloor delamination and joist weakening that’s not visible from above.
- You can’t access the area from above or below (like a second floor over a finished ceiling you don’t want to damage).
- The squeak involves a staircase. Stair squeaks have different causes and fixes, and stairs are structural — mistakes can be dangerous.
Cost Summary
- Squeeeeek No More kit: $25-$30 (fixes multiple squeaks)
- DIY materials (screws, shims, adhesive): $10-$30
- Professional floor squeak repair: $200-$500 for targeted fixes
- Professional subfloor repair (if structural): $500-$2,000+
Start with the Squeeeeek No More kit for through-carpet fixes or shims/screws from below if you have basement access. These two approaches solve 90% of residential floor squeaks for under $30.