
Thursday, July 16: Stage 12, Circuit Nevers Magny-Cours - Chalon-sur-Saône, 179.1 km
Stage 12 map & profile | Stage 12 photos

Tim Merlier wins stage twelve, his third stage win this Tour. Photo: ASO/Thomas Maheux
James Witherell's book Bicycle History: A Chronological History of People, Races and Technology is available in both print and Kindle eBook formats. To get your copy just click on the Amazon link on the right.
Weather at the finish city of Chalon-sur-Saône at 2:10 PM, local time: 33C (91F), partly cloudy, with the wind from the south at 8 km/hr (5 mph). There is a 40% chance of scattered thindertorms at 3:00 PM.
Rated ascents:
The stage: Tour boss Christian Prudhomme writes: On its way to Chalon-sur-Saône, the peloton will cross the Loire near Decize, as it did the day before, and visit Montceau-les-Mines and then the southern Morvan, while always keeping one eye on the breakaway’s lead. Even with the assistance of the Côte de Montagny-lès-Buxy (2.6km at an average gradient of 4.3%), the escapees will have little hope of evading capture by the sprinters’ teams in the Chalonnais vineyards.
Nevers Magny-Cours circuit at the start hosted the French Formula 1 Grand Prix between 1991 and 2008.
The race: All 174 stage 11 finishers began today's stage.
Here's the race organizer's stage twelve summary:
A day starting at the Nevers Magny-Cours motorsports circuit led to fast and furious racing, with a flurry of attacks and a final sprint that crowned the fastest man of the Tour de France 2026: Tim Merlier (Soudal Quick-Step), the winner in Chalon-sur-Saône. Already crowned in Bordeaux and Bergerac, the Belgian sprinter takes his third victory in his third participation in the event, after claiming one in 2021 (in Pontivy) and two in 2025 (Dunkerque, Châteauroux).
Baptiste Veistroffer (Lotto Intermarché) animated the day again, and many attackers shook the race in the finale, with Mads Pedersen (Lidl-Trek) himself putting the hammer down. But the sprinters’ teams maintained control and Merlier proved the fastest on the 1.6 km final straight. The Belgian rider narrowly got the better of Olav Kooij (Decathlon CMA CGM) and Jasper Philipsen (Alpecin-Premier Tech) before heading back into the mountains on stage 13.
The stage:
Another sprint on the cards? After Soren Wærenskjold (Uno-X Mobility) powered to a spectacular success in Nevers, the peloton roll from the Circuit de Nevers Magny-Cours motor racing track and head to Chalon-sur-Saône. The route is a bit hillier than on Wednesday, with three cat. 4 ascent and a total elevation gain of 1,800 metres across 179.1 km of racing.

At the start line at the Nevers Magny-Cours circuit.
Veistroffer alone…
Although they haven’t been successful so far, attackers have brought in fierce battles in flat stages, and they’re intent on trying their luck en route to Chalon-sur-Saône. Dutch sprinter Dylan Groenewegen is the last winner here (2019) but the city also has a history of favouring attackers, starting with Brian Robinson, the first British Tour stage winner and the winner of the first stage that finished in Chalon-sur-Saône (1959).
Mauro Schmid (Jayco AlUla) sets off as soon as the flag drops. He's followed by Marco Haller (Tudor), Baptiste Veistroffer (Lotto Intermarché), Jonas Abrahamsen (Uno-X Mobility)... and the rest of the field.

The peloton 10 km into the stage.
After a series of attacks and counter-attacks, Veistroffer opens a gap at km 27. The French baroudeur is in for a third breakaway in his first Tour de France after he led the way on stages 5 (alone) and 7 (with Jakub Otruba).
Some support for Veistroffer…
Sprinters’ teams rapidly set the pace at the front of the bunch. The graphite a maximum of 2 minutes at km 43, just before the intermediate sprint in Decize (km 45.8). Mads Pedersen (Lidl-Trek) crosses the line in front of his rivals for the green jersey.

Baptiste Veistroffer attacks early in the stage. At one point the lone rider had a 2-minute lead. Fifty kilometers into the stage the Lotto-Intermarché rider's lead was down to 57 seconds.
Due to the increase of pace in the peloton, the gap decreases and counter-attackers are inspired to close the gap to the lonesome leader. Several contenders try. Damiano Caruso (Bahrain Victorious), Ewen Costiou (Groupama-FDJ United) and Matteo Vercher (Total Energies) succeed in joining Veistroffer at km 57.
The situation settles en route to Luzy (km 86.4), Jean-François Bernard’s hometown. Tim Merlier’s Soudal Quick-Step, Biniam Girmay’s NSN and Jasper Philipsen’s Alpecin-Premier Tech collaborate to control the attackers.

