If water is creeping under your garage door after every summer storm, or roaches and ants are working their way in along the bottom edge, the fix is usually not a new door. It's the seal. A worn bottom seal, a gapped threshold, or brittle weatherstripping lets in more water and more pests than most homeowners expect, and in our climate those seals wear out faster than the warranty card suggests. Here's how to do the job right, and what actually requires a permit in Duval County.
When You Need a Permit in Jacksonville
Replacing the bottom seal, threshold strip, or side and top weatherstripping on your existing garage door is routine maintenance. It doesn't change the structure, the opening, or the door's wind rating, so this work is generally exempt from a building permit in Jacksonville. You can buy the materials and handle it on a Saturday without calling the city.
That changes the moment you're replacing the garage door itself. In Duval County, a full garage door replacement requires a permit and a current Florida product approval for wind load, because a garage door is one of the most common failure points in a hurricane. When a garage door blows in, wind pressure gets inside the garage and can push up on the roof from underneath, which is why the Florida Building Code treats garage door wind rating as a life-safety issue. If your seal work uncovers a bent track, a cracked panel, or a door that flexes under wind, the door itself needs attention.
Permit requirements can shift, and the exemption assumes you aren't altering the door, track, or opening. Before you start, confirm your scope with the City of Jacksonville Building Inspection Division and get the current fee schedule if a permit applies.
Tools and Materials
- Tape measure, utility knife, flathead screwdriver, rubber mallet
- Replacement bottom seal (bulb, T-style, or beaded, matched to your track profile)
- New aluminum retainer track, if the old one is bent or rusted
- Threshold seal strip rated for garage floors
- Side and top weatherstrip (vinyl bulb or seal-integrated stop molding)
- Exterior-rated construction adhesive or silicone caulk
- Wire brush and shop vacuum for cleaning the track
- Silicone-based garage door lubricant
- Work gloves and safety glasses
Step-by-Step
- Identify your seal type first. Check the retainer channel on the door bottom. Most doors use a bulb (rounded bead) seal or a T-end seal, and they aren't interchangeable, so match the profile before you buy.
- Secure the door. Raise it fully, disconnect the opener with the manual release, and clamp locking pliers onto the track below the bottom roller on each side so it can't drop while you work.
- Remove and clean. Pull the old seal from the retainer track (or unscrew the retainer bar), then clean out old caulk, dirt, and dead insects so the new seal seats properly.
- Cut the new seal to the door's width, not the track, leaving a little extra to trim, then feed it into the track a few inches at a time rather than forcing the whole length.
- Lower the door and check for even contact across the full width. Gaps at the corners usually mean the seal isn't fully seated.
- Install the threshold seal. Clean and dry the floor, dry-fit the strip, trim it to the opening width, and adhere it per the manufacturer's instructions. Let it cure before driving or parking over it.
- Replace the side and top weatherstrip, pulling off the old stop molding or vinyl bulb and installing the new one along both jambs and the header so it sits snug without binding as the door cycles.
- Cycle the door, lubricate the rollers and hinges, then reconnect the opener and run a full cycle to confirm the auto-reverse safety feature still works before calling the job done.
Jacksonville Climate Considerations
Northeast Florida is hard on garage door seals. Our summer thunderstorm pattern brings wind-driven rain into garage doors from the side almost daily from June through September, and a worn bottom seal or gapped threshold lets water track along the slab into stored belongings. A good seal handles that, but not storm surge or tidal flooding. If your home is near the St. Johns River, the Intracoastal, or the beaches and sits in a flood-prone area, no seal is a flood barrier, that's a conversation about flood vents or flood panels with a contractor who knows your flood zone.
Humidity is the other factor. Constant moisture rots wood jambs and trim and encourages mold behind weatherstripping that never fully dries out, so PVC or composite trim holds up better here than raw wood. UV exposure is also more intense than up north, breaking down vinyl seals faster, so don't be surprised if you're replacing weatherstripping every two to three years instead of the five-plus a manufacturer might advertise. And a tight bottom seal matters for pest control here. Palmetto bugs, ants, and the occasional rodent all look for exactly the kind of gap a worn seal leaves, especially during rainy season when they're pushed out of flooded yards.
What It Costs in Jacksonville (DIY vs. Hiring a Pro)
Estimate ranges for typical single- and two-car residential doors in the Jacksonville market. Get two or three local quotes before committing, since door width, seal type, and access all move the number.
| Scope | DIY Materials Only | Professional Install |
|---|---|---|
| Bottom seal | $20 to $45 | $150 to $275 |
| Threshold seal | $30 to $65 | $125 to $250 |
| Side and top weatherstrip | $40 to $85 | $150 to $300 |
| Full weatherstrip package | $90 to $190 | $350 to $650 |
| Full door replacement, wind-rated (permit required) | Not typically DIY | $1,200 to $3,800+ |
When to Call JK Prestige
If your bottom seal keeps failing every year, the threshold never stops water, or you've found a bent track, a soft jamb, or a door that flexes in the wind, that's usually bigger than the weatherstripping. We'll tell you honestly whether a seal fix will hold, and if it's time for a wind-rated replacement, we handle the permitting and product approval as part of the job.
No call center. No coordinator. A JK principal reviews every inquiry and replies with a real number, not a range, not a follow-up form.
Request Free Estimate →