HYROX Maastricht 2025: Pro Men results

312 finishers on 19 Sep 2025. Typical finish 1:23:03, fastest 10% under 1:04:18. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Liam McCroary 🇬🇧 GBR1st of 72 aged 25-29 25-29 56:33 27:14 25:24 4:00 3:57 2:40 3:59 2:13 3:54 1:25 3:06 4:10
2 Louis Osselaer 🇧🇪 BEL1st of 86 aged 30-34 30-34 57:18 0:45 28:21 24:42 4:21 3:46 2:14 3:48 2:31 3:53 1:27 2:53 4:10
3 Maarten Enthoven 🇳🇱 NED2nd of 72 aged 25-29 25-29 57:47 1:14 28:12 25:16 4:20 3:49 2:22 3:36 3:07 3:50 1:29 3:14 3:49
4 Hidde Weersma 🇳🇱 NED3rd of 72 aged 25-29 25-29 57:48 1:15 27:07 26:32 4:13 3:44 2:51 3:57 2:51 3:59 1:28 3:22 4:20
5 Jannik Czapla 🇩🇪 GER4th of 72 aged 25-29 25-29 57:50 1:17 27:44 25:58 4:14 3:41 2:35 3:54 2:48 3:54 1:34 3:17 4:15
6 Ronan Lindsay 🇮🇪 IRL2nd of 86 aged 30-34 30-34 57:56 1:23 28:12 25:28 4:22 3:51 2:12 3:53 2:44 4:04 1:50 3:10 3:44
7 Graham Halliday 🇬🇧 GBR3rd of 86 aged 30-34 30-34 57:58 1:25 28:14 25:29 4:19 3:49 2:54 3:51 2:50 3:59 1:33 3:01 3:32
8 Alen Ploj 🇸🇮 SLO4th of 86 aged 30-34 30-34 58:10 1:37 28:48 24:48 4:39 3:52 2:23 3:34 2:44 3:55 1:24 3:02 3:54
9 Aaron Travers 🇮🇪 IRL5th of 72 aged 25-29 25-29 58:10 1:37 29:06 24:49 4:20 3:45 2:01 3:32 2:51 4:04 1:27 3:31 3:38
10 Marc Dean 🇬🇧 GBR5th of 86 aged 30-34 30-34 58:11 1:38 27:37 26:11 4:28 3:49 2:25 4:08 2:45 4:00 1:23 3:19 4:22
11 Dexter Buchanan 🇳🇿 NZL6th of 86 aged 30-34 30-34 58:30 1:57 28:35 25:37 4:23 3:53 2:11 3:56 2:52 3:58 1:31 3:12 4:04
12 Jake Williamson 🇬🇧 GBR6th of 72 aged 25-29 25-29 58:57 2:24 28:29 26:00 4:33 3:49 2:14 4:02 2:53 4:05 1:32 3:14 4:11
13 Pablo Sánchez Santos 🇪🇸 ESP7th of 86 aged 30-34 30-34 58:58 2:25 27:15 27:32 4:16 3:54 2:33 4:20 2:43 4:02 1:44 3:32 4:44
14 Kyle Schoonbee 🇿🇦 RSA7th of 72 aged 25-29 25-29 59:14 2:41 28:32 26:07 4:41 3:42 2:15 3:21 2:37 3:50 1:36 3:25 5:21
15 Michael Stephens 🇬🇧 GBR8th of 86 aged 30-34 30-34 59:36 3:03 28:18 27:01 4:21 3:45 2:18 3:30 3:47 3:53 1:24 3:22 5:02
16 Sadiq Elfitouri 🇬🇧 GBR9th of 86 aged 30-34 30-34 59:48 3:15 28:01 27:29 4:22 3:46 2:22 4:40 2:40 4:29 1:41 3:08 4:43
17 Julien Coquillaud-Salomon 🇫🇷 FRA1st of 60 aged 35-39 35-39 59:52 3:19 26:58 28:51 4:08 4:00 2:23 3:43 3:51 4:09 1:26 3:11 6:08
18 Paul Weindl 🇩🇪 GER8th of 72 aged 25-29 25-29 1:00:02 3:29 28:16 27:05 4:45 3:54 2:11 3:44 2:46 4:04 1:32 3:28 5:26
19 Peter Schiller 🇩🇪 GER2nd of 60 aged 35-39 35-39 1:00:38 4:05 29:16 27:00 4:25 3:47 2:39 3:52 2:29 4:05 1:36 3:09 5:23
20 Alan Cao 🇫🇷 FRA10th of 86 aged 30-34 30-34 1:01:17 4:44 29:14 27:31 4:36 3:45 2:44 4:37 2:42 3:58 1:44 3:50 4:11
21 Sam Schoeman 🇳🇱 NED1st of 28 aged 16-24 16-24 1:01:45 5:12 29:17 27:54 4:39 3:58 2:51 4:15 2:48 4:03 1:41 3:21 4:57
22 Richard Hynek 🇨🇿 CZE9th of 72 aged 25-29 25-29 1:01:52 5:19 27:56 27:42 6:17 3:43 2:22 4:09 3:19 4:00 1:26 3:30 5:13
23 Jordan Kane 🇬🇧 GBR11th of 86 aged 30-34 30-34 1:02:08 5:35 29:47 27:52 4:32 4:13 2:20 4:44 2:14 4:16 1:41 3:07 5:17
24 Ward Lemmelijn 🇧🇪 BEL10th of 72 aged 25-29 25-29 1:02:20 5:47 29:24 28:18 4:41 3:41 1:59 4:01 4:13 4:04 1:59 3:43 4:38
25 Luc van Overdam 🇳🇱 NED11th of 72 aged 25-29 25-29 1:02:26 5:53 29:55 27:52 4:43 3:56 2:21 3:44 3:05 4:07 1:25 3:17 5:57
26 Alexis Bernier 🇫🇷 FRA3rd of 60 aged 35-39 35-39 1:02:31 5:58 28:26 29:33 4:38 3:47 2:29 4:11 2:45 4:01 1:34 4:01 6:45
27 Kwinten Verstuyft 🇧🇪 BEL4th of 60 aged 35-39 35-39 1:02:36 6:03 28:53 29:04 4:42 4:03 2:45 4:21 3:22 4:04 1:37 3:42 5:10
28 Samir Schön 🇩🇪 GER12th of 72 aged 25-29 25-29 1:02:48 6:15 29:44 28:30 4:39 3:39 2:43 4:18 2:36 4:15 1:25 3:13 6:21
29 Ryan Hogan 🇬🇧 GBR5th of 60 aged 35-39 35-39 1:03:34 7:01 29:46 29:07 4:46 4:05 2:26 3:59 2:50 4:08 1:30 3:36 6:33
30 David Parkin 🇬🇧 GBR6th of 60 aged 35-39 35-39 1:03:43 7:10 29:20 30:01 4:27 3:53 2:44 4:44 2:38 4:07 1:39 3:36 6:40
31 Kristofer McSherry 🇬🇧 GBR12th of 86 aged 30-34 30-34 1:04:06 7:33 29:39 29:56 4:35 4:06 2:51 4:23 3:41 4:15 1:43 3:33 5:24
32 Louis Pavis 🇫🇷 FRA7th of 60 aged 35-39 35-39 1:04:18 7:45 31:51 27:12 5:19 3:47 2:28 3:58 3:49 3:49 1:33 3:43 4:05
33 Niels Kinget 🇧🇪 BEL2nd of 28 aged 16-24 16-24 1:04:23 7:50 29:32 29:58 4:56 3:58 3:02 4:20 3:21 4:10 1:46 3:48 5:33
34 Bjärne Ten Wolde 🇳🇱 NED13th of 86 aged 30-34 30-34 1:04:29 7:56 32:17 27:17 5:00 3:39 2:56 3:46 2:53 4:04 1:58 3:45 4:16
35 Simon Wery 🇧🇪 BEL13th of 72 aged 25-29 25-29 1:05:28 8:55 31:00 29:54 4:38 4:06 3:19 5:00 2:59 4:08 1:35 3:44 5:03
36 Nicky Verhoeven 🇳🇱 NED8th of 60 aged 35-39 35-39 1:06:10 9:37 29:26 32:00 4:49 3:50 3:12 5:20 3:04 4:09 2:01 3:51 6:33
37 Franz Löschke 🇩🇪 GER9th of 60 aged 35-39 35-39 1:06:11 9:38 28:56 32:17 5:03 3:51 4:02 5:13 4:06 4:25 1:33 3:45 5:22
38 Reynaldo Latinne 🇧🇪 BEL14th of 86 aged 30-34 30-34 1:06:30 9:57 30:54 30:27 5:14 3:53 2:58 4:39 3:36 4:18 1:33 3:59 5:31
39 Jordi Fuhler 🇳🇱 NED14th of 72 aged 25-29 25-29 1:06:32 9:59 30:49 30:29 5:17 4:00 2:43 4:33 2:41 4:13 1:44 3:29 7:06
40 Alby Blokdijk 🇳🇱 NED3rd of 28 aged 16-24 16-24 1:06:35 10:02 33:41 28:03 4:55 3:54 2:23 5:13 3:08 4:11 1:33 3:40 4:01
41 Joey Seetsen 🇳🇱 NED15th of 72 aged 25-29 25-29 1:06:36 10:03 31:47 30:02 4:51 3:58 3:10 4:19 3:26 4:18 1:44 3:42 5:25
42 Jordi Rossello Knabe 🇪🇸 ESP15th of 86 aged 30-34 30-34 1:06:48 10:15 31:31 30:18 5:03 3:58 3:17 4:58 3:49 4:09 1:51 4:06 4:10
43 Bram Rhebergen 🇳🇱 NED10th of 60 aged 35-39 35-39 1:06:52 10:19 30:43 31:23 4:51 3:49 2:42 4:22 3:04 4:19 1:38 4:21 7:08
44 Thomas Konieczkowicz 🇫🇷 FRA16th of 86 aged 30-34 30-34 1:06:54 10:21 30:50 31:17 4:52 4:13 2:39 4:34 3:57 4:02 1:41 4:25 5:46
45 Martyn Paterson 🇬🇧 GBR17th of 86 aged 30-34 30-34 1:07:09 10:36 28:33 34:04 4:37 4:25 3:34 4:53 3:03 4:19 2:00 4:11 7:39
46 William Higham 🇬🇧 GBR16th of 72 aged 25-29 25-29 1:07:25 10:52 32:02 30:37 4:51 4:09 2:57 4:25 3:36 4:12 1:51 4:26 5:01
47 Nick van Ommen 🇳🇱 NED18th of 86 aged 30-34 30-34 1:07:28 10:55 30:25 32:11 4:57 4:02 2:36 5:09 4:03 4:16 1:42 4:08 6:15
48 Nicky van Osselaer 🇧🇪 BEL19th of 86 aged 30-34 30-34 1:07:31 10:58 29:51 32:41 5:03 3:54 3:15 4:44 3:16 4:10 2:18 4:07 6:57
49 Savo Hertig 🇨🇭 SUI1st of 31 aged 40-44 40-44 1:08:07 11:34 31:59 30:47 5:26 3:49 2:16 4:42 4:12 4:15 1:34 4:54 5:05
50 Jack Lawrence 🇬🇧 GBR17th of 72 aged 25-29 25-29 1:08:20 11:47 32:52 30:03 5:30 4:02 2:47 4:04 2:36 4:11 2:09 3:32 6:42
51 Yannick de Vliegere 🇳🇱 NED20th of 86 aged 30-34 30-34 1:08:27 11:54 30:29 32:34 5:28 3:54 3:04 4:36 3:32 4:26 2:04 4:14 6:44
52 Roman van Eijk 🇳🇱 NED18th of 72 aged 25-29 25-29 1:08:33 12:00 30:34 32:56 5:08 4:08 2:48 5:09 3:38 4:27 1:36 4:49 6:21
53 Lukas Storath 🇩🇪 GER1st of 21 aged 45-49 45-49 1:08:39 12:06 30:28 32:56 5:20 3:49 3:02 4:33 2:47 4:12 1:44 4:18 8:31
54 Troy Pannett 🇬🇧 GBR19th of 72 aged 25-29 25-29 1:09:06 12:33 31:40 32:33 4:59 4:17 2:53 4:32 3:23 4:21 1:51 3:58 7:18
55 Kent Aktas 🇳🇱 NED4th of 28 aged 16-24 16-24 1:09:17 12:44 32:37 31:32 5:14 4:06 3:08 4:57 3:17 4:30 1:41 3:52 6:01
56 Roman Hopp 🇩🇪 GER2nd of 31 aged 40-44 40-44 1:09:39 13:06 30:54 33:21 5:29 4:20 3:09 5:21 3:47 4:28 1:52 4:29 5:55
57 Chris Stienenbos 🇳🇱 NED20th of 72 aged 25-29 25-29 1:09:46 13:13 31:48 32:49 5:15 4:00 2:42 4:43 4:52 4:18 2:09 4:15 5:50
58 Unay Casquero Dominguez 🇪🇸 ESP11th of 60 aged 35-39 35-39 1:10:02 13:29 34:24 29:43 5:59 4:06 2:43 4:28 2:56 4:21 1:47 4:18 5:04
59 Olivier Frensch 🇧🇪 BEL21st of 86 aged 30-34 30-34 1:10:12 13:39 32:46 32:35 4:56 3:58 2:44 5:16 4:31 4:19 1:36 3:55 6:16
60 Jon Ander Obeso 🇪🇸 ESP21st of 72 aged 25-29 25-29 1:10:16 13:43 33:08 31:54 5:20 4:12 3:04 5:21 3:21 4:15 2:31 4:09 5:01
61 Mark Sullivan 🇬🇧 GBR22nd of 72 aged 25-29 25-29 1:10:22 13:49 30:40 34:36 5:11 3:56 2:43 5:33 3:41 4:35 1:55 4:43 7:30
62 Wilbert Jansen 🇳🇱 NED22nd of 86 aged 30-34 30-34 1:10:24 13:51 30:25 35:00 5:02 4:11 3:11 5:22 3:36 4:21 1:48 4:20 8:11
63 Vincent Veth 🇳🇱 NED23rd of 72 aged 25-29 25-29 1:10:27 13:54 30:54 34:14 5:24 3:59 2:31 5:11 3:26 4:13 2:03 3:32 9:19
64 Fabian Wesemann 🇩🇪 GER24th of 72 aged 25-29 25-29 1:10:39 14:06 32:48 32:52 5:02 4:03 2:52 5:01 3:27 4:17 1:21 4:28 7:23
65 Sven Geens 🇧🇪 BEL23rd of 86 aged 30-34 30-34 1:10:48 14:15 36:02 29:12 5:38 3:56 3:02 4:25 3:30 4:10 1:44 3:45 4:40
66 Bram van Tongeren 🇳🇱 NED12th of 60 aged 35-39 35-39 1:11:02 14:29 34:40 30:53 5:33 3:59 3:07 5:07 3:50 4:15 1:48 4:03 4:44
67 Sacha Legrand 🇧🇪 BEL24th of 86 aged 30-34 30-34 1:11:54 15:21 32:56 33:23 5:38 3:58 2:52 5:12 4:15 4:14 1:48 4:54 6:10
68 Guido Heerink 🇳🇱 NED13th of 60 aged 35-39 35-39 1:11:55 15:22 33:32 32:24 6:04 4:06 3:07 5:33 3:35 4:32 1:49 4:37 5:05
69 Andrei Logvinenko 🇳🇱 NED25th of 86 aged 30-34 30-34 1:11:59 15:26 35:48 30:14 6:02 3:54 2:14 4:38 4:06 4:14 1:37 4:24 5:07
70 Dennis Kneepkens 🇳🇱 NED3rd of 31 aged 40-44 40-44 1:12:31 15:58 33:37 33:19 5:39 3:48 2:42 6:28 4:23 4:26 1:42 4:32 5:18
71 Giovanni van Drunen 🇳🇱 NED25th of 72 aged 25-29 25-29 1:12:33 16:00 33:27 33:33 5:38 4:01 3:01 5:19 4:07 4:17 1:39 5:42 5:27
72 Jsa van Baaren 🇳🇱 NED5th of 28 aged 16-24 16-24 1:12:34 16:01 34:02 32:49 5:49 4:07 2:57 4:59 3:18 4:24 1:54 3:48 7:22
73 Gil Nicola 🇱🇺 LUX14th of 60 aged 35-39 35-39 1:12:35 16:02 33:47 33:14 5:39 4:02 2:47 5:47 3:28 4:11 1:28 4:15 7:16
74 Albrecht Seltmann 🇩🇪 GER26th of 86 aged 30-34 30-34 1:12:36 16:03 34:25 33:00 5:16 4:10 2:42 4:30 4:13 4:19 1:52 4:54 6:20
75 Stefan Bongers 🇳🇱 NED27th of 86 aged 30-34 30-34 1:12:37 16:04 34:12 32:55 5:34 3:59 2:54 4:47 3:42 4:10 2:22 4:41 6:20
76 Sjors van Eck 🇳🇱 NED28th of 86 aged 30-34 30-34 1:12:46 16:13 33:23 33:54 5:33 4:06 2:24 5:03 4:36 4:34 2:49 4:19 6:03
77 Stijn Dijksterhuis 🇳🇱 NED15th of 60 aged 35-39 35-39 1:12:51 16:18 35:31 32:08 5:16 4:11 3:24 4:37 3:40 4:12 1:30 4:04 6:30
78 Lode Lemmelijn 🇧🇪 BEL26th of 72 aged 25-29 25-29 1:12:51 16:18 34:18 32:46 5:52 3:45 2:14 4:44 3:33 3:59 1:58 3:49 8:44
79 Jeroen Visser 🇳🇱 NED16th of 60 aged 35-39 35-39 1:12:51 16:18 33:17 33:41 5:56 4:13 2:40 4:19 3:41 4:30 1:59 4:49 7:30
80 Leroy de Graaff 🇳🇱 NED27th of 72 aged 25-29 25-29 1:13:12 16:39 32:49 35:17 5:11 4:14 3:07 4:57 3:24 4:29 2:43 3:39 8:44
81 Guido van Els 🇳🇱 NED4th of 31 aged 40-44 40-44 1:13:14 16:41 33:00 34:27 5:51 3:57 3:01 5:19 3:55 4:19 2:03 5:04 6:49
82 Martijn Schohaus 🇳🇱 NED2nd of 21 aged 45-49 45-49 1:13:31 16:58 33:52 33:53 5:50 4:06 2:57 4:49 5:22 4:31 1:44 4:57 5:27
83 Thomas Antonicelli 🇫🇷 FRA28th of 72 aged 25-29 25-29 1:13:41 17:08 32:32 35:33 5:40 4:10 2:42 5:49 3:51 4:28 2:17 4:28 7:48
84 Boy van Erp 🇳🇱 NED6th of 28 aged 16-24 16-24 1:13:43 17:10 32:43 36:00 5:02 4:04 2:50 5:46 4:56 4:19 2:46 5:04 6:15
85 Raimond Huiszoon 🇳🇱 NED29th of 86 aged 30-34 30-34 1:13:53 17:20 32:57 34:58 6:02 4:01 3:23 5:00 3:34 4:34 2:03 4:22 8:01
86 Rober van der Zanden 🇳🇱 NED3rd of 21 aged 45-49 45-49 1:13:54 17:21 32:23 35:40 5:56 4:03 3:19 7:04 4:33 4:31 1:51 4:46 5:33
87 Arthur Verzellenberg 🇳🇱 NED7th of 28 aged 16-24 16-24 1:14:28 17:55 35:30 32:18 6:45 4:22 2:39 5:37 3:28 4:24 1:43 4:33 5:32
88 Dave Agterhof 🇳🇱 NED29th of 72 aged 25-29 25-29 1:14:43 18:10 33:36 35:25 5:46 4:07 3:03 5:03 4:06 4:20 1:43 5:26 7:37
89 Daan Overbosch 🇳🇱 NED30th of 72 aged 25-29 25-29 1:14:52 18:19 33:47 34:12 6:58 4:14 3:29 5:01 3:29 4:24 1:41 4:30 7:24
90 Leon Berfelde 🇩🇪 GER31st of 72 aged 25-29 25-29 1:14:58 18:25 34:38 33:43 6:41 3:59 3:09 5:35 4:57 4:27 1:34 4:09 5:53
91 Baltasar Santos 🇵🇹 POR8th of 28 aged 16-24 16-24 1:14:59 18:26 33:28 35:42 5:53 4:06 3:37 5:44 4:23 4:30 1:45 5:17 6:20
92 Kenny Michalik 🇧🇪 BEL32nd of 72 aged 25-29 25-29 1:15:16 18:43 35:33 33:55 5:54 3:57 2:51 5:20 4:17 4:26 1:40 4:57 6:27
93 Charles Glorieux 🇧🇪 BEL30th of 86 aged 30-34 30-34 1:15:18 18:45 37:35 31:41 6:05 4:00 2:16 4:58 4:02 4:29 2:16 3:59 5:41
94 Tom Mayer 🇫🇷 FRA33rd of 72 aged 25-29 25-29 1:15:45 19:12 33:06 36:57 5:47 4:19 3:39 5:21 4:55 4:37 2:19 4:53 6:54
95 Erben Wennemars 🇳🇱 NED4th of 21 aged 45-49 45-49 1:15:51 19:18 32:21 38:00 5:34 3:56 2:10 4:48 4:26 4:10 2:37 3:40 12:13
96 Leo Sauer 🇩🇪 GER34th of 72 aged 25-29 25-29 1:16:01 19:28 35:42 34:40 5:45 4:07 3:01 4:49 4:48 4:27 2:17 4:33 6:38
97 Max Feteler 🇱🇺 LUX31st of 86 aged 30-34 30-34 1:16:03 19:30 33:36 36:20 6:12 4:12 3:14 7:09 4:37 4:31 2:12 4:21 6:04
98 Stijn Stevens 🇳🇱 NED32nd of 86 aged 30-34 30-34 1:16:07 19:34 34:04 36:24 5:42 4:05 3:34 5:31 4:55 4:26 2:10 5:08 6:35
99 Julian Wesseling 🇩🇪 GER17th of 60 aged 35-39 35-39 1:16:09 19:36 36:14 34:13 5:46 4:05 3:26 5:16 3:50 4:23 1:41 4:38 6:54
100 Maxime Andrien 🇧🇪 BEL33rd of 86 aged 30-34 30-34 1:16:16 19:43 37:08 33:07 6:08 4:16 3:05 5:07 3:53 4:25 1:43 4:15 6:23
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