5 of the Best Grand Canyon River Hikes

The first Grand Canyon river trip slide show I ever saw was in the dim smelly bowels of a small raft company warehouse. Soggy wetsuit booties hung on the walls, but we endured the malodorous setting because the images were so captivating. Our boss, dory boatman Steve Jones (aka Jonesy) was behind the projector, and I’ll never forget what he said: “Grand Canyon trips are all about the hiking.” Jonesy kept true to his proclamation and flipped through innumerable photos of places I’d never before imagined. Elves Chasm, Olo Canyon, Blacktail; suddenly I had a new agenda for my forthcoming first Grand Canyon trip—do every hike I could.

That was 25 years and a few dozen Canyon trips ago, but my approach to the greatest river trip in the world has changed very little: Survive the rapids, and do every hike. Here a few of my very favorites Grand Canyon hikes.

Guide-Favorite Grand Canyon Hikes

Best Grand Canyon River Hikes: North Canyon

1) North Canyon

This is the first really classic hike done on most trips. The path follows the bed of North Canyon before tracing a cairned route across a rocky desert slope to bypass a pour-off in the dry creekbed. Once back on sidewalk smooth sandstone in the canyon bottom, hikers must negotiate a couple small scrambles before arriving at a gorgeous reflection pool. This is an obvious turn around point, but those who are overly stoked can swim the pool, and make their way another few hundred yards into the ever narrowing canyon.

Hilltop Ruin | Photo: Tyler Williams

2) Hilltop Ruin

An often overlooked jaunt, the relatively short trail hike to Hilltop Ruin gets you straight into a region called Furnace Flats. Sounds appealing, eh? Actually, this open section of canyon from roughly miles 66 to 73 is a nice change of pace. The views are wide here, which is why natives built Hilltop Ruin as a communication post. An extra side saunter leads to a breathtaking cliff overlook directly above Unkar Rapid.

Clear Creek Hike in Grand Canyon | Photo: Tyler Williams

3) Clear Creek

River travelers might feel confined in the heart of the Inner Gorge, but there is a solution: Clear Creek. Winding between walls of schist, this rushing stream features mind-meld bends that can make us feel oh-so-small. A unique horizontally spouting waterfall at hike’s end is a fitting finale.

Clear Creek Hike - Surprise Valley

4) Surprise Valley

This is a full day commitment, and untenable in hot weather, so the majority of trips will blow past. That’s good if you are lucky enough to make this epic Grand Canyon hike, because you probably won’t see any other river runners until the end of the day at Deer Creek, which is where this point to point route finishes. The day begins along cold clear Tapeats Creek. By mid-day you’ll be at the surreal Thunder River Springs. The Surprise Valley slog is next, to be rewarded with the too-beautiful-for-words Deer Creek finish. It’s a journey, a voyage, an odyssey, it’s Surprise Valley.

Best Grand Canyon River Hikes: National Canyon

5) National Canyon

The once popular camps here are washed away for the moment, thanks to 16,000 cfs flooding down National Canyon a couple seasons back. So don’t stop if the monsoon is active. Still, this side canyon is a worthy destination, featuring crystalline pools, towering cliff walls, and a special green tinged light that infuses the atmosphere as it reflects Muav Limestone alcoves.

Explore Grand Canyon Trips

 


Photos: Tyler Williams (Clear Creek & Hilltop Ruin)


 

[gravityform id="25" title="false" description="false"]
<div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_25' ><form method='post' enctype='multipart/form-data' id='gform_25' action='/blog/5-of-the-best-grand-canyon-river-hikes/'> <input type='hidden' class='gforms-pum' value='{"closepopup":false,"closedelay":2,"openpopup":false,"openpopup_id":37143}' /> <div class='gform_body'><ul id='gform_fields_25' class='gform_fields top_label form_sublabel_below description_below'><li id='field_25_1' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_25_1' >First Name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_25_1' type='text' value='' class='medium' placeholder='First name' aria-required="true" aria-invalid="false" /></div></li><li id='field_25_2' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_25_2' >Email<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_25_2' type='text' value='' class='medium' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_25' class='gform_button button' value='Get Your Guide' onclick='if(window["gf_submitting_25"]){return false;} window["gf_submitting_25"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_25"]){return false;} window["gf_submitting_25"]=true; jQuery("#gform_25").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_25' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='25' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_25' value='WyJbXSIsIjU3ZTliNjU4YTQxNTJjNTdhOTAwMjQ2MDBjZGU1YmJmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_25' id='gform_target_page_number_25' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_25' id='gform_source_page_number_25' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 25) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [25, 1]) } ); </script>