2025 WTCS Karlovy Vary
September 13, 2025 · Karlovy Vary, Czech Republic
Race story in the data
Men: Henry Graf won in 1:49:22 with a +0:07 margin. Hayden Wilde had the fastest run (29:48).
Women: Beth Potter won in 2:02:12 with a +0:13 margin. Beth Potter had the fastest run (32:42).
Men race summary
36 finishers from 50 starters
Women race summary
29 finishers from 39 starters
Men split podiums
Fastest stored segment times. These are segment rankings, not cumulative race-position order.
Swim
- 1Mark DevayFinish 1015:18
- 2Alessio CrocianiFinish 615:19
- 3Diego MoyaFinish 715:22
T1
Split unavailable.
Bike
- 1Gregor PayetFinish 151:02:05
- 2Tjebbe KaindlFinish 91:02:07
- 3Aoba YasumatsuFinish 271:02:09
T2
Split unavailable.
Run
- 1Hayden WildeFinish 1729:48
- 2Miguel HidalgoFinish 230:07
- 3John ReedFinish 2230:22
Women split podiums
Fastest stored segment times. These are segment rankings, not cumulative race-position order.
Swim
- 1Jolien VermeylenFinish 616:48
- 2Taylor SpiveyFinish 216:50
- 3Sian RainsleyFinish 1016:52
T1
Split unavailable.
Bike
- 1Maya KingmaFinish 111:10:11
- 2Taylor SpiveyFinish 21:10:44
- 3Tereza ZimovjanovaFinish 81:11:09
T2
Split unavailable.
Run
- 1Beth PotterFinish 132:42
- 2Lisa TertschFinish 333:38
- 3Taylor SpiveyFinish 233:58
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
50 participants
| Pos | Athlete | Time | Gap | Swim | T1 | Bike | T2 | Run | Points |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Henry GrafDE | 1:49:22 | Winner | 15:26 | — | 1:02:21 | — | 30:44 | — |
| 2 | Miguel HidalgoBR | 1:49:29 | — | 15:38 | — | 1:02:54 | — | 30:07 | — |
| 3 | Csongor LehmannHU | 1:49:46 | — | 15:28 | — | 1:03:06 | — | 30:25 | — |
| 4 | Oliver ConwayGB | 1:49:49 | — | 15:50 | — | 1:02:37 | — | 30:29 | — |
| 5 | Adrien BriffodCH | 1:49:52 | — | 15:58 | — | 1:02:32 | — | 30:32 | — |
| 6 | Alessio CrocianiIT | 1:50:12 | — | 15:19 | — | 1:03:07 | — | 30:54 | — |
| 7 | Diego MoyaCL | 1:50:17 | — | 15:22 | — | 1:03:11 | — | 30:54 | — |
| 8 | Matt HauserAU | 1:50:24 | — | 15:24 | — | 1:03:05 | — | 31:03 | — |
| 9 | Tjebbe KaindlAT | 1:50:27 | — | 15:50 | — | 1:02:07 | — | 31:44 | — |
| 10 | Mark DevayHU | 1:50:41 | — | 15:18 | — | 1:02:31 | — | 32:01 | — |
| 11 | Ian PennekampNL | 1:50:42 | — | 16:23 | — | 1:02:11 | — | 31:15 | — |
| 12 | Mitch KolkmanNL | 1:50:43 | — | 15:44 | — | 1:02:50 | — | 31:17 | — |
| 13 | Chris ZiehmerDE | 1:50:50 | — | 15:54 | — | 1:02:40 | — | 31:26 | — |
| 14 | Valentin WernzDE | 1:51:00 | — | 15:52 | — | 1:02:40 | — | 31:37 | — |
| 15 | Gregor PayetLU | 1:51:06 | — | 16:30 | — | 1:02:05 | — | 31:42 | — |
| 16 | Zsombor DeakRO | 1:51:13 | — | 15:46 | — | 1:02:41 | — | 31:53 | — |
| 17 | Hayden WildeNZ | 1:51:14 | — | 17:09 | — | 1:03:25 | — | 29:48 | — |
| 18 | Seth RiderUS | 1:51:20 | — | 15:29 | — | 1:03:00 | — | 32:01 | — |
| 19 | Tayler ReidNZ | 1:51:27 | — | 15:46 | — | 1:02:42 | — | 32:04 | — |
| 20 | Harry LeleuGB | 1:51:31 | — | 15:41 | — | 1:02:57 | — | 32:06 | — |
| 21 | Vetle Bergsvik ThornNO | 1:51:40 | — | 15:36 | — | 1:02:59 | — | 32:15 | — |
| 22 | John ReedUS | 1:51:53 | — | 15:40 | — | 1:04:57 | — | 30:22 | — |
| 23 | Dorian ConinxFR | 1:52:06 | — | 15:25 | — | 1:03:09 | — | 32:44 | — |
| 24 | Eric DienerDE | 1:52:20 | — | 16:22 | — | 1:02:11 | — | 32:49 | — |
| 25 | Alois KnablAT | 1:52:32 | — | 15:44 | — | 1:02:44 | — | 33:05 | — |
| 26 | Max StapleyGB | 1:52:35 | — | 15:32 | — | 1:03:03 | — | 33:06 | — |
| 27 | Aoba YasumatsuJP | 1:52:35 | — | 16:20 | — | 1:02:09 | — | 33:02 | — |
| 28 | Simon WestermannCH | 1:52:44 | — | 15:31 | — | 1:02:53 | — | 33:27 | — |
| 29 | Victor GoeneNL | 1:52:54 | — | 16:04 | — | 1:02:29 | — | 33:26 | — |
| 30 | Arnaud MengalBE | 1:53:30 | — | 16:19 | — | 1:02:12 | — | 33:57 | — |
| 31 | Ren SatoJP | 1:55:06 | — | 16:04 | — | 1:04:29 | — | 33:33 | — |
| 32 | Kyotaro YoshikawaJP | 1:55:20 | — | 15:45 | — | 1:04:39 | — | 33:50 | — |
| 33 | Jonas OsterholtDE | 1:56:19 | — | 16:01 | — | 1:06:48 | — | 32:35 | — |
| 34 | Martin DemuthAT | 1:56:39 | — | 15:39 | — | 1:04:49 | — | 35:08 | — |
| 35 | Kevin Tarek Vinuela GonzalezES | 1:59:10 | — | 15:38 | — | 1:08:42 | — | 33:54 | — |
| 36 | Tomas ZikmundCZ | 2:00:39 | — | 16:25 | — | 1:07:53 | — | 35:24 | — |
| DNF | Eirik Berling GrandeNO | DNF | — | 15:48 | — | — | — | — | — |
| DNF | Peter LuftensteinerAT | DNF | — | 17:11 | — | — | — | — | — |
| DNF | Shachar AgurIL | DNF | — | 17:13 | — | — | — | — | — |
| DNF | Filip MichalekCZ | DNF | — | 17:12 | — | — | — | — | — |
| DNF | Ryoya TamazakiJP | DNF | — | 17:13 | — | — | — | — | — |
| DNF | Edgar Andres Bermudez MunozCO | DNF | — | 17:55 | — | — | — | — | — |
| DNF | Panagiotis BitadosGR | DNF | — | 15:36 | — | — | — | — | — |
| DNF | Jack WillisGB | DNF | — | 15:30 | — | — | — | — | — |
| DNF | Chase McqueenUS | DNF | — | 15:28 | — | — | — | — | — |
| DNF | Sylvain FridelanceCH | DNF | — | 15:58 | — | 1:06:51 | — | — | — |
| DNF | Manoel Messias Dos SantosBR | DNF | — | 16:18 | — | 1:04:26 | — | — | — |
| DNF | Morgan PearsonUS | DNF | — | 15:35 | — | — | — | — | — |
| DNF | Hugo Mario Ruiz DimateCO | DNF | — | 17:46 | — | — | — | — | — |
| DNF | Miguel Tiago SilvaPT | DNF | — | 15:45 | — | — | — | — | — |
Female Pro Results
39 participants
| Pos | Athlete | Time | Gap | Swim | T1 | Bike | T2 | Run | Points |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Beth PotterGB | 2:02:12 | Winner | 16:54 | — | 1:11:40 | — | 32:42 | — |
| 2 | Taylor SpiveyUS | 2:02:25 | — | 16:50 | — | 1:10:44 | — | 33:58 | — |
| 3 | Lisa TertschDE | 2:03:07 | — | 16:55 | — | 1:11:43 | — | 33:38 | — |
| 4 | Jeanne LehairFR | 2:03:56 | — | 17:05 | — | 1:11:31 | — | 34:24 | — |
| 5 | Leonie PeriaultFR | 2:04:15 | — | 17:15 | — | 1:11:14 | — | 34:37 | — |
| 6 | Jolien VermeylenBE | 2:04:32 | — | 16:48 | — | 1:11:51 | — | 34:57 | — |
| 7 | Anna Godoy ContrerasES | 2:04:53 | — | 17:09 | — | 1:11:29 | — | 35:03 | — |
| 8 | Tereza ZimovjanovaCZ | 2:05:00 | — | 17:27 | — | 1:11:09 | — | 35:25 | — |
| 9 | Olivia MathiasGB | 2:05:18 | — | 17:18 | — | 1:11:17 | — | 35:48 | — |
| 10 | Sian RainsleyGB | 2:05:46 | — | 16:52 | — | 1:11:30 | — | 36:14 | — |
| 11 | Maya KingmaNL | 2:05:50 | — | 17:13 | — | 1:10:11 | — | 37:18 | — |
| 12 | Annika KochDE | 2:06:22 | — | 17:57 | — | 1:12:27 | — | 35:06 | — |
| 13 | Franka RustDE | 2:06:27 | — | 18:02 | — | 1:12:16 | — | 35:09 | — |
| 14 | Maria ToméPT | 2:06:30 | — | 18:00 | — | 1:12:18 | — | 35:13 | — |
| 15 | Verena SteinhauserIT | 2:06:49 | — | 17:54 | — | 1:12:18 | — | 35:31 | — |
| 16 | Eva DanielsLU | 2:06:59 | — | 18:02 | — | 1:12:19 | — | 35:41 | — |
| 17 | Djenyfer ArnoldBR | 2:07:20 | — | 17:01 | — | 1:13:24 | — | 35:56 | — |
| 18 | Marta KropkoHU | 2:08:00 | — | 16:54 | — | 1:13:27 | — | 36:39 | — |
| 19 | Jessica FullagarGB | 2:08:08 | — | 17:46 | — | 1:14:07 | — | 35:17 | — |
| 20 | Romana GajdosovaSK | 2:08:16 | — | 18:04 | — | 1:12:21 | — | 36:55 | — |
| 21 | Heidi JurankovaCZ | 2:08:19 | — | 17:49 | — | 1:14:06 | — | 35:24 | — |
| 22 | Miriam Casillas GarciaES | 2:09:29 | — | 17:39 | — | 1:12:56 | — | 36:31 | — |
| 23 | Babette RosmanNL | 2:09:52 | — | 17:15 | — | 1:11:16 | — | 40:20 | — |
| 24 | Nora GmuerCH | 2:10:11 | — | 17:59 | — | 1:13:36 | — | 37:18 | — |
| 25 | Gina SerenoUS | 2:12:23 | — | 17:45 | — | 1:17:42 | — | 35:56 | — |
| 26 | Diana DunajskaSV | 2:12:51 | — | 17:57 | — | 1:16:25 | — | 37:34 | — |
| 27 | Barbara De KoningNL | 2:13:17 | — | 17:36 | — | 1:18:10 | — | 36:31 | — |
| 28 | Sara Guerrero MansoES | 2:14:47 | — | 17:47 | — | 1:17:54 | — | 38:05 | — |
| 29 | Helena KnaapiFI | 2:15:36 | — | 18:16 | — | 1:17:29 | — | 38:49 | — |
| DNF | Selina KlamtDE | DNF | — | 17:18 | — | — | — | — | — |
| DNF | Borbala SarciaHU | DNF | — | — | — | — | — | — | — |
| DNF | Emma LombardiFR | DNF | — | 17:09 | — | 1:13:16 | — | — | — |
| DNF | Ilaria ZaneIT | DNF | — | 17:17 | — | — | — | — | — |
| DNF | Alice BettoIT | DNF | — | 17:17 | — | — | — | — | — |
| DNF | Iida ReiniFI | DNF | — | 17:20 | — | — | — | — | — |
| DNF | Emma JeffcoatAU | DNF | — | 17:27 | — | — | — | — | — |
| DNF | Yuko TakahashiJP | DNF | — | 17:47 | — | — | — | — | — |
| DNF | Nina EimDE | DNF | — | 17:45 | — | — | — | — | — |
| DNF | Bianca SeregniIT | DNF | — | — | — | — | — | — | — |