HYROX London ExCeL 2025: Open Men results

5,554 finishers on 4 Dec 2025. Typical finish 1:23:09, fastest 10% under 1:07:56. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Alexis Bernier 🇫🇷 FRA1st of 1,120 aged 35-39 35-39 55:21 — 24:29 7:48 4:03 2:12 3:09 2:48 4:10 1:21 2:56 3:50
2 Callum Overton 🇬🇧 GBR1st of 894 aged 25-29 25-29 55:50 0:29 — 26:08 7:29 4:03 2:08 3:28 3:05 4:26 1:51 2:58 4:09
3 Joe Vatcher 🇬🇧 GBR1st of 489 aged 16-24 16-24 56:14 0:53 — 24:18 7:49 4:09 2:18 2:42 3:17 4:07 1:29 2:40 3:36
4 Aaron Woodman 🇬🇧 GBR1st of 822 aged 40-44 40-44 56:25 1:04 — 23:56 8:02 4:19 2:06 3:09 2:45 4:16 1:16 2:45 3:20
5 Rayane Kara 🇫🇷 FRA2nd of 489 aged 16-24 16-24 56:29 1:08 25:12 23:15 8:05 4:20 2:08 2:59 2:07 4:17 1:33 2:29 3:22
6 Reece Mc Ginley 🇮🇪 IRL2nd of 894 aged 25-29 25-29 56:32 1:11 — 24:16 8:00 4:33 2:14 3:02 2:35 4:18 1:22 2:38 3:34
7 David Parkin 🇬🇧 GBR2nd of 1,120 aged 35-39 35-39 56:52 1:31 — 25:17 7:47 4:10 1:58 3:19 2:27 4:09 1:24 2:28 5:22
8 Marc Bloomfield 🇬🇧 GBR3rd of 1,120 aged 35-39 35-39 56:55 1:34 — 25:03 7:51 4:17 2:00 3:29 2:42 4:11 1:42 2:55 3:47
9 Zac Stevens 🇬🇧 GBR3rd of 894 aged 25-29 25-29 57:01 1:40 — 25:35 7:46 4:09 2:10 3:22 3:07 4:16 1:30 3:07 3:54
10 Ben Allon-Smith 🇬🇧 GBR1st of 1,208 aged 30-34 30-34 57:02 1:41 — 25:02 7:54 4:17 2:01 3:04 2:50 4:11 1:28 2:58 4:13
11 Steven Beattie 🇬🇧 GBR2nd of 1,208 aged 30-34 30-34 57:02 1:41 — 25:50 7:47 4:21 2:15 3:25 2:50 4:19 1:38 2:59 4:03
12 Gavin Magner 🇬🇧 GBR3rd of 1,208 aged 30-34 30-34 57:29 2:08 — 25:50 7:50 4:24 2:06 3:24 3:18 4:09 1:26 3:10 3:53
13 Mike Carmody 🇮🇪 IRL4th of 1,120 aged 35-39 35-39 57:30 2:09 24:59 24:36 8:01 4:17 2:05 3:11 3:08 4:19 1:17 2:38 3:41
14 Toby Roberts 🇬🇧 GBR4th of 1,208 aged 30-34 30-34 57:46 2:25 24:53 24:56 8:02 4:18 2:15 2:54 2:50 4:13 1:33 3:05 3:48
15 Gavin Hogarth 🇬🇧 GBR2nd of 822 aged 40-44 40-44 57:46 2:25 — 25:57 7:40 4:29 2:25 3:07 3:03 4:22 1:26 3:00 4:05
16 Samuel Taylor 🇬🇧 GBR3rd of 489 aged 16-24 16-24 57:53 2:32 25:09 24:38 8:10 4:19 2:10 3:18 2:36 4:18 1:27 2:56 3:34
17 Ryan Gibson 🇬🇧 GBR5th of 1,208 aged 30-34 30-34 57:55 2:34 — 26:58 7:50 4:24 2:18 3:21 3:14 4:27 1:38 3:19 4:17
18 Paul Dooley 🇮🇪 IRL5th of 1,120 aged 35-39 35-39 57:56 2:35 — 25:50 7:58 4:19 2:11 3:22 3:13 4:20 1:15 3:36 3:34
19 Perry Mullins 🇬🇧 GBR6th of 1,208 aged 30-34 30-34 58:17 2:56 — 25:45 7:58 4:22 2:10 3:07 3:00 4:22 1:26 3:08 4:10
20 Matt Agnew 🇬🇧 GBR7th of 1,208 aged 30-34 30-34 58:25 3:04 24:58 25:27 8:05 4:28 2:10 3:33 2:32 4:24 1:16 3:17 3:47
21 George Brock 🇬🇧 GBR4th of 489 aged 16-24 16-24 58:26 3:05 25:01 25:22 8:09 4:24 2:13 3:19 2:54 4:17 1:23 3:13 3:39
22 Alex Neville 🇬🇧 GBR4th of 894 aged 25-29 25-29 58:26 3:05 24:58 25:32 8:01 4:16 1:56 3:25 2:44 4:22 1:16 3:08 4:25
23 Aaron Bassett 🇮🇪 IRL8th of 1,208 aged 30-34 30-34 58:29 3:08 — 26:15 8:11 4:25 2:12 3:46 2:49 4:13 1:38 3:08 4:04
24 Simon Day 🇬🇧 GBR3rd of 822 aged 40-44 40-44 58:31 3:10 — 25:38 8:14 4:24 1:55 3:37 2:55 4:19 1:12 3:11 4:05
25 Bailey Askin 🇬🇧 GBR5th of 489 aged 16-24 16-24 58:38 3:17 25:02 25:09 8:31 4:13 2:19 3:21 2:54 4:09 1:34 3:05 3:34
26 Callum Short 🇬🇧 GBR9th of 1,208 aged 30-34 30-34 58:39 3:18 24:55 25:39 8:09 4:25 2:21 3:38 2:30 4:21 1:20 3:05 3:59
27 Kieran Higgs 🇬🇧 GBR5th of 894 aged 25-29 25-29 58:40 3:19 — 26:34 8:13 4:12 2:18 3:50 3:24 4:17 1:37 3:14 3:42
28 Mark Baddeley 🇬🇧 GBR10th of 1,208 aged 30-34 30-34 58:40 3:19 — 26:47 7:49 4:27 2:20 3:12 3:14 4:24 1:36 3:05 4:29
29 Craig Gardiner 🇬🇧 GBR6th of 894 aged 25-29 25-29 58:40 3:19 — 27:25 7:48 4:26 2:21 3:26 3:03 4:21 1:31 3:07 5:10
30 Nikolay Georgiev 🇧🇬 BUL11th of 1,208 aged 30-34 30-34 58:44 3:23 — 26:01 8:24 4:29 2:02 3:19 2:49 4:14 1:15 4:01 3:52
31 Kyle McCauley 🇬🇧 GBR7th of 894 aged 25-29 25-29 58:45 3:24 — 26:10 8:08 4:26 2:12 3:13 2:44 4:23 1:36 2:55 4:41
32 Jakub Riedel 🇵🇱 POL6th of 489 aged 16-24 16-24 58:46 3:25 25:18 25:17 8:15 4:15 2:19 3:38 2:31 4:12 1:23 3:11 3:48
33 Patrick Brown 🇬🇧 GBR1st of 517 aged 45-49 45-49 58:47 3:26 — 26:02 8:06 4:11 2:04 2:58 3:16 4:10 1:27 3:12 4:44
34 David Magida 🇺🇸 USA6th of 1,120 aged 35-39 35-39 58:50 3:29 24:56 25:26 8:33 4:12 2:06 3:17 2:53 4:31 1:25 2:56 4:06
35 Gaetano di Tavi 🇮🇹 ITA12th of 1,208 aged 30-34 30-34 58:51 3:30 25:43 24:40 8:34 4:11 2:12 3:16 2:42 4:20 1:31 2:46 3:42
36 Romain Chamayou Brien 🇫🇷 FRA8th of 894 aged 25-29 25-29 58:52 3:31 — 27:14 7:58 4:24 2:22 3:46 3:05 4:34 1:22 3:17 4:24
37 Gareth Davies 🇬🇧 GBR7th of 1,120 aged 35-39 35-39 58:57 3:36 25:01 25:21 8:40 4:19 2:04 3:25 2:59 4:16 1:34 2:45 3:59
38 Mick Daly 🇮🇪 IRL8th of 1,120 aged 35-39 35-39 58:57 3:36 25:25 25:36 8:00 4:22 2:24 3:15 2:57 4:24 1:17 2:54 4:03
39 Zaquery Claeys 🇬🇧 GBR9th of 894 aged 25-29 25-29 58:57 3:36 — 26:20 8:02 4:39 2:03 3:25 2:47 4:28 1:18 3:02 4:38
40 Lee Clayton 🇬🇧 GBR9th of 1,120 aged 35-39 35-39 59:06 3:45 25:37 25:14 8:19 4:20 2:07 3:47 2:32 4:10 1:32 2:55 3:51
41 Alan Hilley 🇬🇧 GBR10th of 1,120 aged 35-39 35-39 59:09 3:48 — 26:48 7:57 4:22 2:15 3:27 3:30 4:16 1:19 3:13 4:26
42 Adam Hale 🇬🇧 GBR11th of 1,120 aged 35-39 35-39 59:09 3:48 — 26:59 7:57 4:26 2:13 3:02 4:02 4:29 1:19 3:34 3:54
43 Ben Strong 🇬🇧 GBR12th of 1,120 aged 35-39 35-39 59:10 3:49 24:51 25:57 8:26 4:23 2:25 3:31 2:56 4:22 1:26 3:16 3:38
44 Brian Maybin 🇮🇪 IRL4th of 822 aged 40-44 40-44 59:11 3:50 25:59 24:47 8:28 4:27 2:04 2:55 2:52 4:19 1:13 2:41 4:16
45 Paul Hesselberth 🇳🇱 NED10th of 894 aged 25-29 25-29 59:13 3:52 — 26:57 7:56 4:21 2:22 3:23 3:45 4:26 1:26 2:55 4:19
46 Tom Hage 🇬🇧 GBR11th of 894 aged 25-29 25-29 59:14 3:53 25:43 25:00 8:36 4:29 2:21 3:15 2:22 4:26 1:34 2:54 3:39
47 Nicholas Bauer 🇩🇪 GER12th of 894 aged 25-29 25-29 59:14 3:53 — 26:28 8:25 4:11 2:34 3:16 3:05 4:22 1:31 3:08 4:21
48 Charlie Morris 🇬🇧 GBR13th of 894 aged 25-29 25-29 59:20 3:59 — 27:03 8:06 4:38 2:13 3:33 3:09 4:26 1:21 2:58 4:45
49 Nathan Chowns Higgs 🇬🇧 GBR7th of 489 aged 16-24 16-24 59:21 4:00 — 26:30 8:34 4:15 2:28 3:35 3:37 4:15 1:44 3:02 3:34
50 Conor Henry 🇬🇧 GBR13th of 1,208 aged 30-34 30-34 59:21 4:00 — 26:41 8:01 4:17 2:32 3:36 2:45 4:23 1:41 3:21 4:06
51 Joshua Barnard 🇬🇧 GBR14th of 1,208 aged 30-34 30-34 59:23 4:02 25:01 26:03 8:25 4:24 2:18 3:29 2:49 4:23 1:17 3:08 4:15
52 Glen Cook 🇬🇧 GBR15th of 1,208 aged 30-34 30-34 59:29 4:08 — 26:48 8:04 4:18 1:59 3:41 3:30 4:22 1:27 3:24 4:07
53 Steven Beadle 🇬🇧 GBR13th of 1,120 aged 35-39 35-39 59:35 4:14 25:01 25:55 8:43 4:25 2:22 3:29 2:23 4:22 1:14 3:37 4:03
54 Andrew Bourne 🇬🇧 GBR16th of 1,208 aged 30-34 30-34 59:35 4:14 — 26:26 8:28 4:20 2:10 3:29 2:57 4:25 1:31 3:54 3:40
55 Dominic Brown 🇬🇧 GBR17th of 1,208 aged 30-34 30-34 59:39 4:18 — 27:01 8:28 4:12 2:27 3:34 3:04 4:24 1:44 3:22 4:14
56 Arek Pociask 🇵🇱 POL8th of 489 aged 16-24 16-24 59:42 4:21 25:18 26:11 8:18 4:24 2:13 3:10 3:22 4:32 1:17 3:03 4:10
57 Kieren Lloyd 🇬🇧 GBR18th of 1,208 aged 30-34 30-34 59:43 4:22 25:41 25:37 8:28 4:28 2:09 3:08 2:31 4:26 1:34 3:39 3:42
58 Lewis Cresswell 🇬🇧 GBR14th of 894 aged 25-29 25-29 59:47 4:26 25:51 25:48 8:12 4:14 2:23 3:15 2:58 4:18 1:37 3:08 3:55
59 Sam West 🇬🇧 GBR14th of 1,120 aged 35-39 35-39 59:47 4:26 25:34 25:52 8:25 4:20 2:14 3:11 2:55 4:17 1:32 3:15 4:08
60 Jay Holberry 🇬🇧 GBR5th of 822 aged 40-44 40-44 59:47 4:26 — 26:56 8:07 4:22 2:39 3:29 3:23 4:18 1:24 3:24 3:57
61 Iain Irving 🇬🇧 GBR6th of 822 aged 40-44 40-44 59:52 4:31 25:37 25:43 8:36 4:32 2:31 3:09 2:49 4:26 1:28 2:46 4:02
62 Harry Woodland 🇬🇧 GBR9th of 489 aged 16-24 16-24 59:55 4:34 26:49 24:16 8:55 4:18 2:03 3:09 2:36 4:04 1:35 2:29 4:02
63 Connor Farrell 🇬🇧 GBR19th of 1,208 aged 30-34 30-34 59:57 4:36 26:18 25:07 8:35 4:13 1:56 3:18 2:36 4:15 1:32 3:00 4:17
64 Harry Duncan 🇬🇧 GBR10th of 489 aged 16-24 16-24 59:58 4:37 25:19 26:41 8:02 4:32 2:27 3:08 2:52 4:23 1:36 3:24 4:19
65 Tom Barber 🇬🇧 GBR20th of 1,208 aged 30-34 30-34 59:58 4:37 — 27:03 8:18 4:34 2:30 3:21 2:40 4:33 1:40 3:18 4:27
66 Adam Thorley 🇬🇧 GBR21st of 1,208 aged 30-34 30-34 1:00:00 4:39 24:55 26:57 8:12 4:23 2:28 3:48 3:15 4:25 1:28 3:39 3:31
67 Sean Cabey 🇬🇧 GBR22nd of 1,208 aged 30-34 30-34 1:00:00 4:39 — 27:41 8:01 4:15 2:24 3:49 3:30 4:15 1:48 3:03 4:37
68 Nikita Aleksandrovics 🇮🇪 IRL11th of 489 aged 16-24 16-24 1:00:01 4:40 — 26:52 8:27 4:25 2:27 3:32 3:26 4:32 1:38 3:10 3:42
69 Joe Sankey 🇬🇧 GBR15th of 1,120 aged 35-39 35-39 1:00:05 4:44 26:18 25:09 8:43 4:14 2:14 3:07 3:02 4:18 1:14 3:11 3:49
70 Jamie Marsland 🇬🇧 GBR16th of 1,120 aged 35-39 35-39 1:00:09 4:48 25:06 26:51 8:17 4:19 2:32 3:31 3:22 4:25 1:19 3:34 3:49
71 Chris Shaw SCO17th of 1,120 aged 35-39 35-39 1:00:11 4:50 25:46 25:25 9:05 4:30 2:17 3:18 3:05 4:25 1:24 2:55 3:31
72 Ryan Crisp 🇬🇧 GBR23rd of 1,208 aged 30-34 30-34 1:00:12 4:51 26:05 25:49 8:22 4:13 2:04 3:12 3:23 4:03 1:47 3:01 4:06
73 Aaron Rogers 🇬🇧 GBR24th of 1,208 aged 30-34 30-34 1:00:27 5:06 — 28:31 8:34 4:25 2:08 3:45 3:15 4:28 1:36 3:29 5:25
74 Matthew Eccleshare 🇬🇧 GBR25th of 1,208 aged 30-34 30-34 1:00:29 5:08 — 27:41 8:09 4:22 2:22 3:56 3:21 4:21 1:36 3:39 4:04
75 Joshua Lewis 🇬🇧 GBR12th of 489 aged 16-24 16-24 1:00:30 5:09 — 27:31 8:29 4:21 2:07 3:50 3:12 4:28 1:25 3:02 5:06
76 Alex Gibson 🇬🇧 GBR26th of 1,208 aged 30-34 30-34 1:00:33 5:12 25:36 26:10 8:52 4:13 1:56 3:16 3:21 4:09 1:23 3:46 4:06
77 Matt Brammeier 🇬🇧 GBR7th of 822 aged 40-44 40-44 1:00:36 5:15 25:59 26:02 8:40 4:26 1:48 3:09 3:05 4:20 1:41 3:41 3:52
78 Lee Robinson 🇬🇧 GBR27th of 1,208 aged 30-34 30-34 1:00:38 5:17 27:05 25:05 8:33 4:15 2:10 2:51 3:23 4:13 1:15 3:16 3:42
79 Joe Fisher 🇬🇧 GBR8th of 822 aged 40-44 40-44 1:00:39 5:18 26:18 25:52 8:33 4:18 2:27 3:05 2:49 4:17 1:21 2:53 4:42
80 Carl Hill 🇬🇧 GBR28th of 1,208 aged 30-34 30-34 1:00:40 5:19 — 28:34 7:52 4:20 2:22 3:33 3:02 4:16 1:33 3:21 6:07
81 Rachid Nadi 🇬🇧 GBR18th of 1,120 aged 35-39 35-39 1:00:41 5:20 26:12 26:01 8:34 4:13 2:03 3:25 3:01 4:13 1:37 3:15 4:14
82 Alex Ayin 🇬🇧 GBR29th of 1,208 aged 30-34 30-34 1:00:45 5:24 25:49 26:26 8:35 4:24 2:05 3:27 2:49 4:32 1:41 3:24 4:04
83 Phil O'Halloran 🇬🇧 GBR9th of 822 aged 40-44 40-44 1:00:45 5:24 25:11 27:13 8:24 4:28 2:13 3:27 2:49 4:25 1:39 3:26 4:46
84 Adrien Raffault 🇫🇷 FRA19th of 1,120 aged 35-39 35-39 1:00:46 5:25 25:39 26:25 8:46 4:05 2:11 3:17 3:17 4:17 1:26 3:20 4:32
85 Darren Hancock 🇬🇧 GBR10th of 822 aged 40-44 40-44 1:00:47 5:26 25:02 27:37 8:11 4:18 2:20 3:20 3:26 4:20 1:40 4:02 4:11
86 Leo Bordessoule 🇫🇷 FRA15th of 894 aged 25-29 25-29 1:00:48 5:27 25:37 26:47 8:29 4:30 2:51 3:14 2:53 4:37 1:42 3:14 3:46
87 Ryan Herold 🇬🇧 GBR30th of 1,208 aged 30-34 30-34 1:00:50 5:29 25:18 26:57 8:38 4:18 2:26 3:33 2:40 4:21 1:38 3:18 4:43
88 Elliott Donner 🇬🇧 GBR16th of 894 aged 25-29 25-29 1:00:50 5:29 25:26 27:04 8:24 4:32 1:53 3:45 3:02 4:23 1:31 3:33 4:25
89 Louis Binns 🇬🇧 GBR11th of 822 aged 40-44 40-44 1:00:53 5:32 25:01 27:42 8:15 4:25 2:31 3:20 3:29 4:24 1:39 3:39 4:15
90 Rokas Guščinas 🇱🇹 LTU31st of 1,208 aged 30-34 30-34 1:00:54 5:33 26:31 25:50 8:37 4:25 2:02 3:17 2:59 4:21 1:37 2:58 4:11
91 Zac Randall 🇬🇧 GBR32nd of 1,208 aged 30-34 30-34 1:00:55 5:34 — 28:35 8:00 4:34 2:50 3:46 3:09 4:16 2:01 3:20 4:39
92 Harry Edmondson 🇬🇧 GBR13th of 489 aged 16-24 16-24 1:01:00 5:39 — 28:17 8:07 4:28 2:13 3:31 2:54 4:20 2:17 3:30 5:04
93 Andrew Williams 🇬🇧 GBR17th of 894 aged 25-29 25-29 1:01:03 5:42 25:10 27:37 8:20 4:23 2:10 3:20 3:46 4:19 1:39 3:37 4:23
94 Jack Goodwin 🇬🇧 GBR33rd of 1,208 aged 30-34 30-34 1:01:05 5:44 — 30:28 8:06 4:30 2:39 3:53 3:51 4:38 1:58 3:43 5:16
95 Daniel Lythgoe 🇬🇧 GBR34th of 1,208 aged 30-34 30-34 1:01:06 5:45 25:24 27:34 8:13 4:18 2:35 3:44 2:45 4:21 1:46 3:39 4:26
96 Josh Jones 🇬🇧 GBR35th of 1,208 aged 30-34 30-34 1:01:08 5:47 25:29 27:15 8:28 4:21 2:12 3:39 3:19 4:20 1:42 3:26 4:16
97 Eimard Legaspi 🇬🇧 GBR18th of 894 aged 25-29 25-29 1:01:22 6:01 25:56 27:05 8:26 4:21 2:13 3:04 3:08 4:25 1:42 3:38 4:34
98 Lee Sellman 🇬🇧 GBR14th of 489 aged 16-24 16-24 1:01:23 6:02 26:01 26:56 8:30 4:19 2:15 3:32 3:39 4:24 1:09 3:28 4:10
99 Luke Dow 🇬🇧 GBR20th of 1,120 aged 35-39 35-39 1:01:27 6:06 26:08 26:21 9:03 4:06 1:57 3:07 4:13 4:12 1:28 3:10 4:08
100 Josh Prior 🇬🇧 GBR19th of 894 aged 25-29 25-29 1:01:29 6:08 25:25 27:36 8:33 4:22 2:24 3:20 3:17 4:35 1:44 3:19 4:35
How to read

The place is among timed finishers in Open 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