Key Findings
This report compares how 35 Bay Area cities regulate, protect, and price tree work as of June 2026. The underlying dataset — protected-tree thresholds, penalty structures, permit fees, timelines, and verified cost ranges — was compiled city-by-city from municipal codes, planning department guidance, and field experience, and is maintained year-round on this site. Journalists and researchers are welcome to cite this report with attribution (see how to cite below).
Finding 1: A 2,000× Gap in Penalty Exposure
The cost of removing a protected tree without a permit depends almost entirely on which side of a city line the trunk stands. Oakland's municipal code allows penalties of up to $1,000,000 for an illegally removed protected oak — the region's highest ceiling. Woodside exposes homeowners to fines of up to $100,000 per tree, San Jose to $30,000 or more, and Cupertino to $25,000–$40,000, where unpermitted removal is also a misdemeanor. Saratoga and Sunnyvale tie penalties to three times the appraised value of the tree — for a mature heritage oak, easily a six-figure exposure.
At the other end, Redwood City fines a flat $500 per tree plus replanting requirements. The practical takeaway for homeowners: a penalty in one city can exceed the price of the house next door's entire tree inventory. Estimate your own exposure with the Penalty Calculator.
Finding 2: The Same Oak Is Protected in One City, Unregulated in the Next
Protection thresholds vary so much that an identical coast live oak can be fully protected, partially protected, or unregulated within a five-mile radius. Berkeley protects coast live oaks at any size and Oakland from 4 inches in trunk diameter, while Milpitas and Hillsborough leave most species unregulated until 18 inches. Piedmont — bordering Oakland on every side — requires no permit for most private trees at all. Species rules add another layer: several cities protect only natives (oaks, redwoods, bay laurel, madrone), and some, like Belmont, explicitly exclude eucalyptus, Monterey pine, and acacia.
Compare any two cities side-by-side with the Ordinance Comparison tool, or check a specific tree with the Permit Checker.
Finding 3: Where You Live Changes the Price More Than Tree Size
Across the 35 cities, removing a medium tree (25–50 feet) averages roughly $4,150, but the range is wide: $1,500–$3,000 in San Jose and Milpitas against $5,000–$10,000 in Atherton and $4,500–$8,500 in Hillsborough. Three factors drive the spread: estate-property access and crane requirements, heritage-tree paperwork (arborist reports, replacement plantings, bonds), and local labor and disposal costs. In several cities, the permitting process — not the cut — is the long pole: heritage permits can take 4–12 weeks with public notice requirements.
City-specific estimates for six service types are available in the Cost Estimator.
The Data: All 35 Cities by Region
Thresholds and penalties are summarized from each city's municipal code and planning guidance; full details, code references, and permit steps are on each city's permit guide. Removal costs are 2026 ranges for a typical 25–50 ft tree with normal access.
Peninsula (San Mateo County)
| City | Protected Tree Size | Penalty Exposure | Typical Removal (25–50 ft tree) |
|---|---|---|---|
| Atherton | 11.5″–18″ trunk diameter | $10,000+ per tree | $5,000–$10,000 |
| Belmont | Oaks & Redwoods: 10" trunk diameter | Others: 24" | Per city fee schedule | $3,000–$5,500 |
| Burlingame | See permit guide | Per city fee schedule | $2,500–$4,500 |
| Foster City | See permit guide | Per city fee schedule | $2,500–$4,500 |
| Hillsborough | 18″ diameter (50″ circumference) | $150/inch + appraised value | $4,500–$8,500 |
| Menlo Park | See permit guide | Per city fee schedule | $3,200–$6,000 |
| Palo Alto | 11.5″–18″ trunk diameter | $10,000+ per tree | $3,000–$5,000 |
| Redwood City | 12" trunk diameter (6–36" measure) | $500 per tree + replanting | $2,000–$4,500 |
| San Carlos | See permit guide | Per city fee schedule | $3,000–$5,500 |
| San Mateo | 10″ trunk diameter | Per city fee schedule | $3,000–$5,000 |
| Woodside | 24″–36″ circumference | Up to $100,000 per tree | $4,000–$8,000 |
South Bay (Santa Clara County)
| City | Protected Tree Size | Penalty Exposure | Typical Removal (25–50 ft tree) |
|---|---|---|---|
| Campbell | 18" circ. (~6" diameter) | Per city fee schedule | $2,500–$5,000 |
| Cupertino | 12″ diameter | $25,000–$40,000+ | $3,000–$5,500 |
| Los Altos | 12 inches trunk diameter (10 for native) | Per city fee schedule | $2,200–$4,500 |
| Los Gatos | 12" trunk diameter — Oaks, Standard in Flatland | Per city fee schedule | $3,500–$6,000 |
| Milpitas | 56" circumference (18" trunk diameter) | Per city fee schedule | $1,500–$3,500 |
| Mountain View | 4″ trunk diameter (species-specific) | $10,000+ per tree | $2,800–$5,000 |
| San Jose | 38″ circumference | $30,000+ per tree | $1,500–$3,000 |
| Santa Clara | See permit guide | Per city fee schedule | $1,800-$4,000 |
| Saratoga | 10″–18″ trunk diameter | 3x appraised value | $3,200–$6,000 |
| Sunnyvale | See permit guide | Per city fee schedule | $2,000–$4,500 |
East Bay (Alameda County)
| City | Protected Tree Size | Penalty Exposure | Typical Removal (25–50 ft tree) |
|---|---|---|---|
| Berkeley | Coast Live Oak: Any size | Other: 6" trunk diameter | Per city fee schedule | $3,500–$6,500 |
| Fremont | Native trees: 10" trunk diameter | Vacant lots: 6" | Per city fee schedule | $3,000–$5,500 |
| Hayward | 8" caliper (commercial & front yards) | Per city fee schedule | $2,800–$5,500 |
| Oakland | 4″ trunk diameter (oaks) — strictest Bay Area | Up to $1,000,000 per tree | $2,000–$5,000 |
| Piedmont | See permit guide | Per city fee schedule | $2,200–$3,800 |
Contra Costa County
| City | Protected Tree Size | Penalty Exposure | Typical Removal (25–50 ft tree) |
|---|---|---|---|
| Danville | 10″ trunk diameter (natives), 36″ heritage | Per city fee schedule | $2,500–$6,000 |
| Lafayette | 12″ trunk diameter (indigenous species) | Per city fee schedule | $2,200–$5,500 |
| Orinda | 12" trunk diameter (oaks on developed parcels) | Per city fee schedule | $4,500–$8,000 |
| Pleasant Hill | 9" diameter (native oaks & native trees) | Per city fee schedule | $1,800–$4,500 |
| Walnut Creek | 9″ trunk diameter (all species) | Per city fee schedule | $1,800–$4,500 |
Marin County
| City | Protected Tree Size | Penalty Exposure | Typical Removal (25–50 ft tree) |
|---|---|---|---|
| Mill Valley | See permit guide | $15,000+ per tree | Varies |
| San Rafael | See permit guide | Per city fee schedule | $3,000–$5,000 |
| Tiburon | 60″ circumference | Per city fee schedule | Varies |
San Francisco
| City | Protected Tree Size | Penalty Exposure | Typical Removal (25–50 ft tree) |
|---|---|---|---|
| San Francisco | See permit guide | Per city fee schedule | $4,000–$7,000 |
Methodology
Data was compiled and verified between March and June 2026 from municipal code libraries, city planning and public works guidance, published fee schedules, and direct agency contact where published materials were ambiguous, then cross-checked against field experience on Bay Area properties. Cost ranges reflect quoted and observed market pricing for licensed, insured operators — unlicensed cash quotes run lower and are excluded. The dataset is maintained continuously; corrections are welcome at michaelgschuck@gmail.com. Full editorial methodology: Editorial Standards.
How to Cite This Report
Schuck, Michael (ISA Certified Arborist WE-15750A). “State of Bay Area Urban Forestry 2026.” Urban Forestry Guide, June 2026. urbanforestryguide.com/state-of-bay-area-urban-forestry-2026/. Free to cite with attribution. Journalists: data tables, city-level detail, and expert comment available on request.