2025 WTCS Hamburg
July 11, 2025 · Hamburg, Germany
Race story in the data
Men: Matthew Hauser won in 50:07 with a +0:07 margin. Matthew Hauser had the fastest run (13:50).
Women: Leonie Periault won in 56:25 with a +0:04 margin. Leonie Periault had the fastest run (15:28).
Men race summary
49 finishers from 55 starters
Women race summary
52 finishers from 55 starters
Men split podiums
Fastest stored segment times. These are segment rankings, not cumulative race-position order.
Swim
- 1Alessio CrocianiFinish 38:32
- 2Matthew HauserFinish 18:35
- 3Miguel HidalgoFinish 48:37
T1
Split unavailable.
Bike
- 1Tjebbe KaindlFinish 1726:35
- 2Mark DevayFinish 1426:42
- 3Henry GrafFinish 526:44
T2
Split unavailable.
Run
- 1Matthew HauserFinish 113:50
- 2Vasco VilacaFinish 213:57
- 3Manoel Messias Dos SantosFinish 2314:04
Women split podiums
Fastest stored segment times. These are segment rankings, not cumulative race-position order.
Swim
- 1Bianca SeregniFinish 269:14
- 2Lisa TertschFinish 99:15
- 3Cassandre BeaugrandFinish 29:28
T1
Split unavailable.
Bike
- 1Cathia SchärFinish 2829:40
- 2Alissa KonigFinish 1829:53
- 3Verena SteinhauserFinish 3829:53
T2
Split unavailable.
Run
- 1Leonie PeriaultFinish 115:28
- 2Beth PotterFinish 315:35
- 3Cassandre BeaugrandFinish 215:37
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
55 participants
| Pos | Athlete | Time | Gap | Swim | T1 | Bike | T2 | Run | Points |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Matthew HauserAU | 50:07 | Winner | 8:35 | — | 26:51 | — | 13:50 | — |
| 2 | Vasco VilacaPT | 50:14 | — | 8:39 | — | 26:47 | — | 13:57 | — |
| 3 | Alessio CrocianiIT | 50:36 | — | 8:32 | — | 26:50 | — | 14:18 | — |
| 4 | Miguel HidalgoBR | 50:37 | — | 8:37 | — | 26:47 | — | 14:20 | — |
| 5 | Henry GrafDE | 50:47 | — | 8:45 | — | 26:44 | — | 14:27 | — |
| 6 | Csongor LehmannHU | 50:53 | — | 8:43 | — | 26:45 | — | 14:36 | — |
| 7 | Max StapleyGB | 50:56 | — | 8:38 | — | 26:47 | — | 14:39 | — |
| 8 | David Cantero Del CampoES | 51:09 | — | 9:07 | — | 26:51 | — | 14:21 | — |
| 9 | Ricardo BatistaPT | 51:11 | — | 8:56 | — | 27:04 | — | 14:20 | — |
| 10 | Adrien BriffodCH | 51:13 | — | 9:02 | — | 27:00 | — | 14:24 | — |
| 11 | Dorian ConinxFR | 51:19 | — | 8:46 | — | 27:10 | — | 14:29 | — |
| 12 | Connor BentleyGB | 51:21 | — | 8:56 | — | 27:01 | — | 14:34 | — |
| 13 | Diego MoyaCL | 51:24 | — | 8:51 | — | 27:07 | — | 14:33 | — |
| 14 | Mark DevayHU | 51:28 | — | 8:43 | — | 26:42 | — | 15:11 | — |
| 15 | John ReedUS | 51:29 | — | 9:00 | — | 26:56 | — | 14:38 | — |
| 16 | Charles PaquetCA | 51:30 | — | 8:58 | — | 26:59 | — | 14:41 | — |
| 17 | Tjebbe KaindlAT | 51:34 | — | 8:56 | — | 26:35 | — | 15:16 | — |
| 18 | Yanis SeguinFR | 51:36 | — | 9:06 | — | 26:51 | — | 14:47 | — |
| 19 | Chase McqueenUS | 51:41 | — | 8:38 | — | 26:48 | — | 15:20 | — |
| 20 | Luke WillianAU | 51:43 | — | 8:58 | — | 26:57 | — | 14:52 | — |
| 21 | Tyler MislawchukCA | 51:45 | — | 8:48 | — | 27:10 | — | 14:52 | — |
| 22 | Darr SmithUS | 51:46 | — | 8:43 | — | 26:46 | — | 15:25 | — |
| 23 | Manoel Messias Dos SantosBR | 51:48 | — | 9:08 | — | 27:37 | — | 14:04 | — |
| 24 | Lasse Nygaard-PriesterDE | 51:50 | — | 9:09 | — | 27:37 | — | 14:14 | — |
| 25 | Tayler ReidNZ | 51:53 | — | 8:49 | — | 27:07 | — | 15:05 | — |
| 26 | Simon WestermannCH | 51:54 | — | 9:06 | — | 26:52 | — | 15:07 | — |
| 27 | Sebastian WernersenNO | 51:56 | — | 9:07 | — | 26:48 | — | 15:11 | — |
| 28 | Eric DienerDE | 51:57 | — | 9:02 | — | 26:58 | — | 15:03 | — |
| 29 | Kenji NenerJP | 51:58 | — | 8:52 | — | 27:06 | — | 15:09 | — |
| 30 | Ben DijkstraGB | 52:03 | — | 8:50 | — | 27:03 | — | 15:17 | — |
| 31 | Roberto Sanchez ManteconES | 52:09 | — | 9:12 | — | 27:34 | — | 14:34 | — |
| 32 | Alberto Gonzalez GarciaES | 52:15 | — | 8:53 | — | 27:08 | — | 15:24 | — |
| 33 | Hugo MilnerGB | 52:20 | — | 9:02 | — | 27:40 | — | 14:41 | — |
| 34 | Saxon MorganNZ | 52:31 | — | 8:53 | — | 27:04 | — | 15:39 | — |
| 35 | Brandon CopelandAU | 52:38 | — | 9:07 | — | 27:34 | — | 15:01 | — |
| 36 | Euan De NigroIT | 52:43 | — | 9:09 | — | 27:31 | — | 15:07 | — |
| 37 | Miguel Tiago SilvaPT | 52:50 | — | 8:41 | — | 27:17 | — | 15:51 | — |
| 38 | Jawad AbdelmoulaMA | 52:51 | — | 9:12 | — | 27:32 | — | 15:07 | — |
| 39 | Ren SatoJP | 52:56 | — | 9:07 | — | 27:37 | — | 15:19 | — |
| 40 | Valentin WernzDE | 53:01 | — | 9:00 | — | 27:47 | — | 15:21 | — |
| 41 | Brayden MercerAU | 53:27 | — | 8:45 | — | 28:04 | — | 15:44 | — |
| 42 | Callum MccluskyAU | 53:28 | — | 9:03 | — | 27:46 | — | 15:48 | — |
| 43 | Filip MichalekCZ | 53:45 | — | 9:06 | — | 27:40 | — | 16:02 | — |
| 44 | Lasse LührsDE | 54:00 | — | 9:08 | — | 27:36 | — | 16:23 | — |
| 45 | Sullivan MiddaughUS | 54:27 | — | 9:50 | — | 28:12 | — | 15:33 | — |
| 46 | Harry LeleuGB | 54:34 | — | 9:10 | — | 29:02 | — | 15:29 | — |
| 47 | Gergely KissHU | 54:38 | — | 9:01 | — | 29:14 | — | 15:31 | — |
| 48 | Takumi HojoJP | 54:57 | — | 9:10 | — | 29:03 | — | 15:44 | — |
| 49 | James ElgarGB | 55:19 | — | 9:11 | — | 29:03 | — | 16:09 | — |
| DNF | Tom RichardFR | DNF | — | 8:40 | — | — | — | — | — |
| DNF | Antonio Serrat SeoaneES | DNF | — | 9:11 | — | — | — | — | — |
| DNF | Reese VannersonUS | DNF | — | 9:08 | — | — | — | — | — |
| DNF | Aoba YasumatsuJP | DNF | — | 9:06 | — | — | — | — | — |
| DNF | James CorbettNZ | DNF | — | 9:05 | — | — | — | — | — |
| DNF | David CastroES | DNF | — | 9:01 | — | — | — | — | — |
Female Pro Results
55 participants
| Pos | Athlete | Time | Gap | Swim | T1 | Bike | T2 | Run | Points |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Leonie PeriaultFR | 56:25 | Winner | 9:38 | — | 30:25 | — | 15:28 | — |
| 2 | Cassandre BeaugrandFR | 56:29 | — | 9:28 | — | 30:27 | — | 15:37 | — |
| 3 | Beth PotterGB | 56:32 | — | 9:35 | — | 30:26 | — | 15:35 | — |
| 4 | Jolien VermeylenBE | 56:44 | — | 9:31 | — | 30:35 | — | 15:44 | — |
| 5 | Tilda ManssonSE | 56:47 | — | 9:46 | — | 30:14 | — | 15:45 | — |
| 6 | Kate WaughGB | 56:48 | — | 9:54 | — | 30:03 | — | 15:57 | — |
| 7 | Jeanne LehairFR | 56:52 | — | 9:29 | — | 30:35 | — | 15:53 | — |
| 8 | Emma LombardiFR | 56:54 | — | 9:55 | — | 29:59 | — | 16:04 | — |
| 9 | Lisa TertschDE | 56:58 | — | 9:15 | — | 30:43 | — | 16:08 | — |
| 10 | Taylor SpiveyUS | 56:59 | — | 9:48 | — | 30:09 | — | 16:03 | — |
| 11 | Tanja NeubertDE | 57:00 | — | 10:03 | — | 29:54 | — | 16:06 | — |
| 12 | Nina EimDE | 57:01 | — | 9:51 | — | 30:05 | — | 16:09 | — |
| 13 | Tereza ZimovjanovaCZ | 57:02 | — | 10:05 | — | 29:57 | — | 16:00 | — |
| 14 | Georgia Taylor-BrownGB | 57:03 | — | 9:56 | — | 30:00 | — | 16:04 | — |
| 15 | Julia BroeckerDE | 57:11 | — | 9:50 | — | 30:10 | — | 16:16 | — |
| 16 | Sian RainsleyGB | 57:14 | — | 9:47 | — | 30:15 | — | 16:15 | — |
| 17 | Anna Godoy ContrerasES | 57:16 | — | 9:32 | — | 30:28 | — | 16:19 | — |
| 18 | Alissa KonigCH | 57:17 | — | 10:07 | — | 29:53 | — | 16:25 | — |
| 19 | Erika AckerlundUS | 57:18 | — | 9:51 | — | 30:09 | — | 16:22 | — |
| 20 | Gina SerenoUS | 57:21 | — | 9:45 | — | 30:19 | — | 16:16 | — |
| 21 | Djenyfer ArnoldBR | 57:23 | — | 9:43 | — | 30:17 | — | 16:22 | — |
| 22 | Rosa Maria Tapia VidalMX | 57:24 | — | 9:37 | — | 30:22 | — | 16:28 | — |
| 23 | Franka RustDE | 57:25 | — | 9:55 | — | 30:08 | — | 16:26 | — |
| 24 | Maria ToméPT | 57:28 | — | 9:43 | — | 30:19 | — | 16:26 | — |
| 25 | Zuzana MichalickovaSK | 57:29 | — | 9:55 | — | 30:04 | — | 16:36 | — |
| 26 | Bianca SeregniIT | 57:31 | — | 9:14 | — | 30:52 | — | 16:28 | — |
| 27 | Sophie LinnAU | 57:32 | — | 9:53 | — | 30:08 | — | 16:36 | — |
| 28 | Cathia SchärCH | 57:33 | — | 10:24 | — | 29:40 | — | 16:34 | — |
| 29 | Annika KochDE | 57:37 | — | 9:45 | — | 30:10 | — | 16:46 | — |
| 30 | Miriam Casillas GarciaES | 57:39 | — | 9:55 | — | 30:02 | — | 16:47 | — |
| 31 | Emy LegaultCA | 57:41 | — | 9:46 | — | 30:20 | — | 16:39 | — |
| 32 | Desirae RidenourCA | 57:46 | — | 9:46 | — | 30:14 | — | 16:52 | — |
| 33 | Sara Guerrero MansoES | 57:48 | — | 9:54 | — | 30:11 | — | 16:47 | — |
| 34 | Alice BettoIT | 57:51 | — | 9:45 | — | 30:17 | — | 16:49 | — |
| 35 | Olivia MathiasGB | 57:52 | — | 9:46 | — | 30:10 | — | 16:58 | — |
| 36 | Melanie SantosPT | 57:52 | — | 9:54 | — | 30:06 | — | 16:55 | — |
| 37 | Eva GoodissonNZ | 57:53 | — | 9:43 | — | 30:12 | — | 16:59 | — |
| 38 | Verena SteinhauserIT | 58:00 | — | 10:06 | — | 29:53 | — | 16:57 | — |
| 39 | Sophia HowellCA | 58:01 | — | 9:52 | — | 30:05 | — | 17:06 | — |
| 40 | Rebecca BetiCH | 58:21 | — | 10:05 | — | 29:59 | — | 17:20 | — |
| 41 | Therese FeuersingerAT | 58:46 | — | 9:35 | — | 30:26 | — | 17:41 | — |
| 42 | Ilona HadhoumFR | 58:47 | — | 9:48 | — | 30:09 | — | 17:52 | — |
| 43 | Brea RoderickNZ | 58:49 | — | 9:42 | — | 30:21 | — | 17:50 | — |
| 44 | Gwen JorgensenUS | 58:52 | — | 9:47 | — | 31:40 | — | 16:23 | — |
| 45 | Emma JeffcoatAU | 58:58 | — | 9:50 | — | 30:09 | — | 18:03 | — |
| 46 | Yuko TakahashiJP | 59:37 | — | 9:53 | — | 31:36 | — | 17:09 | — |
| 47 | Kira HedgelandAU | 59:40 | — | 10:10 | — | 31:21 | — | 17:15 | — |
| 48 | Nele DequaeBE | 59:51 | — | 10:03 | — | 29:57 | — | 18:54 | — |
| 49 | Manami HayashiJP | 59:54 | — | 9:50 | — | 31:34 | — | 17:28 | — |
| 50 | Selina KlamtDE | 1:00:01 | — | 10:07 | — | 31:25 | — | 17:34 | — |
| 51 | Ainsley ThorpeNZ | 1:00:35 | — | 9:59 | — | 31:29 | — | 18:10 | — |
| 52 | Charlotte DerbyshireAU | 1:01:17 | — | 10:10 | — | 31:20 | — | 18:48 | — |
| DNF | Kanae TakenakaJP | DNF | — | 9:47 | — | — | — | — | — |
| DNF | Maria Carolina Velasquez SotoCO | DNF | — | 9:48 | — | — | — | — | — |
| DNF | Roksana SlupekPL | DNF | — | 9:52 | — | — | — | — | — |