HYROX London ExCeL 2025: Pro Men results

929 finishers on 4 Dec 2025. Typical finish 1:15:21, fastest 10% under 1:02:51. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Luke Greer ENG1st of 189 aged 25-29 25-29 54:38 — 26:02 7:14 4:06 2:19 3:41 2:45 4:04 1:22 3:15 4:30
2 Graham Halliday SCO1st of 258 aged 30-34 30-34 54:42 0:04 — 23:57 7:30 4:06 2:33 3:30 2:19 4:04 1:18 2:47 3:20
3 Louis Osselaer 🇧🇪 BEL2nd of 258 aged 30-34 30-34 54:58 0:20 — 24:27 7:31 4:03 2:21 3:47 2:23 3:56 1:21 2:32 4:04
4 Emilio Aguayo 🇪🇸 ESP3rd of 258 aged 30-34 30-34 54:58 0:20 — 25:12 7:27 4:06 2:31 3:43 2:45 4:00 1:24 2:50 3:53
5 Harry Thompson ENG4th of 258 aged 30-34 30-34 55:28 0:50 — 25:03 7:37 4:06 2:10 4:06 2:50 4:05 1:17 2:23 4:06
6 Alan Cao 🇫🇷 FRA5th of 258 aged 30-34 30-34 55:46 1:08 — 24:49 7:49 4:12 2:24 3:56 2:24 4:03 1:34 2:45 3:31
7 Ronan Lindsay 🇮🇪 IRL6th of 258 aged 30-34 30-34 55:58 1:20 — 25:07 7:42 4:04 2:17 3:38 2:48 4:08 1:20 3:06 3:46
8 Jamie Pratt 🇬🇧 GBR7th of 258 aged 30-34 30-34 56:18 1:40 — 25:19 7:44 4:16 2:36 3:29 2:38 4:06 1:19 2:48 4:07
9 Oli Fricker ENG8th of 258 aged 30-34 30-34 56:21 1:43 — 24:43 8:01 4:11 2:30 3:20 2:46 4:07 1:07 3:06 3:36
10 Joffrey Voisin 🇫🇷 FRA1st of 127 aged 40-44 40-44 56:22 1:44 — 24:40 7:50 4:05 2:35 3:17 2:55 4:01 1:26 2:47 3:34
11 Olivier Jouve 🇫🇷 FRA9th of 258 aged 30-34 30-34 57:07 2:29 — 25:11 7:54 4:13 2:34 3:51 2:16 4:08 1:27 2:45 3:57
12 Roberto Viciedo Gimeno 🇪🇸 ESP2nd of 189 aged 25-29 25-29 57:13 2:35 — 25:29 7:51 4:08 2:40 4:04 2:15 4:08 1:29 2:55 3:50
13 Harvey Williams 🇬🇧 GBR1st of 81 aged 16-24 16-24 57:22 2:44 — 26:57 7:47 4:14 2:43 3:43 2:36 4:07 1:29 2:55 5:10
14 George Martindale ENG10th of 258 aged 30-34 30-34 57:36 2:58 — 26:52 7:51 4:10 2:34 4:07 2:34 4:03 1:34 3:06 4:44
15 Türker Alici 🇹🇷 TUR11th of 258 aged 30-34 30-34 57:44 3:06 — 24:49 8:22 4:05 2:15 3:48 2:29 4:03 1:20 3:06 3:43
16 Sadiq Elfitouri ENG12th of 258 aged 30-34 30-34 57:46 3:08 — 25:58 7:52 4:07 2:14 3:57 2:17 4:22 1:27 3:01 4:33
17 Aaron Travers 🇮🇪 IRL3rd of 189 aged 25-29 25-29 57:51 3:13 24:58 24:44 8:13 3:53 1:59 3:28 3:10 4:04 1:11 3:16 3:43
18 Michael ODonnell 🇬🇧 GBR2nd of 81 aged 16-24 16-24 57:54 3:16 — 26:02 7:49 4:12 2:33 3:51 2:44 4:01 1:34 3:09 3:58
19 Bodger Rees 🇬🇧 GBR1st of 169 aged 35-39 35-39 58:11 3:33 — 25:45 7:54 4:09 2:06 3:35 2:55 4:12 1:23 3:16 4:09
20 Lee Tynan ENG2nd of 169 aged 35-39 35-39 58:22 3:44 25:01 25:19 8:07 4:15 2:25 3:44 2:48 4:05 1:20 3:13 3:29
21 Valentin Darthout 🇫🇷 FRA4th of 189 aged 25-29 25-29 58:26 3:48 25:02 25:21 8:07 4:13 2:36 4:09 2:24 4:06 1:26 3:07 3:20
22 Jacques Hladkyj ENG3rd of 81 aged 16-24 16-24 58:40 4:02 — 26:47 7:54 4:11 2:33 4:20 2:46 4:10 1:16 2:40 4:51
23 Sean McLaughlin 🇮🇪 IRL3rd of 169 aged 35-39 35-39 58:44 4:06 — 26:35 7:54 4:10 2:25 3:54 2:40 4:05 1:25 3:26 4:30
24 Danny Uscroft-Mould 🇬🇧 GBR13th of 258 aged 30-34 30-34 58:45 4:07 — 25:56 8:06 4:18 2:36 3:23 2:29 4:04 1:31 3:09 4:26
25 Erik Woodward 🇳🇴 NOR14th of 258 aged 30-34 30-34 58:47 4:09 — 26:47 7:53 4:07 2:47 3:59 2:29 4:05 1:22 2:51 5:07
26 Joseph Leader 🇬🇧 GBR4th of 169 aged 35-39 35-39 58:49 4:11 — 26:16 8:00 4:11 2:26 3:36 2:29 4:08 1:27 3:09 4:50
27 Ben Sheppard 🇬🇧 GBR15th of 258 aged 30-34 30-34 59:00 4:22 — 26:40 7:50 4:17 2:53 3:38 2:46 4:07 1:26 3:29 4:04
28 Jesse Owen 🇬🇧 GBR16th of 258 aged 30-34 30-34 59:05 4:27 — 27:05 7:53 4:19 2:29 4:27 3:00 4:18 1:30 3:13 3:49
29 Alexandre Gassian 🇫🇷 FRA17th of 258 aged 30-34 30-34 59:13 4:35 — 26:44 8:05 4:14 2:43 4:00 2:54 4:03 1:22 3:07 4:21
30 Darragh Okeeffe 🇮🇪 IRL4th of 81 aged 16-24 16-24 59:14 4:36 — 26:48 8:07 4:07 2:37 4:01 2:46 4:07 1:26 3:24 4:20
31 James Wood 🇬🇧 GBR5th of 81 aged 16-24 16-24 59:16 4:38 25:19 26:02 7:59 4:04 2:36 3:43 2:48 4:11 1:34 3:18 3:48
32 Joey Patchitt ENG5th of 169 aged 35-39 35-39 59:18 4:40 — 27:11 7:53 4:14 2:50 4:11 2:44 4:08 1:24 3:20 4:20
33 Alexandre Gassian 🇫🇷 FRA18th of 258 aged 30-34 30-34 59:19 4:41 — 26:51 8:00 4:14 2:43 4:17 2:37 4:08 1:23 3:01 4:28
34 Evan Galloway ENG19th of 258 aged 30-34 30-34 59:22 4:44 — 26:34 8:13 4:16 2:53 4:14 2:59 4:07 1:20 2:53 3:52
35 Paul O'Brien 🇮🇪 IRL2nd of 127 aged 40-44 40-44 59:23 4:45 — 26:43 8:15 4:14 2:41 3:36 2:32 4:05 1:34 3:17 4:44
36 Jack McMenemy 🇬🇧 GBR5th of 189 aged 25-29 25-29 59:37 4:59 — 27:23 8:04 4:13 2:30 3:56 3:14 4:14 1:39 3:14 4:23
37 Daniel Crawford 🇬🇧 GBR20th of 258 aged 30-34 30-34 1:00:03 5:25 25:35 26:17 8:15 4:15 2:24 3:57 2:53 4:07 1:19 3:20 4:02
38 Adam Sinclair 🇬🇧 GBR21st of 258 aged 30-34 30-34 1:00:03 5:25 — 27:52 7:53 4:19 2:46 4:06 2:44 4:14 1:44 3:11 4:48
39 Ben Wright 🇬🇧 GBR6th of 189 aged 25-29 25-29 1:00:11 5:33 — 28:55 7:34 4:17 2:56 4:29 2:53 4:17 1:43 3:47 4:33
40 Lucas Parker 🇬🇧 GBR6th of 81 aged 16-24 16-24 1:00:15 5:37 — 29:42 7:46 4:02 2:53 4:14 3:01 4:35 2:07 3:34 5:16
41 Nils Knuth 🇩🇪 GER7th of 81 aged 16-24 16-24 1:00:18 5:40 26:25 25:35 8:22 4:29 2:26 3:23 2:41 4:11 1:18 2:49 4:18
42 Jack Waymark 🇬🇧 GBR7th of 189 aged 25-29 25-29 1:00:22 5:44 — 28:35 8:12 4:14 3:08 4:10 3:37 4:11 1:45 3:14 4:16
43 Joel Roura 🇬🇧 GBR8th of 189 aged 25-29 25-29 1:00:23 5:45 — 27:43 8:15 4:16 3:18 3:54 2:34 4:15 1:39 3:23 4:24
44 Kieran Yates 🇬🇧 GBR22nd of 258 aged 30-34 30-34 1:00:26 5:48 — 28:03 8:00 4:16 2:25 4:05 3:05 4:51 1:39 3:16 4:26
45 Tyler Rutten 🇬🇧 GBR23rd of 258 aged 30-34 30-34 1:00:32 5:54 — 28:29 8:03 4:23 2:43 3:55 2:41 4:28 1:49 3:07 5:23
46 Thomas Andrews 🇬🇧 GBR6th of 169 aged 35-39 35-39 1:00:33 5:55 — 28:02 8:02 4:15 2:59 3:44 3:04 4:11 1:37 3:40 4:32
47 Sam Craig ENG24th of 258 aged 30-34 30-34 1:00:39 6:01 — 28:00 8:11 4:13 2:44 4:40 2:48 4:15 1:45 3:11 4:24
48 Matthew Bloor 🇬🇧 GBR7th of 169 aged 35-39 35-39 1:00:40 6:02 24:53 27:37 8:15 4:14 2:39 3:24 2:46 4:18 1:37 3:42 4:57
49 Matthew Plowman 🇬🇧 GBR25th of 258 aged 30-34 30-34 1:00:41 6:03 — 28:29 8:04 4:21 2:49 3:42 3:34 4:11 1:33 3:57 4:22
50 Hamza Ajeel 🇮🇪 IRL9th of 189 aged 25-29 25-29 1:00:42 6:04 — 28:40 8:01 4:19 2:54 4:04 3:07 4:19 1:33 3:24 5:00
51 Joe Orr 🇮🇪 IRL8th of 81 aged 16-24 16-24 1:00:53 6:15 25:52 26:43 8:23 4:09 2:36 3:43 2:43 4:05 1:51 3:16 4:20
52 Seanan McColgan 🇮🇪 IRL8th of 169 aged 35-39 35-39 1:00:54 6:16 25:00 27:51 8:07 4:15 2:42 3:56 2:49 4:16 1:45 3:49 4:19
53 Hanzalah Azam 🇬🇧 GBR10th of 189 aged 25-29 25-29 1:00:56 6:18 25:31 27:08 8:23 4:16 2:42 3:42 3:08 4:19 1:46 3:35 3:40
54 Sam Knowles 🇬🇧 GBR26th of 258 aged 30-34 30-34 1:01:00 6:22 25:26 27:09 8:29 4:17 2:43 3:23 2:49 4:09 1:35 3:13 5:00
55 Craig Tebbutt 🇬🇧 GBR9th of 169 aged 35-39 35-39 1:01:05 6:27 25:01 27:46 8:22 4:16 2:55 3:55 3:27 4:03 1:48 3:30 3:52
56 Benjamin Whitbourn 🇬🇧 GBR11th of 189 aged 25-29 25-29 1:01:17 6:39 25:24 27:35 8:24 4:23 2:56 4:10 2:46 3:56 1:58 3:21 4:05
57 Lewis Overend ENG10th of 169 aged 35-39 35-39 1:01:21 6:43 25:37 27:29 8:22 4:08 2:27 3:47 3:15 4:03 1:28 3:24 4:57
58 Ethan Strevett 🇬🇧 GBR11th of 169 aged 35-39 35-39 1:01:22 6:44 25:03 28:49 7:33 4:17 3:17 3:55 2:54 4:08 1:26 3:50 5:02
59 Gerry Kennedy 🇬🇧 GBR12th of 169 aged 35-39 35-39 1:01:24 6:46 25:53 27:12 8:22 4:26 2:38 4:23 2:31 4:17 1:35 3:15 4:07
60 Andy Sloan 🇬🇧 GBR3rd of 127 aged 40-44 40-44 1:01:24 6:46 24:58 28:20 8:09 4:12 2:45 3:57 3:25 4:08 1:25 3:29 4:59
61 Vincent Willard 🇬🇧 GBR12th of 189 aged 25-29 25-29 1:01:31 6:53 25:40 27:09 8:46 4:12 2:15 4:01 2:56 4:03 1:27 3:42 4:33
62 Ryan Waugh 🇬🇧 GBR27th of 258 aged 30-34 30-34 1:01:33 6:55 26:10 27:01 8:27 4:08 2:40 3:46 2:46 4:12 1:28 3:18 4:43
63 Gabriel Lichtenstein 🇩🇪 GER28th of 258 aged 30-34 30-34 1:01:40 7:02 25:33 28:00 8:10 4:20 2:38 3:42 2:59 4:09 1:31 3:11 5:30
64 Will Tobin 🇬🇧 GBR29th of 258 aged 30-34 30-34 1:01:44 7:06 26:21 27:02 8:25 4:07 2:35 4:21 3:11 4:03 1:29 3:09 4:07
65 Marcin Matysiak 🇵🇱 POL13th of 189 aged 25-29 25-29 1:01:52 7:14 25:30 27:59 8:28 4:23 2:26 4:13 3:28 4:13 1:31 3:25 4:20
66 Elouan Millau 🇫🇷 FRA14th of 189 aged 25-29 25-29 1:01:55 7:17 — 29:50 8:06 4:16 2:39 4:24 3:15 4:28 1:42 3:35 5:31
67 Finley Dorling-Parkes 🇬🇧 GBR9th of 81 aged 16-24 16-24 1:01:56 7:18 — 29:20 8:07 4:14 3:08 4:40 2:58 4:30 2:00 3:30 4:20
68 Joshua Henry 🇬🇧 GBR30th of 258 aged 30-34 30-34 1:01:59 7:21 24:58 28:48 8:18 4:04 2:29 4:58 2:27 4:14 1:40 3:29 5:27
69 George McCartney 🇬🇧 GBR15th of 189 aged 25-29 25-29 1:02:00 7:22 24:58 28:50 8:15 4:07 2:54 3:48 2:40 4:06 1:56 4:36 4:43
70 Will Means 🇬🇧 GBR16th of 189 aged 25-29 25-29 1:02:02 7:24 25:49 27:32 8:46 4:11 2:29 3:55 3:32 4:10 1:29 3:36 4:10
71 Dan Nota ENG17th of 189 aged 25-29 25-29 1:02:05 7:27 — 31:09 7:46 4:16 3:26 6:42 2:41 4:11 1:52 3:38 4:23
72 Harry Bird 🇬🇧 GBR18th of 189 aged 25-29 25-29 1:02:06 7:28 25:59 27:37 8:35 4:26 3:13 4:16 2:06 4:24 1:39 3:09 4:24
73 Reynaldo Latinne 🇧🇪 BEL31st of 258 aged 30-34 30-34 1:02:08 7:30 25:35 27:59 8:38 4:11 2:26 4:17 3:16 4:25 1:32 3:12 4:40
74 Lloyd Mulholland 🇬🇧 GBR32nd of 258 aged 30-34 30-34 1:02:08 7:30 — 29:16 8:15 4:27 2:58 4:58 2:53 4:21 1:32 3:32 4:35
75 Adrien Leroux 🇫🇷 FRA10th of 81 aged 16-24 16-24 1:02:10 7:32 25:18 28:41 8:15 4:23 3:18 3:57 2:38 4:11 1:31 3:53 4:50
76 Dennis Kneepkens 🇳🇱 NED4th of 127 aged 40-44 40-44 1:02:12 7:34 25:14 28:50 8:12 4:18 2:32 3:51 3:28 4:14 1:35 4:14 4:38
77 Kane Pierce 🇦🇺 AUS33rd of 258 aged 30-34 30-34 1:02:15 7:37 25:01 29:06 8:14 4:12 2:44 4:16 2:47 4:06 1:39 3:36 5:46
78 James Ives 🇬🇧 GBR34th of 258 aged 30-34 30-34 1:02:18 7:40 25:25 28:24 8:34 4:03 2:43 4:09 3:27 4:06 1:31 3:49 4:36
79 Jac Smith 🇬🇧 GBR19th of 189 aged 25-29 25-29 1:02:18 7:40 — 30:34 7:55 4:22 2:47 4:32 3:32 4:18 1:50 3:25 5:48
80 Delalonde Thierry 🇫🇷 FRA13th of 169 aged 35-39 35-39 1:02:18 7:40 — 30:57 8:07 4:21 2:56 4:52 3:25 4:26 1:31 3:38 5:48
81 Jack Lawrence 🇬🇧 GBR20th of 189 aged 25-29 25-29 1:02:24 7:46 26:13 27:35 8:40 4:31 2:43 4:03 2:25 4:22 1:38 2:53 5:00
82 Stephen Reid 🇬🇧 GBR5th of 127 aged 40-44 40-44 1:02:26 7:48 25:18 28:55 8:19 4:07 2:50 4:30 2:49 4:07 1:28 3:52 5:12
83 Michael Donohoe 🇮🇪 IRL35th of 258 aged 30-34 30-34 1:02:28 7:50 — 30:34 8:09 4:07 3:03 3:57 3:08 4:23 1:46 3:47 6:23
84 Achraf Maizzou 🇫🇷 FRA14th of 169 aged 35-39 35-39 1:02:31 7:53 25:19 28:48 8:28 4:12 2:53 4:28 3:02 4:19 1:42 3:50 4:22
85 Tom Knight 🇬🇧 GBR6th of 127 aged 40-44 40-44 1:02:34 7:56 25:06 29:28 8:04 4:24 2:57 3:52 3:25 4:20 1:47 3:50 4:53
86 Barnabe Delarze 🇨🇭 SUI36th of 258 aged 30-34 30-34 1:02:35 7:57 26:26 27:25 8:49 4:03 2:12 3:42 3:54 3:58 1:19 3:30 4:47
87 Marcus Biles 🇬🇧 GBR37th of 258 aged 30-34 30-34 1:02:38 8:00 26:39 27:26 8:37 4:19 2:43 4:01 2:44 4:24 1:22 3:15 4:38
88 Justin Rheinheimer 🇮🇪 IRL21st of 189 aged 25-29 25-29 1:02:38 8:00 25:09 29:19 8:13 4:23 2:50 4:08 2:49 4:24 1:40 3:54 5:11
89 Alex Imbert 🇬🇧 GBR15th of 169 aged 35-39 35-39 1:02:40 8:02 26:06 27:51 8:47 4:00 2:29 3:39 3:25 4:09 1:37 3:49 4:43
90 Dean Arnold 🇬🇧 GBR16th of 169 aged 35-39 35-39 1:02:43 8:05 25:29 28:41 8:37 4:13 2:43 3:47 2:41 4:20 1:47 3:45 5:25
91 Callum Li 🇬🇧 GBR22nd of 189 aged 25-29 25-29 1:02:46 8:08 25:43 28:34 8:33 4:19 2:53 4:14 3:09 4:11 1:21 3:24 5:03
92 Andy Duckham 🇬🇧 GBR17th of 169 aged 35-39 35-39 1:02:49 8:11 26:47 27:20 8:47 4:17 2:24 3:34 3:10 4:00 1:34 3:37 4:44
93 Josh Cave 🇬🇧 GBR23rd of 189 aged 25-29 25-29 1:02:50 8:12 — 30:16 8:11 4:14 2:48 5:26 3:21 4:12 1:33 3:14 5:28
94 Tom Little 🇬🇧 GBR38th of 258 aged 30-34 30-34 1:02:51 8:13 25:42 28:43 8:31 4:16 2:55 4:11 3:21 4:14 1:37 3:47 4:22
95 Lucas Dalglish 🇬🇧 GBR7th of 127 aged 40-44 40-44 1:02:54 8:16 26:18 27:55 8:44 4:28 2:39 4:34 2:57 4:18 1:22 3:19 4:18
96 Michele Bucci 🇮🇹 ITA18th of 169 aged 35-39 35-39 1:02:54 8:16 25:16 29:06 8:36 4:14 2:50 4:18 3:05 4:21 1:27 3:43 5:08
97 Paul White 🇮🇪 IRL19th of 169 aged 35-39 35-39 1:02:54 8:16 25:20 29:11 8:27 4:15 2:38 4:17 3:37 4:19 1:35 3:51 4:39
98 Oliver Pateman 🇦🇺 AUS11th of 81 aged 16-24 16-24 1:02:55 8:17 25:31 29:15 8:13 4:22 2:57 4:24 3:25 4:18 1:25 3:38 4:46
99 Alexander Miller-Dumas 🇫🇷 FRA24th of 189 aged 25-29 25-29 1:02:58 8:20 25:21 29:22 8:21 4:30 3:08 4:11 2:48 4:22 1:40 3:47 4:56
100 Ezra Warren WLS39th of 258 aged 30-34 30-34 1:02:58 8:20 — 30:06 8:21 4:13 2:45 4:30 2:41 4:22 1:29 3:40 6:26
How to read

The place is among timed finishers in Pro Men; the line under the name is the place in the age group. Behind 1st is the gap to the winning time. Tap a time for that race's full report, or a name for every race of that athlete.

The RoxHype app

Found your result? Beat it at your next race.

The RoxHype app is your training plan to race day: built from your splits, your kit and your race date, and adjusted every week.

  • A week-by-week plan that counts down to your race
  • Extra work on your slowest stations
  • Adjusts every week to what you actually did

Free to download. Used by more than 40,000 HYROX athletes.

RoxHype app home: days to your HYROX, your expected finish range and this week's sessions RoxHype workout player guiding a sled push, with the next exercise lined up
Find my result