GR20 Corsica
The GR20 is a long-distance trail that traverses the island of Corsica. The trail is considered one of the most difficult in Europe and is known for its rugged terrain and challenging conditions. The trail covers a distance of approximately 180 kilometers (112 miles) and takes hikers through some of the most beautiful and remote parts of the island.
Day 0: Getting to Calenzana
Our journey to the GR20 started in Bastia, a northern city in Corsica. After landing at the airport, we took a shuttle bus into town to catch a long-distance bus to Calenzana—our gateway to the trail.
Normally, there’s a scenic train route that runs to Calvi, but since we were hiking in the off-season, maintenance work had temporarily shut it down. A replacement bus was available, but schedules in the off-season (October to June) can be unpredictable. If you're planning a hike during this time, be sure to check the latest bus and train timetables on municipal websites.
Once we reached the nearest stop to Calenzana, we faced an 8 km road walk to town. With heavy packs and daylight fading, we decided to try our luck hitchhiking. After about 15 minutes, a kind driver picked us up and dropped us off in Calenzana. By then, it was already 8 PM, and to make things more interesting—it was raining.
Our first stop was a campground, but it appeared closed for the season. With no other immediate options, we followed the GR20 route through town, searching for shelter. Eventually, we found a covered restaurant patio, offering brief respite from the rain. We lingered there, hoping the downpour would ease, but it only intensified. As the night wore on and the last patrons left the restaurant and nearby bars, we made a decision—this patio would be our campsite for the night. We unrolled our sleeping pads, settled in under the awning, and listened to the steady rhythm of the rain as we drifted off to sleep.
Benefits and drawbacks of hiking in the offseason
Pros | Cons |
---|---|
Less people on trail | Refuges are open but no services offered |
Plenty of space in the refuges to sleep | You have to pack all your food |
Weather is cooler |

Day 1: Calenzana to Refuge de Carozzu
Distance | Elevation |
---|---|
19 km / 11.9 miles | 6644 ft ↗️ 3276 ft ↘️ |
We woke up early, hoping to slip away unnoticed after our impromptu patio campsite. A warm coffee and pastry from a small café near the trailhead gave us the energy boost we needed before officially starting our GR20 journey.
Leaving Calenzana, the trail began on well-packed dirt, easing us in with gradual switchbacks that made the initial ascent more manageable. After about 8 km, we reached the top of Bocca a U Saltu, a perfect spot for a break. From here, the terrain changed—transitioning into a steep, rocky traverse featuring the infamous chains, bolted into the rock face to help hikers navigate the exposed sections. While they weren’t particularly difficult to use, they could be nerve-wracking for those unfamiliar with scrambling.

