There Is No Single "Heritage Tree" Definition in California
One of the most common misunderstandings I see is the belief that "heritage tree" means the same thing everywhere. It doesn't. California has no statewide heritage tree law. Instead, each city writes its own tree protection ordinance with its own definition, thresholds, permit process, and penalties.
Across the 56 Bay Area cities I cover, protection thresholds range from 12 inches circumference (about 3.8 inches diameter) for oaks, redwoods, and cedars in Mountain View to 95 inches circumference for coast redwoods in Mill Valley. Three cities, Piedmont, Foster City, and San Rafael, don't protect private trees at all. The penalty for unpermitted removal ranges from $500 per tree in Redwood City to $10,000 to $50,000 per tree in Sunnyvale. One Oakland enforcement case totaled $915,135 for 38 trees. If you don't know your city's rules, you're guessing, and a wrong guess can be very expensive.
Key Takeaways
- No statewide heritage tree law; each city has its own ordinance with different thresholds and definitions
- Protection thresholds range from 12 inches circumference (Mountain View oaks, redwoods, cedars) to 95 inches circumference (Mill Valley coast redwoods)
- Penalties for unpermitted removal: $500 per tree (Redwood City) to $10,000 to $50,000 per tree (Sunnyvale)
- Twenty-one of the 56 cities require an arborist report with every removal application; most others require one only in specific cases
- Replacement planting requirements of 1:1 to 3:1 are common
- Three cities have no private tree protections: Piedmont, Foster City, and San Rafael
35-City Heritage Tree Comparison
This table lists protection thresholds, penalties, and notes for all 56 Bay Area cities, taken from the verified city matrix. For full details on any city, open its permit page or use the 56-city ordinance table for a side-by-side comparison.
| City | Protection Threshold | Max Penalty | Notes |
|---|---|---|---|
| Atherton | 48″ circ. (15.2″ dia.) at 54″ | 2× appraised value (removal); ½ appraised (damage) | Eucalyptus, acacia, Monterey pine exempt; permit needed even for dead trees |
| Belmont | 10″ DBH natives (6 species) / 14″ DBH any other species | Removal fees + replanting of equal value; stop-work | Eucalyptus, Monterey pine, palms, acacias, dead trees: permit issued automatically |
| Berkeley | 18″ circ. (5.7″ dia.) coast live oak only; 26″ aggregate multi-stem; at 48″ | Misdemeanor: up to $1,000 and/or 6 months | No other private species regulated; no permit fee |
| Burlingame | 44″ circ. (14″ dia.), all species | Up to $1,000 per violation + restitution | Single threshold, no oak tier; in-lieu $325 per inch |
| Campbell | 12″ dia. at 48″: oak, redwood, cedar, ash on single-family lots; all species elsewhere | Up to $1,000 misdemeanor + 2× to 4× replacement or appraised value | Fruit trees and eucalyptus exempt; single-family permit $0 |
| Cupertino | 12″ dia. single / 24″ multi-trunk, 11 specimen species | Infraction ($100 / $200 / $500) + replacement or appraised in-lieu | Redwood, madrone, eucalyptus not protected |
| Danville | 10″ dia. natives (12 species) / 36″ dia. any species (heritage) | Misdemeanor + 3× CTLA-appraised value | Only true treble-damages scheme in the region |
| Foster City | None (no private threshold) | N/A (park trees: up to $100) | No private tree ordinance; city trees only |
| Fremont | 6″ DBH natives / 18″ DBH any species | $250 / $750 / $1,000 per tree + mitigation | Developed R-1 lots up to 10,000 sf exempt behind front of house; permit free |
| Hayward | 4″ DSH, 17 native species | Fine = 2× permit fee + misdemeanor exposure + mitigation | Applies in single-family rear yards; pruning branches over 4″ also needs a permit |
| Hillsborough | 18″ cumulative dia. (multi-trunk added together), any species | $150 per inch or appraised value, whichever greater + misdemeanor | Arborist report with every application |
| Lafayette | 12″ DSH natives (developed) / 6″ natives (undeveloped) / 6″ riparian | $1,000 to $10,000 per tree by diameter + 5-year development restriction | Strict-liability civil fines; no in-lieu option |
| Los Altos | 12″ dia. any species / 10″ dia. natives, at 48″ | Misdemeanor + appraised value (doubled if paid in cash) or equivalent replacement | Dead trees still need a permit and 1:1 replacement |
| Los Gatos | 12″ dia. developed residential / 8″ hillside and 4 native species / 4″ vacant | Up to $5,000 per tree or replacement value, whichever higher; 4× value if development-related | Pruning permit for more than 25% over 3 years |
| Menlo Park | 47.1″ circ. (15″ dia.) non-oak / 31.4″ circ. (10″ dia.) native oaks | Up to $5,000 per tree or tree value, whichever higher | Report from city-approved consulting arborist required |
| Mill Valley | Heritage: 65″ to 95″ circ. by species (tanbark oak, oak, madrone, coast redwood) | Min. $5,000 per heritage tree or replacement value; $1,000 non-heritage | Removing more than one-third of foliage in 12 months counts as removal |
| Milpitas | 56″ circ. (17.8″ dia.) developed residential / 37″ circ. (11.8″) commercial, vacant | ISA-appraised value + abatement costs; liens | Heritage trees by Council resolution; $263 fee |
| Mountain View | 12″ circ. (3.8″ dia.) oak, redwood, cedar / 48″ circ. (15.3″ dia.) all other species | Misdemeanor (max $1,000) + 24″-box replacement or ISA-valued in-lieu | Dead trees exempt after City Arborist determination |
| Oakland | 4″ DBH coast live oak / 9″ DBH any other species | Infraction + replacement up to ISA-appraised value + enforcement costs | Eucalyptus and Monterey pine exempt; one 38-tree case totaled $915,135 |
| Orinda | 12″ dia. oaks (developed) / 6″ any (vacant, downtown) / 4″ riparian | Admin penalty $1,000 per violation + restitution $1,179 per tree or two 24″ box per 6″ | Insurance-required removals exempt from permit |
| Palo Alto | 11.5″ DBH six natives / 15″ most species / 18″ coast redwood | $10,000 per tree or 2× reproduction cost, whichever higher + moratorium up to 5 years | Designated-arborist report for every removal; $662 fee |
| Piedmont | None (no private threshold) | N/A (private); public trees $1,000 + treble damages | No private tree ordinance; viewshed arbitration process |
| Pleasant Hill | 9″ dia. natives / 18″ dia. non-natives (not eucalyptus, palms) | Up to $1,000 per tree or replacement value | Arborist report with every application |
| Redwood City | 38″ circ. (~12.1″ dia.), measured 6″ to 36″ above ground | $500 per tree + replacement equal to appraised value | Permit free; pruning also needs a permit |
| San Carlos | 9″ / 11″ / 15″ dia. heritage by species; 11″ dia. significant (any species) | Up to $5,000 per tree or appraised value, whichever higher | Eucalyptus, acacia, fruit trees, Monterey pine, palms excluded |
| San Francisco | >12″ DBH, >20 ft tall, or >15 ft canopy, within 10 ft of public right-of-way | $10,000 per tree or replacement value, whichever greater; $20,000 repeat | Street and landmark trees any size; no arborist report required |
| San Jose | 38″ circ. (~12″ dia.), multi-trunk circumferences summed | Heritage: up to $30,000 per tree; ordinance-size: council fine schedule | Live-tree permit $2,587 + $309 surcharge |
| San Mateo | 10″ dia. oaks / 15″ dia. any other species | Up to $10,000 per participant per tree + 48″-box replacement | Street trees: permit for any work; $100 fee |
| San Rafael | None (no private threshold) | N/A (general code penalties up to $500) | No private tree ordinance; street trees via Public Works |
| Santa Clara | 12″ dia. specimen (9 species groups) / 38″ dia. any species | Up to $5,000 + tree value, per tree + cost recovery | 38 inches is diameter, not circumference; arborist report every application |
| Saratoga | 6″ DBH natives (10 species) / 10″ DBH any other tree | Up to $5,000 per tree or replacement value, whichever greater | No 3× multiplier; madrone not on native list |
| Sunnyvale | 38″ circ. (~12.1″ dia.), any species | $10,000 to $50,000 per tree (removal); $5,000 to $25,000 (damage) | No heritage category; 113″ aggregate for multi-trunk |
| Tiburon | 60″ circ. at 24″ above ground (heritage); all listed oaks at any size | Nuisance abatement + cost recovery; no fine schedule | Seven oak species protected at any size; undesirable species (blue gum, Monterey pine, redwood) favored for removal |
| Walnut Creek | 28″ circ. single stem (~9″ dia.) / 40″ aggregate multi-stem | Up to $200 per inch of circ. (highly protected) or $100 per inch + misdemeanor | 10 highly protected native species; no heritage category |
| Woodside | 24″ / 30″ / 36″ circ. by species (7.6″ / 9.5″ / 11.5″ dia.), at 48″ | $5,000 first tree / $7,500 second / $10,000 each additional | All species protected at 36″ circ.; $130 flat fee |
Verified against municipal codes and fee schedules, July and October 2026. Thresholds shown are the main tiers; several cities have further tiers for vacant lots, riparian trees, or development sites. See individual city pages for full details.
The Strictest Cities for Heritage Tree Removal
Oakland: 4-Inch Oaks, 9-Inch Everything Else
Oakland has one of the lowest thresholds in the Bay Area. Coast live oaks are protected at just 4 inches trunk diameter, and any other species at 9 inches; only eucalyptus and Monterey pine are exempt. Unpermitted removal is an infraction plus replacement trees or fees up to the ISA-appraised value, plus full enforcement costs backed by a lien. One 2024 enforcement case (the Claremont case) totaled $915,135 for 38 trees. A dead but stable tree still needs a permit; only an immediate threat allows removal first, with a report by the next business day. See the full Oakland permit guide.
Sunnyvale: $10,000 to $50,000 Per Tree
Sunnyvale uses one species-neutral threshold: 38 inches circumference (about 12.1 inches diameter), or 113 inches for all trunks of a multi-trunk tree combined. The penalty schedule is the steepest in the region: $10,000 to $50,000 per tree for destruction or improper removal, $5,000 to $25,000 for substantial damage, plus city expenses and attorneys' fees. Replacement is at the city's discretion, with a 24-inch box minimum or an in-lieu fee of $551 to $2,205.
Saratoga: 6-Inch Natives
Saratoga protects ten native species (coast live, valley, tan, black, blue, and scrub oak, big leaf maple, buckeye, Douglas fir, and coast redwood) at 6 inches DBH, and any other tree at 10 inches. The civil penalty is up to $5,000 per tree or the replacement value if greater, plus equivalent-value replacement and a 5-year maintenance bond. There is no 3× multiplier. Emergency removal is allowed only on the order of the City Manager, a department director, a peace officer, or the fire department.
Berkeley: Coast Live Oaks Only
Berkeley regulates one private species: coast live oak, at 18 inches circumference single stem (26 inches aggregate for multi-stem), measured 4 feet above ground (BMC 6.52). No other private species is regulated, and there is no permit system or fee. There is no dead-tree exemption; the City Manager must find a potential danger to life or limb before removal. Violations are misdemeanors of up to $1,000 and/or 6 months, each day a separate offense. Berkeley also has significant fire zone overlap, creating tension between tree preservation and defensible space requirements.
The Most Lenient Cities
Piedmont: No Private Tree Ordinance
Piedmont is one of three cities in our coverage with no private tree protection ordinance (the others are Foster City and San Rafael). Homeowners can remove trees on their property without a city permit, though a neighbor's view claim under the viewshed ordinance can compel pruning or removal. Piedmont's Heritage Tree Program is honorific and covers about 28 trees. However, if your property borders Oakland, Oakland's strict ordinance applies to trees on its side of the line, and root zones don't respect city boundaries. See our Oakland vs. Piedmont tree rules comparison.
Foster City: City Trees Only
Foster City only protects park, community-building, and parking-strip trees. There is no private-tree permit of any kind. However, many Foster City neighborhoods are governed by HOAs that have their own tree removal restrictions in their CC&Rs. Check your HOA rules before removing any trees. See our HOA tree liability guide for more.
The Typical Permit Process
While each city has its own process, the general steps for heritage tree removal across Bay Area cities follow a common pattern:
Step 1: Determine If Your Tree Is Protected
Measure the trunk diameter at 4.5 feet above ground (most cities' standard; Los Altos, Woodside, Campbell, and Berkeley measure at 4 feet, Redwood City between 6 and 36 inches, and Tiburon at 24 inches). Compare to your city's threshold. If your tree meets or exceeds the threshold, it's protected and you need a permit. Use our Permit Checker to look up your city's specific rules.
Step 2: Get an Arborist Report
Hire an ISA Certified Arborist to assess the tree and prepare a report documenting its condition, species, size, and the justification for removal. Ten cities require this report with every application; most others require it only when staff ask or when development is involved. Expect to pay $500 to $1,500 depending on complexity. See our arborist report cost guide for details.
Step 3: Submit the Permit Application
File the application with your city's planning or public works department along with the arborist report, a site plan showing the tree's location, and photos. Permit fees range from $0 (Fremont, Redwood City) to $2,587 plus a $309 surcharge for a live tree in San Jose.
Step 4: Wait for Review
Only some cities publish a timeline: Redwood City normally within 10 working days, Fremont 2 to 4 weeks, Mountain View up to 45 days, Oakland a decision within 20 working days after a 20-working-day comment period. Some cities require public notice periods where neighbors can object. If the tree is near a property line, the adjacent property owner may be notified.
Step 5: Meet Conditions of Approval
Most approvals come with conditions: replacement plantings, in-lieu fees, or both. You'll need to plant replacement trees within a specified timeframe and maintain them for 3 to 5 years. Some cities require a bond or deposit to guarantee replacement tree survival.
What Heritage Tree Removal Costs
The total cost of removing a heritage tree includes more than the cutting itself:
| Cost Component | Typical Range |
|---|---|
| Arborist report for permit | $500 to $1,500 |
| City permit fee | $0 to $2,896 |
| Tree removal (large heritage tree) | $3,000 to $15,000 |
| Stump grinding | $200 to $800 |
| In-lieu fee (if applicable) | $528 to $2,646 per tree |
| Replacement tree(s) + planting | $300 to $1,500 |
| Total range | $4,000 to $25,000+ |
The cost varies widely based on the city's requirements and the tree's size and location. A heritage redwood in Woodside on a steep hillside with limited access will cost far more to remove than a street-adjacent oak in Campbell. Use our Cost Estimator tool for ballpark pricing and see the most expensive tree removal guide for real examples.
Common Mistakes That Lead to Fines
Assuming your tree isn't protected. Many homeowners don't realize their tree meets the threshold. A 12-inch trunk diameter is not a huge tree. It's roughly 38 inches around, which many 20-year-old landscape trees exceed. When in doubt, measure and check.
Hiring a tree service that doesn't pull permits. Some tree service companies will remove any tree you point to without asking about permits. If your tree was protected, you are liable for the fine, not the tree service. Always use a company that checks permit requirements before starting work. See our guide on red flags in tree service quotes.
Over-pruning to force decline. Some homeowners try to get around heritage tree protections by over-pruning the tree until it declines, then applying for removal as a "dead tree." Cities know this trick. Arborists can tell the difference between natural decline and pruning damage. In many cities, intentional damage to a protected tree carries the same penalties as unpermitted removal.
Not checking city boundaries. Properties near city borders can be tricky. If your lot straddles two cities, different ordinances may apply to different parts of your property. This is common along the Piedmont/Oakland border and the Palo Alto/Menlo Park border.
When Removal Is Typically Approved
Cities don't grant heritage tree removal permits easily, but they do approve them for legitimate reasons:
Dead trees are the most straightforward approvals, but a permit is still required almost everywhere. Mountain View exempts dead trees after a City Arborist determination; Belmont issues the permit automatically; San Jose issues dead-tree permits over the counter with a certified arborist's documentation. Los Altos still requires 1:1 replacement even for a dead tree.
Hazardous trees, meaning trees with severe structural defects, disease, or failure risk, are typically approved when the arborist report documents the specific hazard. The report also needs to explain why pruning or other treatments can't resolve it. A tree risk assessment showing high or extreme risk is strong supporting evidence.
Construction interference is approved when the tree cannot coexist with a permitted building project and the applicant has explored alternatives. Cities generally want to see that the project was designed to minimize tree impact before they'll approve removal.
Infrastructure damage, such as roots breaking foundations, sewer lines, or sidewalks, can support removal when repair isn't feasible. Some cities allow root pruning as an alternative and may require the homeowner to try that first.
Frequently Asked Questions
What is a heritage tree in California?
California does not have a statewide heritage tree definition. Each city creates its own. In the Bay Area, heritage tree definitions vary from any tree above a specific trunk diameter (such as 12 inches in Los Altos) to species-specific protections (coast live oaks at 4 inches in Oakland) to circumference-based thresholds (38 inches in San Jose). Piedmont, Foster City, and San Rafael have no private tree protections at all. You need to check your specific city's ordinance.
Can I remove a heritage tree from my property?
In most Bay Area cities, yes, but only with an approved permit. You typically need to demonstrate that the tree is dead, dying, hazardous, or interfering with a permitted construction project. Ten cities require an arborist report with every application; most others require one in specific cases. Many cities also require replacement plantings or payment of in-lieu fees. Published processing times run from about 10 working days (Redwood City) to 45 days (Mountain View); most cities publish none.
How much does a heritage tree removal permit cost?
Permit fees range from $0 to over $2,500 depending on the city. Fremont and Redwood City charge no fee; Mountain View charges $178; San Jose charges $2,587 plus a $309 surcharge for a live tree. In-lieu fees, where they exist, run from $528 (San Mateo, 15-gallon) to $2,646 per tree (San Francisco); Burlingame charges $325 per inch of trunk diameter. The permit fee is separate from the actual cost of tree removal, which typically runs $3,000 to $15,000 for large heritage trees in the Bay Area.
What is the penalty for removing a heritage tree without a permit?
Penalties vary dramatically. Sunnyvale charges $10,000 to $50,000 per tree. Palo Alto charges $10,000 per tree or twice the reproduction cost, whichever is higher. San Jose's heritage tree penalty is up to $30,000 per tree. Saratoga charges up to $5,000 per tree or the replacement value. Oakland treats removal as an infraction with replacement up to the appraised value; one 38-tree case totaled $915,135. Even in cities with lower fines, you may be required to plant replacement trees at a ratio of 2:1 or 3:1 and maintain them for several years. The financial risk of unpermitted removal almost always exceeds the cost of going through the permit process.
Which Bay Area cities have the strictest heritage tree protections?
By threshold: Tiburon protects all listed oaks at any size, Mountain View protects oaks, redwoods, and cedars at 12 inches circumference, and Oakland protects coast live oaks at 4 inches diameter. Hayward protects 17 native species at 4 inches. By penalty: Sunnyvale ($10,000 to $50,000 per tree), Palo Alto ($10,000 or twice reproduction cost, plus a development moratorium), and Danville (3 times appraised value) lead. At the other end, Piedmont, Foster City, and San Rafael have no private tree ordinance.
Do I need an arborist report to remove a heritage tree?
In 21 of the 56 cities, yes, with every application: Corte Madera, East Palo Alto, Hillsborough, Larkspur, Los Altos, Menlo Park, Mill Valley, Milpitas, Novato, Orinda, Pacifica, Palo Alto, Pleasant Hill, Portola Valley, Redwood City, Ross, San Anselmo, San Bruno, San Mateo County (unincorporated), Santa Clara, and Sausalito. Most others require one only when staff ask or when development is involved; Oakland, San Francisco, and Berkeley do not require one. The arborist report documents the tree's species, size, health condition, structural defects, risk to people or property, and the reason removal is warranted. Most cities require the report to be prepared by an ISA Certified Arborist. Some cities like Palo Alto require tree risk assessment qualification for reports involving hazard trees. See our arborist report cost guide for pricing.
What is an in-lieu fee for tree removal?
An in-lieu fee is a payment to the city when you remove a protected tree but cannot plant a replacement on your property. The fee funds the city's tree planting program. San Francisco's in-lieu fee is $2,646 per tree, the highest flat rate in the region; Palo Alto charges $1,250 and Los Altos $1,258 per tree. Burlingame calculates its fee by trunk diameter at $325 per inch. Some cities allow you to plant replacement trees at a different location instead of paying the fee.
How long does a heritage tree removal permit take?
Only some cities publish a timeline: Redwood City normally within 10 working days, Sunnyvale usually within 2 weeks, Fremont 2 to 4 weeks, Saratoga and Mill Valley within 30 days, Mountain View up to 45 days (60 to 90 days for Planning Division cases). Palo Alto can waive fees for dead or hazardous trees but publishes no timeline. Most cities with heritage tree ordinances require a planning department review and may hold the application for a public comment period. Complex cases involving multiple trees or construction projects take the longest.
Can my neighbor's heritage tree be removed if it's damaging my property?
Possibly, but you generally cannot force your neighbor to remove their tree. Under California law, you can trim branches and roots that cross your property line, but removing the tree is the owner's decision and requires a city permit if the tree is protected. If the tree is causing serious property damage, you may have legal recourse. See our guide on California tree law and neighbor disputes for details.
What counts as a protected species in the Bay Area?
It varies by city. The most commonly protected species are coast live oak, valley oak, coast redwood, and California bay laurel. Some cities protect all trees above a certain size regardless of species. Others only protect specific native species. Berkeley protects only coast live oaks, from 18 inches circumference; Tiburon protects all listed oaks at any size. Check your city's specific ordinance or use our Permit Checker tool.
Are dead trees exempt from heritage tree protections?
In most cities, dead trees are still protected and require a permit for removal, though dead is usually an approval ground. Palo Alto still requires a permit for a dead but stable tree and can waive the fee. Mountain View exempts dead trees after a City Arborist determination, and Belmont issues the permit automatically. Los Altos requires 1:1 replacement even for a dead tree. Exemptions are the exception, not the norm.
What replacement requirements come with a heritage tree removal permit?
Most Bay Area cities require replacement plantings when a heritage tree is removed. Common requirements include planting 1 to 3 replacement trees of a specified minimum size, often 15-gallon or 24-inch box. Some cities require a specific replacement ratio based on the removed tree's trunk diameter, for example 1 inch of replacement for every inch removed. Replacement trees must typically be maintained and survive for 3 to 5 years or be replaced again.

