2025 WTCS French Riviera
August 30, 2025 · Frejus, France
Race story in the data
Men: Matt Hauser won in 50:53 with a +0:04 margin. Matt Hauser had the fastest run (13:36).
Women: Cassandre Beaugrand won in 56:43 with a +0:06 margin. Cassandre Beaugrand had the fastest run (15:19).
Men race summary
51 finishers from 54 starters
Women race summary
37 finishers from 40 starters
Men split podiums
Fastest stored segment times. These are segment rankings, not cumulative race-position order.
Swim
- 1Matt HauserFinish 19:05
- 2Mark DevayFinish 229:05
- 3Miguel HidalgoFinish 39:08
T1
Split unavailable.
Bike
- 1Henry GrafFinish 826:29
- 2Gjalt PanjerFinish 1526:34
- 3Tom RichardFinish 526:35
T2
Split unavailable.
Run
- 1Matt HauserFinish 113:36
- 2Alex YeeFinish 913:39
- 3Vasco VilacaFinish 213:40
Women split podiums
Fastest stored segment times. These are segment rankings, not cumulative race-position order.
Swim
- 1Summer RappaportFinish 3010:06
- 2Cassandre BeaugrandFinish 110:08
- 3Maya KingmaFinish 2410:09
T1
Split unavailable.
Bike
- 1Cathia SchärFinish 1729:09
- 2Julia BroeckerFinish 2629:14
- 3Franka RustFinish 2029:15
T2
Split unavailable.
Run
- 1Cassandre BeaugrandFinish 115:19
- 2Jeanne LehairFinish 215:24
- 3Leonie PeriaultFinish 315:29
PodiumMen
PodiumWomen
Men · Split Rank Flow
Top finishers by stored split rank. Lower lines are worse ranks; this is not cumulative race position at each checkpoint.
Women · Split Rank Flow
Top finishers by stored split rank. Lower lines are worse ranks; this is not cumulative race position at each checkpoint.
Male Pro Results
54 participants
| Pos | Athlete | Time | Gap | Swim | T1 | Bike | T2 | Run | Points |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Matt HauserAU | 50:53 | Winner | 9:05 | — | 26:42 | — | 13:36 | — |
| 2 | Vasco VilacaPT | 50:57 | — | 9:16 | — | 26:36 | — | 13:40 | — |
| 3 | Miguel HidalgoBR | 51:20 | — | 9:08 | — | 26:36 | — | 14:04 | — |
| 4 | Dorian ConinxFR | 51:27 | — | 9:12 | — | 26:36 | — | 14:13 | — |
| 5 | Tom RichardFR | 51:32 | — | 9:13 | — | 26:35 | — | 14:16 | — |
| 6 | Alberto Gonzalez GarciaES | 51:37 | — | 9:11 | — | 26:38 | — | 14:18 | — |
| 7 | Charles PaquetCA | 51:37 | — | 9:11 | — | 26:38 | — | 14:20 | — |
| 8 | Henry GrafDE | 51:43 | — | 9:20 | — | 26:29 | — | 14:24 | — |
| 9 | Alex YeeGB | 51:49 | — | 9:25 | — | 27:16 | — | 13:39 | — |
| 10 | David Cantero Del CampoES | 52:06 | — | 9:30 | — | 27:05 | — | 14:00 | — |
| 11 | Hayden WildeNZ | 52:13 | — | 10:01 | — | 26:45 | — | 13:59 | — |
| 12 | Ricardo BatistaPT | 52:15 | — | 9:30 | — | 27:08 | — | 14:11 | — |
| 13 | Mathis BeaulieuCA | 52:16 | — | 9:29 | — | 27:10 | — | 14:06 | — |
| 14 | Manoel Messias Dos SantosBR | 52:20 | — | 9:42 | — | 27:14 | — | 13:49 | — |
| 15 | Gjalt PanjerNL | 52:22 | — | 9:14 | — | 26:34 | — | 15:09 | — |
| 16 | John ReedUS | 52:28 | — | 9:31 | — | 27:30 | — | 13:58 | — |
| 17 | Connor BentleyGB | 52:31 | — | 9:18 | — | 27:21 | — | 14:25 | — |
| 18 | Callum MccluskyAU | 52:33 | — | 9:31 | — | 27:12 | — | 14:21 | — |
| 19 | Diego MoyaCL | 52:34 | — | 9:11 | — | 27:19 | — | 14:29 | — |
| 20 | Ben DijkstraGB | 52:34 | — | 9:28 | — | 27:10 | — | 14:28 | — |
| 21 | Marton KropkoHU | 52:35 | — | 9:24 | — | 27:14 | — | 14:28 | — |
| 22 | Mark DevayHU | 52:35 | — | 9:05 | — | 26:37 | — | 15:16 | — |
| 23 | Sergio Baxter CabreraES | 52:39 | — | 9:33 | — | 27:04 | — | 14:35 | — |
| 24 | Yanis SeguinFR | 52:40 | — | 9:21 | — | 27:17 | — | 14:34 | — |
| 25 | Kenji NenerJP | 52:43 | — | 9:24 | — | 27:15 | — | 14:33 | — |
| 26 | Morgan PearsonUS | 52:46 | — | 9:28 | — | 27:10 | — | 14:36 | — |
| 27 | Pierre Le CorreFR | 52:50 | — | 9:27 | — | 27:11 | — | 14:39 | — |
| 28 | Aram Michell Penaflor MoysenMX | 52:54 | — | 9:28 | — | 27:10 | — | 14:42 | — |
| 29 | Valentin WernzDE | 52:54 | — | 9:20 | — | 27:17 | — | 14:48 | — |
| 30 | Vetle Bergsvik ThornNO | 52:55 | — | 9:23 | — | 27:14 | — | 14:46 | — |
| 31 | David LangLU | 52:57 | — | 9:38 | — | 27:05 | — | 14:47 | — |
| 32 | Brayden MercerAU | 53:02 | — | 9:13 | — | 27:27 | — | 14:50 | — |
| 33 | Shachar SagivIL | 53:05 | — | 10:04 | — | 26:54 | — | 14:40 | — |
| 34 | Michal OliwaPL | 53:11 | — | 9:27 | — | 27:11 | — | 15:00 | — |
| 35 | Erwin VanderplanckeBE | 53:13 | — | 9:36 | — | 27:22 | — | 14:48 | — |
| 36 | Chase McqueenUS | 53:14 | — | 9:29 | — | 27:07 | — | 15:06 | — |
| 37 | Mitch KolkmanNL | 53:20 | — | 9:18 | — | 27:23 | — | 15:11 | — |
| 38 | Brandon CopelandAU | 53:22 | — | 9:36 | — | 27:03 | — | 15:09 | — |
| 39 | Darr SmithUS | 53:36 | — | 9:36 | — | 27:03 | — | 15:23 | — |
| 40 | Seth RiderUS | 53:43 | — | 9:29 | — | 27:08 | — | 15:31 | — |
| 41 | Gyula KovacsHU | 53:52 | — | 9:26 | — | 27:12 | — | 15:45 | — |
| 42 | Gregor RasvaEE | 54:03 | — | 9:17 | — | 27:54 | — | 15:22 | — |
| 43 | Itamar EshedIL | 54:15 | — | 9:49 | — | 27:03 | — | 15:47 | — |
| 44 | Roberto Sanchez ManteconES | 54:31 | — | 9:51 | — | 27:02 | — | 16:07 | — |
| 45 | Johannes SikkEE | 54:45 | — | 10:01 | — | 26:53 | — | 16:18 | — |
| 46 | James ElgarGB | 54:50 | — | 9:26 | — | 28:38 | — | 15:11 | — |
| 47 | Mateusz GluszkowskiPL | 55:29 | — | 9:29 | — | 27:09 | — | 17:20 | — |
| 48 | Zalan HoborHU | 55:30 | — | 9:28 | — | 27:44 | — | 16:49 | — |
| 49 | Itamar LevanonIL | 56:19 | — | 9:57 | — | 28:33 | — | 16:20 | — |
| 50 | Peter RojtasSK | 56:55 | — | 10:04 | — | 29:41 | — | 15:34 | — |
| 51 | Filip TlamkaCZ | 58:12 | — | 10:03 | — | 29:45 | — | 16:51 | — |
| DNF | Simon WestermannCH | DNF | — | 9:17 | — | — | — | — | — |
| DNF | Jawad AbdelmoulaMA | DNF | — | 9:54 | — | 27:16 | — | — | — |
| DNF | Tyler MislawchukCA | DNF | — | 9:15 | — | — | — | — | — |
Female Pro Results
40 participants
| Pos | Athlete | Time | Gap | Swim | T1 | Bike | T2 | Run | Points |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Cassandre BeaugrandFR | 56:43 | Winner | 10:08 | — | 29:40 | — | 15:19 | — |
| 2 | Jeanne LehairFR | 56:49 | — | 10:10 | — | 29:41 | — | 15:24 | — |
| 3 | Leonie PeriaultFR | 57:00 | — | 10:25 | — | 29:28 | — | 15:29 | — |
| 4 | Emma LombardiFR | 57:03 | — | 10:17 | — | 29:32 | — | 15:39 | — |
| 5 | Beth PotterGB | 57:10 | — | 10:21 | — | 29:31 | — | 15:45 | — |
| 6 | Nina EimDE | 57:11 | — | 10:19 | — | 29:32 | — | 15:44 | — |
| 7 | Taylor SpiveyUS | 57:15 | — | 10:11 | — | 29:38 | — | 15:47 | — |
| 8 | Tanja NeubertDE | 57:21 | — | 10:25 | — | 29:20 | — | 15:54 | — |
| 9 | Tilda ManssonSE | 57:25 | — | 10:28 | — | 29:23 | — | 15:51 | — |
| 10 | Anna Godoy ContrerasES | 57:31 | — | 10:21 | — | 29:33 | — | 15:59 | — |
| 11 | Alissa KonigCH | 57:39 | — | 10:28 | — | 29:23 | — | 16:11 | — |
| 12 | Olivia MathiasGB | 57:43 | — | 10:13 | — | 29:36 | — | 16:20 | — |
| 13 | Lisa TertschDE | 57:44 | — | 10:12 | — | 29:39 | — | 16:20 | — |
| 14 | Annika KochDE | 57:54 | — | 10:19 | — | 29:29 | — | 16:27 | — |
| 15 | Sian RainsleyGB | 57:56 | — | 10:11 | — | 29:39 | — | 16:28 | — |
| 16 | Desirae RidenourCA | 57:56 | — | 10:17 | — | 29:37 | — | 16:28 | — |
| 17 | Cathia SchärCH | 57:57 | — | 10:41 | — | 29:09 | — | 16:32 | — |
| 18 | Erika AckerlundUS | 57:58 | — | 10:25 | — | 29:27 | — | 16:28 | — |
| 19 | Jessica FullagarGB | 58:07 | — | 10:11 | — | 29:37 | — | 16:43 | — |
| 20 | Franka RustDE | 58:11 | — | 10:38 | — | 29:15 | — | 16:42 | — |
| 21 | Marta KropkoHU | 58:19 | — | 10:20 | — | 29:28 | — | 16:51 | — |
| 22 | Heidi JurankovaCZ | 58:21 | — | 10:37 | — | 29:15 | — | 16:35 | — |
| 23 | Sophie LinnAU | 58:33 | — | 10:20 | — | 29:30 | — | 17:02 | — |
| 24 | Maya KingmaNL | 58:57 | — | 10:09 | — | 29:37 | — | 17:24 | — |
| 25 | Sophia HowellCA | 58:58 | — | 10:23 | — | 29:27 | — | 17:26 | — |
| 26 | Julia BroeckerDE | 59:00 | — | 10:39 | — | 29:14 | — | 17:27 | — |
| 27 | Emma JeffcoatAU | 59:12 | — | 10:20 | — | 29:28 | — | 17:44 | — |
| 28 | Erica HawleyBM | 1:00:01 | — | 10:32 | — | 30:43 | — | 17:06 | — |
| 29 | Emy LegaultCA | 1:00:41 | — | 10:34 | — | 30:46 | — | 17:45 | — |
| 30 | Summer RappaportUS | 1:01:30 | — | 10:06 | — | 31:08 | — | 18:31 | — |
| 31 | Hollie ElliottIE | 1:01:40 | — | 10:25 | — | 32:36 | — | 17:00 | — |
| 32 | Margot GarabedianFR | 1:01:53 | — | 10:39 | — | 32:18 | — | 17:15 | — |
| 33 | Barbara RiverosCL | 1:01:57 | — | 10:41 | — | 32:14 | — | 17:14 | — |
| 34 | Borbala SarciaHU | 1:02:05 | — | 10:41 | — | 32:19 | — | 17:26 | — |
| 35 | Shanae WilliamsZA | 1:02:21 | — | 10:23 | — | 32:35 | — | 17:37 | — |
| 36 | Zuzanna SudakPL | 1:02:43 | — | 10:43 | — | 32:13 | — | 18:03 | — |
| 37 | Magdalena SudakPL | 1:03:20 | — | 10:38 | — | 32:22 | — | 18:41 | — |
| DNF | Ivana KuriackovaSV | DNF | — | 10:48 | — | — | — | — | — |
| DNF | Manami IijimaGU | DNF | — | 10:39 | — | — | — | — | — |
| DNF | Rosa Maria Tapia VidalMX | DNF | — | 10:12 | — | — | — | — | — |