Beyond the chains, the trail followed a ridgeline leading to Refuge de l'Ortu di Piobbu, our first major landmark. We arrived around 3 PM and debated stopping for the night but ultimately decided to push on to the next refuge. A sign warned us that Refuge de Carozzu was 7 km away and would take 7 hours—but we shrugged it off, thinking, It’s just 7 km. How bad could it be?
We soon had our answer.
As we ascended Bocca Piccaia, fatigue set in, and the terrain became increasingly rugged and relentless. The effort was rewarded with a jaw-dropping sunset, casting an eerie, Mordor-like glow over the jagged peaks. But as the sun dipped below the horizon, reality hit—this was going to take longer than expected. With headlamps on, we carefully navigated the rocky descent, picking our way through the dark.
Finally, at 10 PM, we stumbled into Refuge de Carozzu. Most of the other hikers were already asleep, so we quietly set up our sleeping gear, scarfed down a quick meal, and crashed—completely exhausted but already hooked on the adventure ahead.
Day 2: Refuge de Carozzu to Refuge de la Serra
Distance | Elevation |
---|---|
18 km / 11.2 miles | 6644 ft ↗️ 3276 ft ↘️ |
We set out from Refuge de Carozzu at 8 AM, eager to get an early start. The trail quickly led us across a stream before beginning the long ascent to Bocca di Stagnu. As we paused to catch our breath, we spotted a trail runner speeding past. He was attempting to set the fastest known time (FKT) for the GR20, aiming to complete it self-supported in just 40 hours. By the time we reached this point on our second day, he had already covered the same distance since starting that morning. We later found out he completed the entire route in 44 hours—an absolutely mind-blowing achievement.
From Bocca di Stagnu, the trail began a steep descent toward Refuge de Asco Stagnu. Many of the hikers we had set out with in the morning decided to call it a day here, but after a quick lunch break, we pressed on. The trail meandered through a serene forest, offering a brief respite before leading us to the ascent of Monte Cinto—Corsica’s highest peak at 8,878 ft (2,706 m).
As we climbed, the weather took a turn—mist rolled in, and cold rain pelted us all the way to the top. At the Monte Cinto junction, we took a moment to regroup, and just as we started walking along the ridgeline above Lac du Cinto, the clouds began to break apart. By the time we reached Bocca Crucetta, the sun finally emerged, illuminating the jagged peaks in a golden glow.
The descent was brutal—relentlessly rocky, with the last rays of daylight quickly fading. By the time we reached Refuge de Tighjettu, it was late into the night. To our relief, two other hikers were already there, and they had started a cozy fire in the refuge. Grateful for the warmth, we settled in, cooked dinner, and exchanged stories. From this point onward, we ended up hiking with them for much of the trail.
Off-Season Note: While refuges remain open in the off-season, no services are provided, and most bergeries (alpine huts) are closed. Most refuges have a fireplace, and wood is provided—a lifesaver for drying gear and warming up after a long, cold day on the trail. Plan accordingly if you’re hiking outside the summer months!
Day 3: Tighiettu to Manganu
Distance | Elevation |
---|---|
30.9 km / 19.2 mi | 4543 ft ↗️ 4809 ft ↘️ |
We woke up early, knowing we had a long day ahead—our goal was to reach Refuge de Manganu by nightfall. The two hikers we met the night before set off at a faster pace, while we took a more relaxed start. A few kilometers in, I suddenly realized I had left my groundsheet back at Refuge de Tighjettu. I had used it as a barrier between my air pad and the rough surface of the table, but in the rush of packing up, I had forgotten to stow it away. There was no turning back now—I’d just have to manage without it.
The trail was a mix of rocky ascents and forested sections, with a 7 km stretch of soft, shaded terrain that allowed us to pick up the pace. We made steady progress, covering more distance than expected. Originally, we had planned to stop at Bergerie de Vaccaghia, but upon arrival, we found it too cramped for comfort. After a quick discussion, we decided to push on for a few more kilometers to Refuge de Manganu.
We finally arrived at 9 PM, exhausted but relieved. Our two hiking companions had already set up a cosy fire inside and were starting to make dinner. Over a much-needed dinner, we cooked wild mushrooms that one of them had foraged earlier in the day. That night, we also met a group of Dutch hikers, and what started as a grueling trek ended with laughter, shared stories, and a warm meal—the perfect way to end the day.
Day 4: Refuge Manganu to Vizzavona
Distance | Elevation |
---|---|
26.5 km / 16.5 mi | 6581 ft ↗️ 8004 ft ↘️ |
Our goal for the day was Vizzavona, the midpoint of the GR20 and a much-needed place to resupply and enjoy a hot meal. Fueled by that thought, I set off with our two hiking companions, determined to keep pace with them as we ascended to Bocca de la Porte. The climb was tough but exhilarating, and we soon found ourselves traversing a stunning ridgeline. At one point, the route required a controlled rappel using built-in chains, adding a dose of excitement and technical challenge to the day.
Keeping up with these two experienced hikers pushed my limits, but it was incredibly fun. We reached Refuge Petra Piana just in time for lunch under the sun, enjoying breathtaking views. While taking a break, one of the hikers suggested a more direct ridgeline route via Col du Bocca Manganello, which would shave off some time and give us enough daylight to push all the way to Vizzavona.
We arrived at Refuge de L’Onda around 4 PM, but instead of stopping, we pressed on for one final climb over Pointe Muratello before the long descent into Vizzavona. Along the way, we joked about renaming our destination "Pizzavona", since all we could think about was finally getting a hot meal.
At 7 PM, we finally made it to Vizzavona, only to find that everything near the trailhead was closed for the season. Luckily, we managed to hitch a ride with some day hikers down the road, where we ran into a familiar face—another friend from the trail who had booked a hotel room. He kindly offered to share the room, and to our surprise, the boutique hotel staff went above and beyond—graciously upgrading us to a larger space and even preparing a warm meal.
After days of roughing it in the mountains, a real bed and a hot meal felt like absolute luxury.
Day 5: Vizzavona to Refuge di u Prati
Distance | Elevation |
---|---|
30.8 km / 19.1 mi | 6990 ft ↗️ 4109 ft ↘️ |
The morning began on a bittersweet note—one of our hiking companions had to end his journey here, as his ferry departure was approaching. That left just the two of us to continue on.
We set out from Vizzavona, following the route on my phone, only to realize we had taken a more difficult path up Bocca Palmente. The climb turned out to be far steeper and more technical than expected, with some intense rock scrambles along the way. Having a hiking partner made all the difference—there were moments when tackling the terrain alone would have been mentally and physically exhausting.
After reaching the top, the trail eased up a bit, but as the sun began to set, we found ourselves once again night hiking. Navigating in the dark was something we had grown used to by this point, but it still required constant focus. Eventually, we made it to Refuge di U Prati, where we met a new group of hikers.
Out of the 7 days on trail, we hiked in the dark for 5 of them. The combination of long distances and short daylight hours during the off-season meant that night hiking became a regular part of our experience.
Huddled inside the refuge, we shared dinner and stories, bonding over the day's challenges. As we ate, we watched a storm rolling in from the east, its lightning flashing across the island and distant thunder rumbling through the night—a breathtaking sight after a long and grueling day.
Day 6: Refuge di u Prati to Bergerie d’Asinau
Distance | Elevation |
---|---|
26.9 km / 16.7 mi | 4942 ft ↗️ 5833 ft ↘️ |
We woke up early and left Refuge di U Prati around 8 AM, setting off into a mix of rocky terrain and forest trails. The morning air was crisp, and we made steady progress, eventually passing by Refuge d'Usciolu before continuing toward Refuge d'Asinau.
By the time we arrived at the refuge around 5 PM, we debated whether to stop for the night or push a little further. With enough daylight left, we decided to continue on to Bergerie d’Asinau, reaching it by 7 PM.
The bergerie was under reconstruction, so we had to make do with a smaller temporary shelter—not the most comfortable, but at least it kept us dry. The rain started pouring through the night, making us even more grateful for any kind of cover.
Outside, some of the hikers built a fire, and we gathered around for dinner. As I warmed up, I decided to dry out my soaking-wet shoes near the flames. Big mistake—I didn’t realize they were too close until the lace loops burned. Luckily, I managed to repair them, but it was frustrating for it to happen so close to the end of the trail.
Lesson learned: Be extra careful drying gear near a fire—sometimes fixing mistakes on the trail isn’t easy! 🔥👟
Day 7: Bergerie d’Asinau to Conca
Distance | Elevation |
---|---|
29.2 km / 18.1 mi | 2803 ft ↗️ 7117 ft ↘️ |
The final day on the trail began with the sound of rain tapering off, allowing us to set off from Bergerie d’Asinau around 8 AM. The realization that this was our last stretch brought a mix of excitement and nostalgia.
By midday, we reached Bavella, a small town with a few restaurants, where we stopped for a well-earned lunch break. The trail then led us past Refuge di i Paliri, beautifully nestled beneath a rugged mountainside—a perfect final showcase of the GR20’s dramatic landscapes.
Wanting to push our limits, we decided to run sections of the trail in 5 km intervals, making the most of our last day. As we approached the final pass, Bocca d'Usciolu, we could feel the end in sight.
Descending into Conca, we picked up the pace. When the trail met the road leading into town, we sprinted the last stretch, finally reaching the trailhead sign next to the local pub—a symbolic finish to an unforgettable journey.
That night, we stayed at a charming B&B, where we washed our clothes and enjoyed a celebratory dinner, reflecting on the adventure we had just completed.
Afterword
The GR20 was an unforgettable journey—one that tested my physical and mental limits in ways I never expected. The trail demands a high level of fitness and experience with mountain terrain, but the breathtaking landscapes and the sheer sense of accomplishment at the end make every challenge worth it.
The morning after finishing, we headed to Porto Vecchio, a larger town where we had a better chance of hitching a ride north. After two hitches, we made it to Bastia, where we spent a few days relaxing on the beach, soaking in the final moments of the trip before catching our flight home.
Thanks for reading! I hope this journal provides useful insights for anyone planning to hike the GR20. If you have any questions or just want to chat about the trail, feel free to reach out to me on Instagram: @andrewtpham.
Happy trails!