Early breakaway rider Baptiste Veistroffer was joined by Damiano Caruso (Bahrain Victorious), Ewen Costiou (Groupama-FDJ United) and Matteo Vercher (Total Energies). Here the breakaway quartet goes over the Côte de Cuzy 40sec ahead of the peloton.
Sprinters fend off late attackers
Veistroffer accelerates 62 kilometres from the finish and only Costiou follows him. The first attacker of the day is alone again as his companion sits up to wait for the bunch as the race enters the final 50 kilometres of the day.

At one point early breakaway rider Baptiste Veistroffer had three riders with him. But here, with about 50 km to go, his last break companion Ewen Costiou drops back to rejoin the peloton while Veistroffer pushes on. He was soon caught by a group that had escaped from the peloton
After 15 kilometres alone at the front, Veistroffer’s lead is minimal. Quinn Simmons (Lidl-Trek) puts the hammer down to try and disrupt the plans of the pure sprinters’ teams. His teammates Mathias Vacek and Derek Gee-West also up the ante on the final climb of the day, the Côte de Montagny-lès-Buxy (cat. 4, summit at km 159.4). Mads Pedersen (Lidl-Trek) attacks himself several times on the run-in to Chalon-sur-Saône, but the peloton stay in control.

With 23km to go all the breakaways have been caught.
Alpecin-Premier Tech take the lead into the final kilometre and Mathieu Van der Poel launches Jasper Philipsen. But the Belgian sprinter is passed by his compatriot Tim Merlier (Soudal Quick-Step) as well as Dutch rival Olav Kooij (Decathlon CMA CGM).
Behind them, Fernando Gaviria (Caja Rural-Seguros RGA) and Dorian Godon (Netcompany Ineos) hit the deck at high speed after a late crash.
Complete results:
Vlad Van Mechelen (Bahrain Victorious) was relegated from 17th to 144th.
179.1 kilometers raced at an average speed of 49.095 km/hr
| 1 | Tim Merlier | Soudal Quick-Step | 3hr 38min 53sec |
| 2 | Olav Kooij | Decathlon CMA CGM Team | s.t. |
| 3 | Jasper Philipsen | Alpecin-Premier Tech | s.t. |
| 4 | Biniam Girmay | NSN Cycling Team | s.t. |
| 5 | Milan Fretin | Cofidis | s.t. |
| 6 | Anthony Turgis | Team TotalEnergies | s.t. |
| 7 | Max Kanter | XDS Astana Team | s.t. |
| 8 | Clément Russo | Groupama-FDJ United | s.t. |
| 9 | Mads Pedersen | Lidl-Trek | s.t. |
| 10 | Huub Artz | Lotto-Intermarché | s.t. |
| 11 | Rick Pluimers | Tudor Pro Cycling Team | s.t. |
| 12 | Fred Wright | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 13 | Jenthe Biermans | Cofidis | s.t. |
| 14 | Mathieu van der Poel | Alpecin-Premier Tech | s.t. |
| 15 | Pascal Ackermann | Team Jayco-AlUla | s.t. |
| 16 | Jasper Stuyven | Soudal Quick-Step | s.t. |
| 17 | Florian Vermeersch | UAE Team Emirates-XRG | s.t. |
| 18 | Remco Evenepoel | Red Bull-BORA-hansgrohe | s.t. |
| 19 | Kasper Asgreen | EF Education-EasyPost | s.t. |
| 20 | Robert Stannard | Bahrain Victorious | s.t. |
| 21 | Aurélien Paret-Peintre | Decathlon CMA CGM Team | s.t. |
| 22 | Mauro Schmid | Team Jayco-AlUla | s.t. |
| 23 | Mike Teunissen | XDS Astana Team | s.t. |
| 24 | Jake Stewart | NSN Cycling Team | s.t. |
| 25 | Alexandre Delettre | Team TotalEnergies | s.t. |
| 26 | Tobias Halland Johannessen | Uno-X Mobility | s.t. |
| 27 | Magnus Cort | Uno-X Mobility | s.t. |
| 28 | Tom Pidcock | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 29 | Xandro Meurisse | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 30 | Quinten Hermans | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 31 | Marco Haller | Tudor Pro Cycling Team | s.t. |
| 32 | Matej Mohoric | Bahrain Victorious | s.t. |
| 33 | Jonas Rickaert | Alpecin-Premier Tech | s.t. |
| 34 | Cees Bol | Decathlon CMA CGM Team | s.t. |
| 35 | Paul Seixas | Decathlon CMA CGM Team | s.t. |
| 36 | Nicolas Prodhomme | Decathlon CMA CGM Team | s.t. |
| 37 | Tom Van Asbroeck | NSN Cycling Team | s.t. |
| 38 | Antonio Tiberi | Bahrain Victorious | s.t. |
| 39 | Daan Hoole | Decathlon CMA CGM Team | s.t. |
| 40 | Romain Grégoire | Groupama-FDJ United | s.t. |
| 41 | Mattias Skjelmose | Lidl-Trek | s.t. |
| 42 | Jonas Vingegaard | Team Visma | Lease a Bike | s.t. |
| 43 | Edoardo Affini | Team Visma | Lease a Bike | s.t. |
| 44 | Quinn Simmons | Lidl-Trek | s.t. |
| 45 | Clément Braz Afonso | Groupama-FDJ United | s.t. |
| 46 | Yannis Voisard | Tudor Pro Cycling Team | s.t. |
| 47 | Jordan Jegat | Team TotalEnergies | s.t. |
| 48 | Thibault Guernalec | Team TotalEnergies | s.t. |
| 49 | Nils Politt | UAE Team Emirates-XRG | s.t. |
| 50 | Tadej Pogacar | UAE Team Emirates-XRG | s.t. |
| 51 | Michael Matthews | Team Jayco-AlUla | s.t. |
| 52 | Florian Lipowitz | Red Bull-BORA-hansgrohe | s.t. |
| 53 | Brandon McNulty | UAE Team Emirates-XRG | s.t. |
| 54 | Anthon Charmig | Uno-X Mobility | s.t. |
| 55 | Jai Hindley | Red Bull-BORA-hansgrohe | s.t. |
| 56 | Adam Yates | UAE Team Emirates-XRG | s.t. |
| 57 | Lorenzo Germani | Groupama-FDJ United | s.t. |
| 58 | Isaac del Toro | UAE Team Emirates-XRG | s.t. |
| 59 | Ilan Van Wilder | Soudal Quick-Step | s.t. |
| 60 | Damiano Caruso | Bahrain Victorious | s.t. |
| 61 | Tim van Dijke | Red Bull-BORA-hansgrohe | s.t. |
| 62 | Tiesj Benoot | Decathlon CMA CGM Team | s.t. |
| 63 | Sean Quinn | EF Education-EasyPost | s.t. |
| 64 | Juan Ayuso | Lidl-Trek | s.t. |
| 65 | Sepp Kuss | Team Visma | Lease a Bike | s.t. |
| 66 | Richard Carapaz | EF Education-EasyPost | s.t. |
| 67 | Davide Piganzoli | Team Visma | Lease a Bike | s.t. |
| 68 | Brent Van Moer | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 69 | Michel Hessmann | Movistar Team | s.t. |
| 70 | Matthew Riccitello | Decathlon CMA CGM Team | s.t. |
| 71 | Maxim Van Gils | Red Bull-BORA-hansgrohe | s.t. |
| 72 | Felix Grossschartner | UAE Team Emirates-XRG | s.t. |
| 73 | Pablo Castrillo | Movistar Team | s.t. |
| 74 | Alex Kirsch | Cofidis | s.t. |
| 75 | Toms Skujins | Lidl-Trek | s.t. |
| 76 | Aaron Gate | XDS Astana Team | s.t. |
| 77 | Guillaume Martin-Guyonnet | Groupama-FDJ United | s.t. |
| 78 | Kamil Gradek | Bahrain Victorious | s.t. |
| 79 | Felix Engelhardt | Team Jayco-AlUla | s.t. |
| 80 | Mattéo Vercher | Team TotalEnergies | s.t. |
| 81 | Joris Delbove | Team TotalEnergies | s.t. |
| 82 | Mathias Vacek | Lidl-Trek | s.t. |
| 83 | Ramses Debruyne | Alpecin-Premier Tech | s.t. |
| 84 | Matis Louvel | NSN Cycling Team | s.t. |
| 85 | Lewis Askey | NSN Cycling Team | s.t. |
| 86 | Pavel Bittner | Team Picnic PostNL | s.t. |
| 87 | Warren Barguil | Team Picnic PostNL | s.t. |
| 88 | Julius van den Berg | Team Picnic PostNL | s.t. |
| 89 | Damien Howson | Pinarello-Q36.5 Pro Cycling Team | s.t. |
| 90 | Derek Gee-West | Lidl-Trek | s.t. |
| 91 | Edward Planckaert | Alpecin-Premier Tech | s.t. |
| 92 | Per Strand Hagenes | Team Visma | Lease a Bike | s.t. |
| 93 | Nelson Oliveira | Movistar Team | s.t. |
| 94 | Simone Velasco | XDS Astana Team | s.t. |
| 95 | Louis Vervaeke | Soudal Quick-Step | s.t. |
| 96 | José Félix Parra | Caja Rural-Seguros RGA | s.t. |
| 97 | Quentin Pacher | Groupama-FDJ United | s.t. |
| 98 | Raúl García | Movistar Team | s.t. |
| 99 | Javier Romo | Movistar Team | s.t. |
| 100 | Jan Tratnik | Red Bull-BORA-hansgrohe | s.t. |
| 101 | Piet Allegaert | Cofidis | s.t. |
| 102 | Hugo Page | Cofidis | s.t. |
| 103 | Mattia Cattaneo | Red Bull-BORA-hansgrohe | s.t. |
| 104 | Davide Ballerini | XDS Astana Team | s.t. |
| 105 | Carlos Verona | Lidl-Trek | s.t. |
| 106 | Ben O'Connor | Team Jayco-AlUla | s.t. |
| 107 | Søren Wærenskjold | Uno-X Mobility | s.t. |
| 108 | Anders Halland Johannessen | Uno-X Mobility | s.t. |
| 109 | Lenny Martinez | Bahrain Victorious | s.t. |
| 110 | Phil Bauhaus | Bahrain Victorious | s.t. |
| 111 | John Degenkolb | Team Picnic PostNL | s.t. |
| 112 | Lars Craps | Lotto-Intermarché | s.t. |
| 113 | Lennert Van Eetvelt | Lotto-Intermarché | s.t. |
| 114 | Luke Durbridge | Team Jayco-AlUla | s.t. |
| 115 | Marco Frigo | NSN Cycling Team | s.t. |
| 116 | Tim Marsman | Alpecin-Premier Tech | s.t. |
| 117 | Benjamin Thomas | Cofidis | s.t. |
| 118 | Michael Valgren | EF Education-EasyPost | s.t. |
| 119 | Bruno Armirail | Team Visma | Lease a Bike | s.t. |
| 120 | Mathis Le Berre | Team TotalEnergies | s.t. |
| 121 | Luke Plapp | Team Jayco-AlUla | s.t. |
| 122 | Alex Baudin | EF Education-EasyPost | s.t. |
| 123 | Abel Balderstone | Caja Rural-Seguros RGA | s.t. |
| 124 | Egan Bernal | Netcompany INEOS Cycling Team | s.t. |
| 125 | Jonas Abrahamsen | Uno-X Mobility | s.t. |
| 126 | Anders Skaarseth | Uno-X Mobility | s.t. |
| 127 | Max Walker | EF Education-EasyPost | s.t. |
| 128 | Alex Aranburu | Cofidis | s.t. |
| 129 | Ben Healy | EF Education-EasyPost | s.t. |
| 130 | Einer Rubio | Movistar Team | s.t. |
| 131 | Sergio Higuita | XDS Astana Team | s.t. |
| 132 | Michal Kwiatkowski | Netcompany INEOS Cycling Team | s.t. |
| 133 | Georg Zimmermann | Lotto-Intermarché | s.t. |
| 134 | Thymen Arensman | Netcompany INEOS Cycling Team | s.t. |
| 135 | Tobias Foss | Netcompany INEOS Cycling Team | s.t. |
| 136 | Joshua Tarling | Netcompany INEOS Cycling Team | s.t. |
| 137 | Marc Hirschi | Tudor Pro Cycling Team | s.t. |
| 138 | Victor Campenaerts | Team Visma | Lease a Bike | s.t. |
| 139 | Nicolas Vinokurov | XDS Astana Team | s.t. |
| 140 | Nicolas Breuillard | Team TotalEnergies | s.t. |
| 141 | Jefferson Cepeda | Movistar Team | s.t. |
| 142 | Ion Izagirre | Cofidis | s.t. |
| 143 | Frank van den Broek | Team Picnic PostNL | s.t. |
| 144 | Vlad Van Mechelen | Bahrain Victorious | s.t. |
| 145 | Harold Tejada | XDS Astana Team | @ 3min 26sec |
| 146 | Michael Storer | Tudor Pro Cycling Team | s.t. |
| 147 | Sebastian Berwick | Caja Rural-Seguros RGA | s.t. |
| 148 | Dorian Godon | Netcompany INEOS Cycling Team | @ 0sec |
| 149 | Kévin Vauquelin | Netcompany INEOS Cycling Team | @ 0sec |
| 150 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 3:53 |
| 151 | Fernando Gaviria | Caja Rural-Seguros RGA | @ 0sec |
| 152 | Stefano Oldani | Caja Rural-Seguros RGA | @ 0sec |
| 153 | Robbe Dhondt | Team Picnic PostNL | 4:16 |
| 154 | Dylan van Baarle | Soudal Quick-Step | 4:59 |
| 155 | Jenno Berckmoes | Lotto-Intermarché | @ 0sec |
| 156 | Liam Slock | Lotto-Intermarché | @ 0sec |
| 157 | Valentin Paret-Peintre | Soudal Quick-Step | 5:37 |
| 158 | Nico Denz | Red Bull-BORA-hansgrohe | s.t. |
| 159 | Frits Biesterbos | Team Picnic PostNL | s.t. |
| 160 | Filippo Ganna | Netcompany INEOS Cycling Team | 7:18 |
| 161 | Baptiste Veistroffer | Lotto-Intermarché | 7:46 |
| 162 | Tim Wellens | UAE Team Emirates-XRG | s.t. |
| 163 | Niklas Märkl | Team Picnic PostNL | s.t. |
| 164 | Joel Nicolau | Caja Rural-Seguros RGA | s.t. |
| 165 | Julian Alaphilippe | Tudor Pro Cycling Team | s.t. |
| 166 | Georg Steinhauser | EF Education-EasyPost | s.t. |
| 167 | Matteo Jorgenson | Team Visma | Lease a Bike | s.t. |
| 168 | Emiel Verstrynge | Alpecin-Premier Tech | s.t. |
| 169 | Krists Neilands | NSN Cycling Team | s.t. |
| 170 | Silvan Dillier | Alpecin-Premier Tech | s.t. |
| 171 | Jakub Otruba | Caja Rural-Seguros RGA | s.t. |
| 172 | Pascal Eenkhoorn | Soudal Quick-Step | s.t. |
| 173 | Ewen Costiou | Groupama-FDJ United | s.t. |
| 174 | George Bennett | NSN Cycling Team | s.t. |
GC after stage 12:
1,926.5 kilometers raced so far at an average speed of 44.733 km/hr
| 1 | Tadej Pogacar | UAE Team Emirates-XRG | 43hr 4min 1sec |
| 2 | Jonas Vingegaard | Team Visma | Lease a Bike | @ 3min 36sec |
| 3 | Remco Evenepoel | Red Bull-BORA-hansgrohe | 4:06 |
| 4 | Juan Ayuso | Lidl-Trek | 4:22 |
| 5 | Paul Seixas | Decathlon CMA CGM Team | 4:35 |
| 6 | Florian Lipowitz | Red Bull-BORA-hansgrohe | 4:44 |
| 7 | Isaac del Toro | UAE Team Emirates-XRG | 5:08 |
| 8 | Mattias Skjelmose | Lidl-Trek | 5:45 |
| 9 | Lenny Martinez | Bahrain Victorious | 6:34 |
| 10 | Tom Pidcock | Pinarello-Q36.5 Pro Cycling Team | 11:49 |
| 11 | Egan Bernal | Netcompany INEOS Cycling Team | 12:15 |
| 12 | Ilan Van Wilder | Soudal Quick-Step | 12:43 |
| 13 | Davide Piganzoli | Team Visma | Lease a Bike | 13:38 |
| 14 | Tobias Halland Johannessen | Uno-X Mobility | 14:50 |
| 15 | Sean Quinn | EF Education-EasyPost | 15:08 |
| 16 | Yannis Voisard | Tudor Pro Cycling Team | 15:36 |
| 17 | Ramses Debruyne | Alpecin-Premier Tech | 16:13 |
| 18 | Richard Carapaz | EF Education-EasyPost | 17:43 |
| 19 | Jordan Jegat | Team TotalEnergies | 17:56 |
| 20 | Adam Yates | UAE Team Emirates-XRG | 18:26 |
| 21 | Pablo Castrillo | Movistar Team | 20:32 |
| 22 | Sepp Kuss | Team Visma | Lease a Bike | 20:52 |
| 23 | Brandon McNulty | UAE Team Emirates-XRG | 26:01 |
| 24 | Tiesj Benoot | Decathlon CMA CGM Team | 33:17 |
| 25 | Lennert Van Eetvelt | Lotto-Intermarché | 38:46 |
| 26 | Nicolas Prodhomme | Decathlon CMA CGM Team | 42:28 |
| 27 | Carlos Verona | Lidl-Trek | 46:53 |
| 28 | Thymen Arensman | Netcompany INEOS Cycling Team | 50:08 |
| 29 | Jai Hindley | Red Bull-BORA-hansgrohe | 52:24 |
| 30 | Mathias Vacek | Lidl-Trek | 53:19 |
| 31 | Harold Tejada | XDS Astana Team | 54:15 |
| 32 | Matteo Jorgenson | Team Visma | Lease a Bike | 55:48 |
| 33 | Quinten Hermans | Pinarello-Q36.5 Pro Cycling Team | 1:01:49 |
| 34 | Alex Baudin | EF Education-EasyPost | 1:05:46 |
| 35 | Felix Grossschartner | UAE Team Emirates-XRG | 1:06:02 |
| 36 | Kévin Vauquelin | Netcompany INEOS Cycling Team | 1:06:16 |
| 37 | Quinn Simmons | Lidl-Trek | 1:09:11 |
| 38 | Derek Gee-West | Lidl-Trek | 1:09:27 |
| 39 | Einer Rubio | Movistar Team | 1:11:44 |
| 40 | Sergio Higuita | XDS Astana Team | 1:12:03 |
| 41 | José Félix Parra | Caja Rural-Seguros RGA | 1:13:08 |
| 42 | Antonio Tiberi | Bahrain Victorious | 1:13:32 |
| 43 | Guillaume Martin-Guyonnet | Groupama-FDJ United | 1:17:31 |
| 44 | Ion Izagirre | Cofidis | 1:17:42 |
| 45 | Raúl García | Movistar Team | 1:19:53 |
| 46 | Marc Hirschi | Tudor Pro Cycling Team | 1:21:29 |
| 47 | Valentin Paret-Peintre | Soudal Quick-Step | 1:24:32 |
| 48 | Nicolas Breuillard | Team TotalEnergies | 1:24:49 |
| 49 | Tobias Foss | Netcompany INEOS Cycling Team | 1:28:38 |
| 50 | Anders Skaarseth | Uno-X Mobility | 1:30:55 |
| 51 | Ben O'Connor | Team Jayco-AlUla | 1:32:05 |
| 52 | Joris Delbove | Team TotalEnergies | 1:32:59 |
| 53 | Clément Braz Afonso | Groupama-FDJ United | 1:33:53 |
| 54 | Maxim Van Gils | Red Bull-BORA-hansgrohe | 1:33:56 |
| 55 | Abel Balderstone | Caja Rural-Seguros RGA | 1:35:58 |
| 56 | Javier Romo | Movistar Team | 1:37:45 |
| 57 | Tim Wellens | UAE Team Emirates-XRG | 1:39:11 |
| 58 | Aurélien Paret-Peintre | Decathlon CMA CGM Team | 1:39:31 |
| 59 | Matthew Riccitello | Decathlon CMA CGM Team | 1:39:38 |
| 60 | Romain Grégoire | Groupama-FDJ United | 1:39:40 |
| 61 | Mattia Cattaneo | Red Bull-BORA-hansgrohe | 1:40:29 |
| 62 | Lars Craps | Lotto-Intermarché | 1:41:54 |
| 63 | Damiano Caruso | Bahrain Victorious | 1:44:04 |
| 64 | Xandro Meurisse | Pinarello-Q36.5 Pro Cycling Team | 1:45:48 |
| 65 | Mathieu van der Poel | Alpecin-Premier Tech | 1:46:07 |
| 66 | Alexandre Delettre | Team TotalEnergies | 1:48:38 |
| 67 | Mads Pedersen | Lidl-Trek | 1:51:22 |
| 68 | Jasper Stuyven | Soudal Quick-Step | 1:51:26 |
| 69 | Michael Matthews | Team Jayco-AlUla | 1:52:17 |
| 70 | Lorenzo Germani | Groupama-FDJ United | 1:52:55 |
| 71 | Michael Valgren | EF Education-EasyPost | 1:54:20 |
| 72 | Toms Skujins | Lidl-Trek | 1:55:19 |
| 73 | Mathis Le Berre | Team TotalEnergies | 1:55:19 |
| 74 | Louis Vervaeke | Soudal Quick-Step | 1:55:43 |
| 75 | Quentin Pacher | Groupama-FDJ United | 1:56:07 |
| 76 | Ewen Costiou | Groupama-FDJ United | 1:56:08 |
| 77 | Mattéo Vercher | Team TotalEnergies | 1:56:31 |
| 78 | Jefferson Cepeda | Movistar Team | 1:56:37 |
| 79 | Alex Aranburu | Cofidis | 1:57:13 |
| 80 | Georg Zimmermann | Lotto-Intermarché | 1:58:29 |
| 81 | Mauro Schmid | Team Jayco-AlUla | 2:01:15 |
| 82 | Nelson Oliveira | Movistar Team | 2:02:37 |
| 83 | Nils Politt | UAE Team Emirates-XRG | 2:03:10 |
| 84 | Vlad Van Mechelen | Bahrain Victorious | 2:03:25 |
| 85 | Rick Pluimers | Tudor Pro Cycling Team | 2:03:33 |
| 86 | Frank van den Broek | Team Picnic PostNL | 2:03:47 |
| 87 | Kasper Asgreen | EF Education-EasyPost | 2:04:12 |
| 88 | Victor Campenaerts | Team Visma | Lease a Bike | 2:05:08 |
| 89 | Clément Russo | Groupama-FDJ United | 2:05:14 |
| 90 | Ben Healy | EF Education-EasyPost | 2:05:54 |
| 91 | George Bennett | NSN Cycling Team | 2:06:11 |
| 92 | Anders Halland Johannessen | Uno-X Mobility | 2:06:13 |
| 93 | Luke Plapp | Team Jayco-AlUla | 2:07:08 |
| 94 | Anthon Charmig | Uno-X Mobility | 2:07:40 |
| 95 | Damien Howson | Pinarello-Q36.5 Pro Cycling Team | 2:08:45 |
| 96 | Bruno Armirail | Team Visma | Lease a Bike | 2:11:53 |
| 97 | Jan Tratnik | Red Bull-BORA-hansgrohe | 2:12:36 |
| 98 | Jonas Abrahamsen | Uno-X Mobility | 2:12:52 |
| 99 | Brent Van Moer | Pinarello-Q36.5 Pro Cycling Team | 2:12:59 |
| 100 | Nico Denz | Red Bull-BORA-hansgrohe | 2:13:59 |
| 101 | Jenno Berckmoes | Lotto-Intermarché | 2:15:11 |
| 102 | Robert Stannard | Bahrain Victorious | 2:15:29 |
| 103 | Max Walker | EF Education-EasyPost | 2:15:59 |
| 104 | Felix Engelhardt | Team Jayco-AlUla | 2:17:58 |
| 105 | Matej Mohoric | Bahrain Victorious | 2:18:36 |
| 106 | Alex Kirsch | Cofidis | 2:19:02 |
| 107 | Sebastian Berwick | Caja Rural-Seguros RGA | 2:19:08 |
| 108 | Warren Barguil | Team Picnic PostNL | 2:19:55 |
| 109 | Magnus Cort | Uno-X Mobility | 2:21:39 |
| 110 | Michel Hessmann | Movistar Team | 2:22:23 |
| 111 | Thibault Guernalec | Team TotalEnergies | 2:22:35 |
| 112 | Marco Frigo | NSN Cycling Team | 2:23:05 |
| 113 | Luke Durbridge | Team Jayco-AlUla | 2:23:17 |
| 114 | Michael Storer | Tudor Pro Cycling Team | 2:23:27 |
| 115 | Mike Teunissen | XDS Astana Team | 2:23:47 |
| 116 | Anthony Turgis | Team TotalEnergies | 2:25:09 |
| 117 | Benjamin Thomas | Cofidis | 2:25:45 |
| 118 | Per Strand Hagenes | Team Visma | Lease a Bike | 2:26:22 |
| 119 | Edward Planckaert | Alpecin-Premier Tech | 2:26:23 |
| 120 | Aaron Gate | XDS Astana Team | 2:26:49 |
| 121 | Xabier Azparren | Pinarello-Q36.5 Pro Cycling Team | 2:27:45 |
| 122 | Florian Vermeersch | UAE Team Emirates-XRG | 2:28:38 |
| 123 | Michal Kwiatkowski | Netcompany INEOS Cycling Team | 2:28:45 |
| 124 | Jonas Rickaert | Alpecin-Premier Tech | 2:29:20 |
| 125 | Simone Velasco | XDS Astana Team | 2:29:38 |
| 126 | Dorian Godon | Netcompany INEOS Cycling Team | 2:29:39 |
| 127 | Emiel Verstrynge | Alpecin-Premier Tech | 2:31:39 |
| 128 | Hugo Page | Cofidis | 2:32:46 |
| 129 | Filippo Ganna | Netcompany INEOS Cycling Team | 2:33:53 |
| 130 | Fred Wright | Pinarello-Q36.5 Pro Cycling Team | 2:34:30 |
| 131 | Nicolas Vinokurov | XDS Astana Team | 2:35:06 |
| 132 | Søren Wærenskjold | Uno-X Mobility | 2:35:46 |
| 133 | Huub Artz | Lotto-Intermarché | 2:36:10 |
| 134 | Joel Nicolau | Caja Rural-Seguros RGA | 2:36:21 |
| 135 | Jakub Otruba | Caja Rural-Seguros RGA | 2:36:29 |
| 136 | Stefano Oldani | Caja Rural-Seguros RGA | 2:37:27 |
| 137 | Daan Hoole | Decathlon CMA CGM Team | 2:37:36 |
| 138 | Frits Biesterbos | Team Picnic PostNL | 2:38:58 |
| 139 | Georg Steinhauser | EF Education-EasyPost | 2:39:30 |
| 140 | Max Kanter | XDS Astana Team | 2:39:42 |
| 141 | Krists Neilands | NSN Cycling Team | 2:40:00 |
| 142 | Biniam Girmay | NSN Cycling Team | 2:40:08 |
| 143 | Dylan van Baarle | Soudal Quick-Step | 2:41:07 |
| 144 | Tim van Dijke | Red Bull-BORA-hansgrohe | 2:41:16 |
| 145 | Tom Van Asbroeck | NSN Cycling Team | 2:42:43 |
| 146 | Edoardo Affini | Team Visma | Lease a Bike | 2:44:26 |
| 147 | Julian Alaphilippe | Tudor Pro Cycling Team | 2:44:28 |
| 148 | Jasper Philipsen | Alpecin-Premier Tech | 2:45:24 |
| 149 | Joshua Tarling | Netcompany INEOS Cycling Team | 2:46:41 |
| 150 | Jenthe Biermans | Cofidis | 2:47:32 |
| 151 | Liam Slock | Lotto-Intermarché | 2:47:46 |
| 152 | Pascal Eenkhoorn | Soudal Quick-Step | 2:49:04 |
| 153 | Tim Marsman | Alpecin-Premier Tech | 2:49:09 |
| 154 | Pavel Bittner | Team Picnic PostNL | 2:50:26 |
| 155 | Robbe Dhondt | Team Picnic PostNL | 2:51:08 |
| 156 | Silvan Dillier | Alpecin-Premier Tech | 2:52:23 |
| 157 | Niklas Märkl | Team Picnic PostNL | 2:52:50 |
| 158 | Pascal Ackermann | Team Jayco-AlUla | 2:53:08 |
| 159 | Baptiste Veistroffer | Lotto-Intermarché | 2:53:16 |
| 160 | Milan Fretin | Cofidis | 2:53:21 |
| 161 | Julius van den Berg | Team Picnic PostNL | 2:53:59 |
| 162 | Jake Stewart | NSN Cycling Team | 2:54:31 |
| 163 | John Degenkolb | Team Picnic PostNL | 2:54:43 |
| 164 | Marco Haller | Tudor Pro Cycling Team | 2:55:30 |
| 165 | Fernando Gaviria | Caja Rural-Seguros RGA | 2:57:21 |
| 166 | Tim Merlier | Soudal Quick-Step | 2:57:41 |
| 167 | Phil Bauhaus | Bahrain Victorious | 2:58:16 |
| 168 | Olav Kooij | Decathlon CMA CGM Team | 2:58:27 |
| 169 | Lewis Askey | NSN Cycling Team | 2:58:32 |
| 170 | Davide Ballerini | XDS Astana Team | 2:58:35 |
| 171 | Cees Bol | Decathlon CMA CGM Team | 2:59:16 |
| 172 | Piet Allegaert | Cofidis | 2:59:46 |
| 173 | Kamil Gradek | Bahrain Victorious | 3:01:12 |
| 174 | Matis Louvel | NSN Cycling Team | 3:05:47 |
Stage 12 map & profile:

Stage 12 map

Stage 12 profile
Stage 12 photos by Fotoreporter Sirotti:

Biniam Girmay heads to the start.

Time to go race bicycles.

Stage 12 gets started.

Here they come...

Tim Merlier wins stage twelve.

Tadej Pogacar finished 50th in the front group.

Crash victims Jenno Berckmoes (broken collarbone) & Liam Slock

Filippo Ganna finishes 160th, @ 7min 18sec

Jean-Etienne Amaury at the finish. He is the president of ASO, the Amaury Sport Organization that owns the Tour de France.

Stage winner Tim Merlier. Looks like a little sprinter at the bottom of the picture.

Tadej Pogacar will start stage 13 in yellow.