Last updated October 17, 2026
Metal roofing
Architectural shingles
Tile roofing
Owens CorningFree roof inspection with deck photos before we talk money - GAF and Owens Corning certified installation
Roofing Warning Signs: A San Diego Homeowner’s Reference Guide
Most roofing guides recycle the same seven symptoms and end with “call a professional immediately.” That’s not helpful when you’re staring at a water stain trying to figure out if you’re budgeting for a $400 patch job or a $14,000 tear-off. Here’s a number that matters more than any symptom list: a dark ceiling spot after rain is not automatically a roof leak. In San Diego homes built before 1990, it’s just as often attic condensation from poor ventilation, and misdiagnosing it sends homeowners chasing the wrong repair and paying twice. This guide-and our complete guide to roofing in San Diego-tells you what each warning sign actually means, how urgent it really is, and what it typically costs to address in San Diego’s market.
Styles & brands we work with




Quick Answer
The most common roof warning signs in San Diego are cracked or curling shingles, granule buildup in gutters, water stains on ceilings, crumbling mortar at tile hips, and rusted flashing around chimneys and vents. Repair costs typically range from $300 to $700 for isolated flashing or shingle work, while full replacement on a 1,500-square-foot San Diego home runs $9,000 to $18,000 depending on material. If you see water actively entering your home, that’s a 48-hour problem; if you only see granule shedding or minor tile cracks, you typically have weeks or even months to schedule an inspection.
Table of Contents
- The Urgency Scale: 48 Hours, 90 Days, or Next Rain Season
- What Your Attic Tells You Before Your Ceiling Does
- Four San Diego Warning Signs Generic Guides Skip
- Flashing Failure vs. Systemic Shingle Failure: How to Tell the Difference
- What Granule Accumulation in Your Gutters Actually Means
- How to Photograph and Document Warning Signs for an Accurate Estimate
- Common Mistakes to Avoid
- When to Call a Professional
- Frequently Asked Questions
- The Bottom Line
The Urgency Scale: 48 Hours, 90 Days, or Next Rain Season
Not every roof problem is an emergency. In fact, most aren’t. What matters is understanding which category yours falls into, because that determines whether you’re making a calm, informed decision or a rushed one. Here’s the scale we use when we talk to homeowners across San Diego, from Clairemont to Chula Vista.
Tier 1: Fix Within 48 Hours
- Active water intrusion during rain. If water is dripping through your ceiling or running down an interior wall while it’s raining, you have an active breach. The damage compounds hourly: insulation soaks up water, drywall wicks it outward, and mold can begin forming in as little as 48 hours in San Diego’s mild temperatures.
- Wind-lifted shingles or tiles. After a Santa Ana event, check your roof line from the ground. If you can see shingles standing up or tiles shifted out of place, the next wind event will tear them off completely and expose the underlayment.
- Fallen tree limbs or impact damage. A branch that punctures the roof surface compromises the water-shedding layer immediately. Even if you don’t see water yet, the next rain will find the breach.
Tier 2: Schedule Within 90 Days
- Curling or cracked shingles that haven’t caused leaks yet. The roof is degrading but still functional. You have time to get multiple estimates and make a material decision.
- Rusted or separated flashing around chimneys, skylights, and vent pipes. This is the most common leak source on San Diego homes with composition shingle roofs, and it’s usually a $300 to $700 repair if caught before water damage spreads.
- Crumbling mortar at tile hips and ridges. Very common on Spanish tile roofs in neighborhoods like Kensington and Talmadge. The tiles themselves can last decades, but the mortar holding ridge caps in place breaks down after 15 to 25 years of San Diego sun exposure.
- Dark streaks or moss on north-facing slopes. In San Diego’s coastal zones, shaded roof sections stay damp longer than you’d expect. Streaking is typically cosmetic algae, but moss retains moisture directly against the shingle surface and shortens its life.
Tier 3: Monitor for One Rain Season
- Light granule shedding from a roof under 5 years old. Some granule loss is completely normal right after installation, especially on architectural shingles.
- Minor efflorescence on concrete tiles. White powdery deposits are cosmetic and don’t affect waterproofing in most cases.
- Small isolated cracks in individual tiles that haven’t shifted or exposed the underlayment beneath.
- Soft spots you found incidentally when walking the attic (carefully, on joists only) but that show no ceiling staining and no moisture. Document them and check after the next real rain.
The point of this scale isn’t to talk you out of calling. It’s to help you understand what you’re seeing so you can make decisions without pressure. When you do call a roofing company in San Diego, bring this list and ask them to categorize what they find. A contractor who explains the urgency tier before they quote you is one worth keeping.
What Your Attic Tells You Before Your Ceiling Does
By the time a stain appears on your ceiling, water has already traveled through several layers of your home. The attic is where roof problems show up first, often months before interior damage becomes visible. If you can safely access your attic, you’ll learn more in ten minutes up there than in an hour of staring at your roof from the driveway.
Here’s how to read what you’re seeing:
- Look at the underside of the roof decking first. You’re looking for dark staining, water rings, or areas where the wood looks darker than surrounding sections. These marks tell you water has penetrated the roof surface, even if it hasn’t soaked through the insulation yet.
- Check for daylight. Turn off your flashlight and let your eyes adjust. Any pinpricks of light coming through the roof surface are holes that water will find. This is especially useful on composition shingle roofs, where a lifted shingle or nail pop leaves a visible gap from below.
- Feel the insulation in the area below suspected staining. If it’s damp, you have active water intrusion. If it’s dry but stained, the leak may have been repaired at some point or only leaks under specific rain conditions.
- Look for rusted nail tips protruding through the decking. This is a classic sign the decking is staying damp. The nails holding shingles from above show surface rust on the points where they penetrate into the attic space, telling you moisture is present in the wood even if you can’t feel it.
- Inspect bathroom and kitchen vent ducts. In San Diego homes, a surprising number of “roof leaks” are actually disconnected or improperly terminated exhaust vents. The duct blows warm, moist air into the attic where it condenses on the cool underside of the decking and drips down, mimicking a roof leak perfectly.
One more San Diego-specific note: our mild climate means attics don’t get the extreme temperature swings you see in inland areas, so condensation problems tend to be less severe here than in, say, Alpine or Ramona. But older beach-area homes in Ocean Beach and Pacific Beach often have under-insulated attics combined with marine-layer humidity, and those are prime candidates for condensation that gets misread as leaks. If you see staining centered around a bathroom vent or below a can light, check the ventilation before you call a roof repair team in San Diego.
Four San Diego Warning Signs Generic Guides Skip
Articles written for a national audience miss the warning signs that matter most in our climate, which is why we also publish seasonal roofing care guidance for San Diego. San Diego’s combination of intense UV exposure, coastal salt air, and a dry-summer Mediterranean pattern creates roof failures that homeowners in Seattle or Boston rarely deal with. Here are four you should know:
1. Efflorescence on Concrete Tile Roofs
That white, chalky film developing on concrete tiles isn’t mold and it isn’t damage. It’s called efflorescence, and it’s caused by naturally occurring calcium salts in the concrete being drawn to the surface as the tile absorbs and releases moisture. In San Diego’s coastal zones, the salt content in the air accelerates the process. Efflorescence alone is cosmetic, but here’s the nuance: if it’s accompanied by spalling (tile surface flaking or pitting), the tile’s protective surface is breaking down, and the tile will absorb more water with each rain cycle. That’s when you move from “monitor” to “schedule an inspection.”
2. Mortar Crumbling at Tile Hips and Ridges
Walk any street in Mission Hills or South Park and look at the Spanish tile roofs. You’ll see ridge lines where the mortar has cracked, crumbled, or fallen away entirely. The tiles under that mortar are still doing their job, but the ridge cap is the roof’s most exposed point. When mortar fails, ridge tiles loosen and can slip during the next heavy wind event. This is a progressive problem: the longer you wait, the more ridge caps shift and the more expensive the repointing gets. Repointing a hip line on a typical San Diego home runs $800 to $1,800 depending on the linear footage, while a full ridge replacement with new tiles can push past $4,000.
3. UV Blistering on Flat TPO Membranes
Flat-roof sections on San Diego additions and mid-century homes are often covered with TPO or modified bitumen. Twenty years ago, TPO was the new wonder material. It’s still a great product, but raw, unprotected TPO in direct San Diego sun degrades faster than in most markets. What you’ll see are small, raised blisters or pinhole-sized cracks starting at seams and penetration points. Blistering means the membrane’s UV stabilizers are failing. At that stage, patching individual blisters is a short-term fix. The membrane needs either a full coating system or replacement, depending on how widespread the degradation is.
4. Rusted Flash Points Within 3 Miles of the Coast
Salt-laden air corrodes metal flashing significantly faster in coastal San Diego neighborhoods than it does five miles inland. Homes in La Jolla, Point Loma, and Coronado often show rusted pipe jack flashing within 10 to 12 years, while the same flashing in El Cajon might last 20. The flashing itself is often galvanized steel with a limited zinc coating, and once that coating burns through, rust spreads quickly. The critical check is at the base of the flashing, where it meets the shingle or tile. If the metal is rusted through, water follows the pipe or chimney and enters the attic. Replacement flashing for a single pipe costs $150 to $350 installed. Chimney flashing runs $400 to $900 depending on access and condition.
Flashing Failure vs. Systemic Shingle Failure: How to Tell the Difference
This is the distinction that saves San Diego homeowners thousands of dollars. A flashing failure is a localized problem with a localized fix. A systemic shingle failure means the entire roof surface is nearing the end of its service life, and patching is throwing money away. Here’s how to tell which one you’re looking at:
The Attic Test
Grab a flashlight and get into your attic during daylight hours. Find the area directly below the suspected leak or damage. If the water staining on the decking is concentrated in a narrow path that leads directly to a chimney, skylight, vent pipe, or valley, you’re very likely dealing with flashing failure. Flashing is the metal material that seals the joints where the roof surface meets an obstacle or changes direction, and it’s the single most common leak point on any roof.
If, instead, you see widespread staining across multiple rafter bays with no clear point of origin, that points to systemic failure: the roof surface is allowing water through in multiple locations, not at one defined penetration.
The Ground-Level Test
From your yard or across the street, look at the overall shingle condition. Flashing failure typically coexists with shingles that are still lying flat, with sharp edges and visible granule texture. The roof looks fundamentally sound except in the isolated spots where metal meets material.
Systemic failure shows up as shingles that are curling at the edges, losing granules so aggressively that you can see the underlying mat, and in advanced cases, shingles that have cracked through in a pattern that looks like alligator skin. If you see that pattern across a quarter or more of the roof surface, you’re in replacement territory regardless of what the flashing looks like.
The Cost Difference
- Flashing repair: $300 to $700 for a single penetration point. Most San Diego roofers can complete this in one visit, and with proper sealing it’ll last for years.
- Partial shingle replacement: $800 to $2,500 if damage is contained to one slope or section.
- Full roof replacement: $9,000 to $18,000 for composition shingles on a 1,500-square-foot San Diego home, depending on the shingle brand you choose (Owens Corning and IKO both offer excellent options across different price points) and whether the existing decking needs repairs.
One more note: if a roofer tells you the entire roof needs replacing after looking at a single ceiling stain, get a second opinion. A flashing inspection costs very little and answers the most important question: is this a $500 problem or a $15,000 problem? A reputable roof installation company in San Diego will tell you the difference without pushing for the bigger job.
What Granule Accumulation in Your Gutters Actually Means
Granules are the crushed stone particles embedded in the surface of composition shingles. They’re not cosmetic: they’re the shingle’s UV protection. The asphalt layer underneath degrades rapidly when exposed to direct San Diego sun, and granules are what stand between that asphalt and the elements. When granules end up in your gutters, it’s expected. The question is how many and when.
Normal vs. Accelerated Granule Loss
- New roof (0 to 3 years): Losing a visible amount of granules is completely normal. The manufacturing process leaves excess granules on the shingle surface, and the first few rains wash them off. You may see a noticeable accumulation in gutters and downspout splash blocks during the first two winters. Don’t panic. This is the system working as designed.
- Mid-life roof (5 to 15 years): You should see minimal granule accumulation. If you run your hand through the gutter debris after cleaning and find a fine, sand-like layer, that’s typical. If you find piles of granules that build up between each rainfall, that’s accelerated loss and indicates the shingles are degrading prematurely, often due to installation defects, poor attic ventilation, or defective shingle batches.
- End-of-life roof (15 to 25+ years, depending on shingle quality): Granule loss accelerates because the asphalt binder holding granules in place has begun to break down from cumulative UV exposure. You’ll see bare patches on shingles where the dark asphalt is exposed, and the gutters will consistently accumulate granules after every rain. At this stage, even if the roof isn’t visibly leaking, it’s buying time, not buying years.
The Baltic Avenue Test
We tell San Diego homeowners to do this check twice a year, once before the rainy season starts and once after: clean your gutters completely, then inspect the next rainfall’s deposit. If the granule accumulation is light and even, your roof is healthy. If certain gutter sections collect significantly more granules than others, that slope of your roof is aging faster than the rest, often because it faces southwest and carries the brunt of the afternoon sun. Southwestern exposure matters more than most people think in San Diego, where a west-facing slope can be 10 to 15 degrees hotter than a north-facing slope in August, and that heat differential directly affects shingle lifespan.
How to Photograph and Document Warning Signs for an Accurate Estimate
You can’t climb on your roof, and you shouldn’t. Roof surfaces in San Diego get hot enough in summer to soften shingle adhesive, and walking on them damages the very surface you’re trying to inspect. But you can build a documentation file that gets you an accurate remote assessment and makes every in-person estimate faster and more reliable-a middle path between DIY and calling a professional. Here’s the system:
- Photograph from four corners. Stand at each corner of your property and shoot the roof from that angle. Zoom in on any visible irregularities: lifted shingles, shifted tiles, rust streaks, missing ridge caps. These photos give a roofer a first-pass look without climbing anything.
- Shoot the penetrations. Every chimney, vent pipe, skylight, and valley where two roof planes meet deserves its own close-up. These are where flashing failures live, and they’re what a roofer needs to see most from the ground.
- Document the attic. Take photos of every area of visible decking, especially any staining. Use your phone’s flash and hold it close to the wood surface; this reveals detail the naked eye misses. Bundle these photos by location so you can tell the roofer “this stain is directly below the bathroom vent, that one is near the south chimney.”
- Clean the gutters, then photograph them after rain. The granule test described earlier works, but only if you have before-and-after photos to compare. A roofer can tell a lot from the granule density they see in a gutter photo, especially if they know the roof’s age and shingle brand (Atlas and Tamko shingles, for example, show distinct granule patterns as they age).
- Note weather conditions. If the leak appeared during a Santa Ana wind event, that’s different from a leak during a steady, windless rain. Wind-driven rain enters through different paths than gravity-fed rain, and knowing the conditions narrows down the failure mode significantly.
Send all of this to a roofer before scheduling an in-person visit. A contractor who reviews your documentation carefully is already doing the diagnostic work. One who refuses to look at anything until they’re standing in your driveway isn’t necessarily a bad contractor, but they’re telling you something about their working style. At Mercer Roofing Co San Diego, we ask for these photos on the first call because they let us arrive with a working theory, and a working theory means a more accurate written estimate.
Common Mistakes to Avoid
- Ignoring a small stain because it’s “just cosmetic.” Water staining is the visible part of damage that’s already happened. The unseen part, soaked insulation and compromised decking, gets worse with every rain event even if the stain stops growing. Small today becomes structural in a few years.
- Removing moss or algae with a pressure washer. Pressure washing a shingle roof strips granules and embeds water under the shingle edges. In San Diego’s coastal zones, where moss forms on north slopes, this mistake shortens a roof’s life by years. Chemical treatment or professional moss removal is the correct approach.
- Patching visible shingles without checking the decking underneath. If a shingle is cracked, water has been getting past it for months. The decking below may already be soft or rotted, and slapping a new shingle on top just seals the problem in. Any repair should include checking the decking from the attic side.
- Painting over ceiling stains without fixing the source. A stained ceiling that’s been painted over is a history book waiting to be reopened. The stain means moisture got through. If you don’t fix the entry point, you’ll be repainting again next year, and the year after that.
- Assuming a tile roof is leak-proof because tiles don’t wear out. Concrete and clay tiles can last 50 years. The underlayment beneath them lasts 20 to 30. When a tile roof leaks, it’s almost never the tile. It’s the paper underneath, and replacing underlayment is a significant job that requires lifting the tiles, re-laying the paper, and resetting the tiles.
- Delaying flashing repairs because “it hasn’t rained in months.” Flashing doesn’t self-heal. The longer rust and separation go unrepaired, the more water gets in during the next rain event, and the more damage accumulates in your attic, inside your walls, and on your interior finishes. San Diego’s dry months are actually the cheapest time to repair, since demand is lower and contractors are more available.
When to Call a Professional
If you’re seeing active water intrusion, call today. If you’re finding granules in your gutters, cracking at the ridge line, or rusted flashing, call within a few weeks. If you’ve documented warning signs and you’re not sure which urgency tier they belong in, call and ask. A photo review costs nothing and gives you a starting point. We serve all of San Diego County, from Oceanside to Imperial Beach, and every estimate starts with a written price before any work begins. When you call Mercer Roofing Co San Diego, a live person answers, day or night, at (619) 810-5520. We’ll talk through what you’re seeing and tell you honestly whether it’s urgent, soon, or something to watch.
Frequently Asked Questions
Most isolated roof leak repairs in San Diego cost between $300 and $700 for flashing replacement, shingle patching, or sealing around penetrations. If the leak has caused decking or structural damage, costs can rise to $1,500 or more. The key variable is whether it’s a localized flashing failure or a systemic roof failure, and that’s why a proper diagnosis matters more than a generic quote. Call us at (619) 810-5520 for an exact quote; estimates are free.
It shouldn’t, and at Mercer Roofing Co San Diego, it doesn’t. We provide a written price before any work starts, and we commit to it. If we discover additional issues once the roof is opened up, we’ll stop, show you what we found, and you’ll approve any changes in writing before we proceed. No change orders you didn’t sign off on, no surprises on the invoice.
Yes, for most repairs you’ll barely notice we’re there. For full roof replacement, you’ll hear hammering during the day, and dust may fall through attic access points. The job typically takes one to three days for a standard San Diego single-family home, and you can absolutely live in the house the entire time if you’re okay with the noise during working hours.
Yes. The City of San Diego requires permits for roof replacements and many repair jobs over a certain size, and we handle the permitting process as part of the written estimate. The permit cost is included in your quote, not added on afterward. If a contractor suggests skipping permits to save money, walk away; unpermitted roof work can complicate selling your home later.
A typical 1,500 to 2,000-square-foot home with composition shingles takes two to three days for tear-off, decking inspection, underlayment installation, and shingle application. Tile roof replacement takes longer, often four to six days, because the tiles are heavier, harder to handle, and require more fastening. Weather in San Diego rarely causes delays, but rain during the winter months can pause work for a day or two.
Check the attic directly above the stain during or immediately after rain. If the decking is wet or stained, it’s a roof leak. If the decking is dry but the insulation around bathroom vents or can lights is damp, it’s condensation. In older San Diego beach homes, condensation problems are common because temperature differences between the attic space and the living space below cause moisture to collect on the cool underside of the roof. Our Roof Repair in San Diego team can tell you which one you’re dealing with in a single visit.
The Bottom Line
Roof warning signs are rarely emergencies, but they’re always information. Your roof tells you how it’s aging, where it’s failing, and what it’ll cost to fix if you know how to read the signals. Learn the urgency scale, check your attic, document what you find, and get a written estimate before committing to anything. If the answer is a $400 flashing repair, fix it and move on. If it’s a $14,000 replacement, you now have the information to plan for it on your schedule rather than under the pressure of an active leak. For more guides & resources, explore our blog or call for honest answers and written prices. For honest answers and written prices, call Mercer Roofing Co San Diego at (619) 810-5520. A real person will always answer.
Written by Grant Whitlock, Owner at Mercer Roofing Co San Diego, serving San Diego since 2000.
See the difference
Before
After
Before
After
Before
After