Stillaguamish, N. Fork
2. Moose Creek to Oso
| Difficulty | II |
| Length | 25 mi |
| Avg Gradient | n/a |
| Gauge | N.f. Stillaguamish R. @ Oso |
| Flow Rate as of 1 hour | 1160 cfs |
| Reach Info Last Updated | February 8, 2026 |
River Description
The North Fork of the Stillaguamish is perhaps better known for its steelhead than its whitewater but it's still a great float trip with plenty of opportunities for viewing wildlife and the legacy of geologic processes that shaped the Puget Sound lowlands. It has been popular with experienced canoeists for years.
The North Fork of the Stillaguamish has a fascinating geologic history and was once a much bigger river as it carried the waters of the Suiattle and Sauk Rivers. During the last glacial advance the mouth of the Puget Sound rivers were blocked by the Puget Lobe of the Cordilleran ice sheet and outwash gravel from the glacier formed a dam creating a lake fed by the Skagit, Suiattle, and Sauk Rivers. The lake eventually overtopped the dam near Darrington, draining through what is now the North Fork Stillaguamish valley. Following the retreat of the ice sheet the Skagit River broke through the gravel dam towards the north end of the lake and reestablished it's current course while the Sauk and Suiattle continued to flow along the course of the North Fork Stillaguamish. Volcanic eruptions of Glacier Peak in the Sauk and Suiattle headwaters that followed the last glacial advance choked the rivers with volcanic debris forming an alluvial fan at Darrington that now diverts both of these rivers north to the Skagit River.
Volcanic eruptions of Glacier Peak at their headwaters since the last glacial advance choked the Sauk and Suiattle Rivers with volcanic debris forming an alluvial fan at Darrington that now diverts both of these rivers north to the Skagit River.
All this geologic activity has created the features that paddlers experience today. The run starts out on a narrow river with exceptionally clear water draining more resistant bedrock to the north. At moderate flows, intermittent rapids are relatively straight forward class II formed by small boulders. For the most part however this section is characterized by swift current that cuts thr
...River Features
Forest Road Bridge Put-in
To reach the uppermost put-in for this section continue upstream to Highway 530 mile 46.8 and turn onto an unmarked road (it's easy to miss this turn). Continue past the Darrington Substation and 1 mile from the highway you'll reach a bridge with convenient access on downstream river left. More challenging whitewater is found upstream of this bridge.
Swede Heaven Road Bridge Access
This access is a good put-in option for the upper section when flows are below 1500 cfs. The river is also more open downstream of this bridge. To reach this site turn north onto Swede Heaven Road at Highway 530 mile 43.7 (directly across from the Shell Station) and continue 0.8 miles to the river. Parking is limited but there is a convenient access to the river on the upstream river left side of the bridge.
Hazel Hole River Access
This is more typically used as a fishing access, but it's a convenient pullout right along Highway 530 at mile 38.8. An interpretive kiosk here describes the history of steelhead fishing on this river. Located at USGS river mile 22.4.
C Post Road Bridge Access
Access here would be a bit of a scramble but it is possible. At Highway 530 mile 37.8 turn north onto C Post Road and 0.4 miles from the highway you'll come to single-lane bridge across the river. Located at USGS river mile 21.2.
2014 Oso Landslide Site
A tragic landslide took place here on March 22, 2014. The landslide was a square mile in size wiping out homes in the community along Steelhead Drive resulting in 43 fatalities. This was not the only landslide at this area. The river has carved a channel through the landslide.
Whitman Road Bridge Access - Dividing Upper and Lower Runs
This is a popular intermediate access point at a trailhead for the Whitehorse Trail. It is located at Highway 530 mile 35.0 where you turn north onto Whitman Road. The access is at the Whitman Road Bridge on downstream river left and there is a good trail to the river under the bridge. Located at USGS river mile 17.6.
Oso State Route 530 Bridge Access
Cicero Bridge Take-Out
This is the typical take-out for the lower run. From Arlington head east on Highway 530 about 7.5 miles and turn onto Veach Road at Highway 530 mile 28.8 just before it crosses the river. This is a trailhead for the Whitehorse Trail and also a popular swimming hole in the summer. The access is upstream river left of the Highway 530 Bridge and this is the take- out for the lower run. Located at USGS river mile 9.5.
Trip Reports
Log in to add a reportFun canoe run at 635cfs from Hazel to Cicero today. Did have some spots where we walked the canoe due to gravel bars. Only scouted a little area next to a retaining wall river left between the town of Oso and the memorial site. Fun boulder gardens and scenic flat water. Took about 5 hours and has a nice bike path next to the river for a bicycle shuttle.
Today (5/15/2022) a group of three pack rafters including myself floated from Hazel Hole down to the Takeout shown on the map. There isn't a lot of info on this run because it's not a big time Whitewater run but it is a great run for beginners to learn how to handle their boats with no real dangers and a decent number of practice spots. As we floated by the gauge at Whitman Road, the flow read 2.9ft. This would be an easy place to stop and see what the flow is at before committing to the run. Anything under 2.9ft and the river would get pretty bony. We bounced around here and there but this was a good base flow. This run would probably get really fun as the gauge approaches 5-6ft. Since there seems to be no accurate real time gauge on the NF Stilly, I have always used the SF Stilly gauge and thrown the dice. I find that the SF Stilly gauge correlates to a similar flow on the NF during the rainy season but the NF loses a lot more water in the summer due to a smaller watershed and no real snowpack. Today the SF Stilly gauge read 5.9ft.
Onto the run!
We put in at Hazel Hole, from here there are a few easy class I rapids to get 'warmed up' on until you reach the landslide where the rapids build slightly in intensity and could be considered class II. We stopped on the left bank and admired the event, the river right bank is still a very actively eroding clay wall and in the fifteen minutes we were stopped we saw a good dozen or so chunks fall into the river. After the landslide, the river tumbled through a long class II rapid ending with a massive boulder in the middle of the river, there are some nice surf waves in this section and at the flows we were on it there are a lot of great little surf waves and eddylines to play with. The river tumbles through a couple more class II rapids before chilling out a bit as you near Whitman Road. There is a stick gauge here on the river right side downstream of the bridge we used to gauge the flow for today. After Whitman Road, the river goes down the largest rapid on the run, and possibly the whole NF Stilly. This rapid is just a boulder garden with a couple good waves and holes before slamming into the right side wall in a huge pool. This rapid would only be considered a class II drop however there was a sweeper coming in from the right bank that covered about 1/3 of the river. This was the only wood we found to be 'in play' and it was easily avoidable. From here the river calms a bit before banking left toward the takeout. This is the last reasonable river acces for several miles of Deer Creek isn't low enough to ford up the creekbed. We saw two families of Canadian Geese in the pool here, none of them chased us. It was nice.
We paddled from the 'Hazel Hole' fishing access to Witman Rd. The gage reported on this site shows the flow as too low which was completely wrong. The USGS gage at C-Post Rd was 1440 and it was a very good level.
The wood pile on river left 1/4 mile below where we put in is gone but there is now what appears to be a tree with branches sitcking up out of the water mid-current. It was easy to avoid at this level. There is also some new logs cabled to the shore on river right above C-Post Rd but don't appear to be a hazard unless they come loose.
1/16/2021 - 1880 CFS on the C-Post gauge. 2 SUPs. 30 eagles.
Ran Swede Heaven to Whitman Rd, 3 hours on the water, 1 hour bike shuttle on the White Horse Trail. All wood was avoidable. One big log jam blocked nearly the entire river, but there was a small channel on the left that was clean (would be a tight squeeze for a raft).
Tried to run from the River Mile 32 Forest Road Bridge down today but couldn't. The gate 0.6 mile from the bridge was locked, and a new formal sign said there is no access to the state land through the private land. It was such a short distance to walk, but the sign's threatening language kept us from entering.
Paddled the section from Swede Haven bridge to Hazle at 1400cfs on 2/26/17. Seemed like a 'below recommended' level. Had at least 3 bony spots you really had to scrape to get down in a kayak (in a raft it would have been worse). One or two bends on the river all the water funneled into a pile of wood, requiring a short portage through a gravel bar -with a little more water the gravel bar would have been covered and been able to easily avoid the wood. That said, this would be a really good beginner section/level because it very tame, barely approaching a class II level if at all.
Floated from Forest Road (435th st off HWY 530 if I remember correctly) to Whitman rd on 5/27/12 at 2100cfs. 5hrs on the water with constant rowing in my 1-man cataraft. Two logjams above Swede Haven rd, the first of which requires a quick portage but the second can be skirted at this flow. Easy float, no worries.
When put in at the Forest Road Bridge and paddled down the approximately 17 miles to Whitman Road Bridge. It was cold and snowy day.
This run just barely hits class II for the first 10 miles, but the scenery is nice and the current keeps things moving.
At the recommended levels, this is a long run. From the Swede Heaven Bridge to the Whitman Road bridge is a 5 hour trip at 1500cfs, and that's only 2/3 of the run. You don't want to take out sooner because the best rapids are at the bottom, but there aren't any really good put-ins below Swede Heaven. The water at the put-in is clear, and you can see the rocks in the riverbed as you float. You won't get much more water than this until around 10 miles into the trip, when several creeks have added to the flow. When the Boulder River comes in on the left, it adds a bit of silt to the river, but it makes up for it by adding a lot of water.
This would be a good run on a sunny day with a big picnic lunch - get an early start and enjoy the day.
Be aware that there may be a few logjams, but the river is slow and you should have plenty of time to react. Also, there are several braided sections with non-obvious channels - be patient and boat-scout all of the options before commiting.