HYROX Stuttgart 2025: Pro Men results

340 finishers on 1 Nov 2025. Typical finish 1:20:17, fastest 10% under 1:02:50. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Tim Wenisch 🇩🇪 GER1st of 65 aged 25-29 25-29 54:21 25:15 23:36 5:34 3:39 2:14 3:23 2:21 3:55 1:27 2:56 3:41
2 Sean Noble 🇮🇪 IRL2nd of 65 aged 25-29 25-29 54:45 0:24 25:30 23:34 5:47 3:50 2:17 3:06 2:36 3:58 1:15 3:00 3:32
3 Liam McCroary 🇬🇧 GBR3rd of 65 aged 25-29 25-29 55:49 1:28 25:37 24:50 5:26 3:58 2:37 3:27 2:18 3:55 1:33 3:12 3:50
4 Alen Ploj 🇸🇮 SLO1st of 87 aged 30-34 30-34 55:58 1:37 26:24 23:38 6:01 3:48 2:21 3:14 2:30 3:57 1:24 2:56 3:28
5 Graham Halliday SCO2nd of 87 aged 30-34 30-34 56:07 1:46 26:03 24:29 5:39 3:53 2:31 3:26 2:44 4:01 1:34 2:39 3:41
6 Jake Dearden 🇬🇧 GBR4th of 65 aged 25-29 25-29 56:27 2:06 26:19 24:32 5:40 3:43 2:51 3:29 2:18 3:53 1:32 3:05 3:41
7 Pablo Sánchez Santos 🇪🇸 ESP3rd of 87 aged 30-34 30-34 56:28 2:07 — 26:02 5:52 3:57 2:52 3:38 2:28 3:35 1:37 3:05 4:50
8 Maarten Enthoven 🇳🇱 NED5th of 65 aged 25-29 25-29 56:34 2:13 25:58 24:56 5:46 3:53 2:17 3:15 3:03 3:54 1:23 3:17 3:54
9 Louis Osselaer 🇧🇪 BEL4th of 87 aged 30-34 30-34 56:41 2:20 26:44 24:26 5:36 3:48 2:12 3:18 2:37 4:03 1:33 2:52 4:03
10 Paul Weindl 🇩🇪 GER6th of 65 aged 25-29 25-29 56:58 2:37 26:03 25:02 5:57 3:47 2:20 3:25 2:37 4:01 1:30 3:09 4:13
11 Aitor Lizarazu Hormilla 🇪🇸 ESP5th of 87 aged 30-34 30-34 56:59 2:38 26:49 24:17 5:59 3:50 2:27 3:22 2:32 4:03 1:26 2:53 3:44
12 Sebastian Ifversen 🇩🇰 DEN7th of 65 aged 25-29 25-29 57:03 2:42 25:43 25:38 5:48 3:56 2:36 3:15 2:42 3:59 1:32 3:04 4:34
13 Philipp Wamser 🇩🇪 GER8th of 65 aged 25-29 25-29 57:09 2:48 26:45 24:47 5:40 3:53 2:24 3:26 2:42 4:01 1:36 3:01 3:44
14 Gustav Cordua 🇩🇰 DEN1st of 29 aged 16-24 16-24 57:32 3:11 26:09 26:04 5:23 3:51 2:24 3:44 2:38 3:52 1:31 3:22 4:42
15 Turker Alici 🇹🇷 TUR6th of 87 aged 30-34 30-34 58:14 3:53 28:29 23:35 6:15 3:50 2:03 3:21 2:21 3:59 1:26 3:06 3:29
16 Sam Schoeman 🇳🇱 NED2nd of 29 aged 16-24 16-24 58:17 3:56 27:15 25:09 5:58 3:54 2:46 3:39 2:40 4:04 1:41 2:54 3:31
17 Kieron White 🇮🇪 IRL9th of 65 aged 25-29 25-29 58:36 4:15 26:29 26:23 5:49 4:02 2:28 3:38 2:49 4:11 1:34 3:18 4:23
18 Domen Dornik 🇸🇮 SLO7th of 87 aged 30-34 30-34 58:40 4:19 26:44 25:57 6:04 3:47 2:36 4:03 2:43 3:55 1:37 3:10 4:06
19 Steve Pinau 🇫🇷 FRA1st of 76 aged 35-39 35-39 58:45 4:24 26:44 26:09 5:56 3:54 2:25 4:15 2:33 4:01 1:28 3:21 4:12
20 Jannik Czapla 🇩🇪 GER10th of 65 aged 25-29 25-29 59:02 4:41 26:38 26:10 6:18 3:47 2:40 3:40 3:09 4:05 1:33 3:11 4:05
21 Evan Galloway 🇬🇧 GBR8th of 87 aged 30-34 30-34 59:20 4:59 27:54 25:08 6:22 3:57 2:39 3:41 2:49 4:02 1:26 2:50 3:44
22 Ryan Waugh 🇬🇧 GBR9th of 87 aged 30-34 30-34 59:25 5:04 29:17 24:01 6:13 3:52 2:22 3:12 2:28 3:51 1:32 2:55 3:49
23 Fabian Eisenlauer 🇩🇪 GER10th of 87 aged 30-34 30-34 59:32 5:11 25:54 27:49 5:53 3:49 2:50 4:21 2:28 4:06 1:34 3:06 5:35
24 Franz Löschke 🇩🇪 GER2nd of 76 aged 35-39 35-39 59:52 5:31 25:53 27:56 6:08 3:51 2:27 3:37 2:47 4:06 1:41 3:13 6:14
25 Peter Schiller 🇩🇪 GER3rd of 76 aged 35-39 35-39 1:00:10 5:49 27:27 26:45 6:02 3:57 3:01 3:49 2:36 4:13 1:33 3:09 4:27
26 Jan-Niklas Friedrich 🇩🇪 GER11th of 65 aged 25-29 25-29 1:00:14 5:53 25:33 29:03 5:43 4:00 3:17 4:15 3:00 4:08 1:54 3:41 4:48
27 Pablo Valverde Reyes 🇪🇸 ESP11th of 87 aged 30-34 30-34 1:00:17 5:56 27:34 26:16 6:31 3:59 2:42 3:30 3:09 4:20 1:30 3:09 3:57
28 Rene Groinig 🇦🇹 AUT12th of 65 aged 25-29 25-29 1:00:42 6:21 27:21 27:42 5:44 3:55 2:48 3:38 3:07 4:05 1:42 3:48 4:39
29 Julian Kreutzer 🇦🇹 AUT13th of 65 aged 25-29 25-29 1:00:54 6:33 27:23 27:21 6:15 3:55 2:42 4:07 2:49 4:08 1:37 3:32 4:31
30 Dennis Gödde 🇩🇪 GER12th of 87 aged 30-34 30-34 1:01:30 7:09 27:18 28:07 6:11 4:02 2:43 4:06 2:37 4:10 1:40 3:23 5:26
31 Tilen Dorninger 🇦🇹 AUT3rd of 29 aged 16-24 16-24 1:01:51 7:30 26:33 29:07 6:17 3:52 3:01 4:05 3:17 4:04 1:47 3:40 5:21
32 Sander van Rooijen 🇳🇱 NED4th of 76 aged 35-39 35-39 1:02:06 7:45 25:47 30:37 5:47 4:05 3:13 4:45 3:00 4:09 1:35 3:59 5:51
33 Kristofer McSherry 🇬🇧 GBR13th of 87 aged 30-34 30-34 1:02:11 7:50 28:25 27:39 6:12 4:12 2:43 4:01 3:20 4:17 1:43 3:19 4:04
34 Lloyd Mulholland 🇬🇧 GBR14th of 87 aged 30-34 30-34 1:02:12 7:51 27:06 29:01 6:10 4:10 2:42 4:22 3:28 4:11 1:42 3:45 4:41
35 Tobias Kiefer 🇩🇪 GER15th of 87 aged 30-34 30-34 1:02:54 8:33 28:32 27:51 6:35 4:00 3:00 4:16 3:01 4:16 1:43 3:35 4:00
36 Niels Kinget 🇧🇪 BEL4th of 29 aged 16-24 16-24 1:02:58 8:37 28:31 28:17 6:15 4:06 3:14 3:48 3:07 4:20 1:30 3:39 4:33
37 Julien Hasse 🇩🇪 GER14th of 65 aged 25-29 25-29 1:03:43 9:22 29:39 27:27 6:41 4:05 2:27 3:59 3:01 4:10 1:40 3:29 4:36
38 Klemen Alič 🇸🇮 SLO16th of 87 aged 30-34 30-34 1:03:48 9:27 29:58 27:18 6:35 4:04 2:25 3:49 3:25 4:16 1:29 3:46 4:04
39 Christian Krauß 🇩🇪 GER1st of 28 aged 40-44 40-44 1:04:05 9:44 25:59 31:37 6:33 3:55 2:50 4:31 3:56 4:05 2:18 4:38 5:24
40 Gabriel Lichtenstein 🇩🇪 GER17th of 87 aged 30-34 30-34 1:04:12 9:51 29:37 28:23 6:17 4:06 2:34 4:17 2:56 4:04 1:28 3:46 5:12
41 Nico Krackl 🇩🇪 GER5th of 76 aged 35-39 35-39 1:04:22 10:01 28:21 29:30 6:34 3:58 2:42 4:14 3:02 4:11 1:46 3:41 5:56
42 Manuel Ziegler 🇩🇪 GER6th of 76 aged 35-39 35-39 1:04:24 10:03 29:50 27:53 6:46 4:02 2:20 3:54 2:57 4:08 2:03 3:24 5:05
43 Maxim Pruchnewski HYROX5th of 29 aged 16-24 16-24 1:04:32 10:11 29:52 28:04 6:41 3:57 2:51 4:14 3:00 4:08 1:55 3:26 4:33
44 Denis Toplak 🇸🇮 SLO7th of 76 aged 35-39 35-39 1:04:47 10:26 29:36 28:21 6:55 3:52 2:38 3:40 3:31 4:08 1:35 3:52 5:05
45 Antoine Flament 🇫🇷 FRA2nd of 28 aged 40-44 40-44 1:04:48 10:27 27:52 30:17 6:44 4:08 2:39 4:29 3:36 4:14 1:29 4:20 5:22
46 Alex Cannarozzo 🇫🇷 FRA6th of 29 aged 16-24 16-24 1:04:54 10:33 30:12 27:48 6:57 4:11 2:38 3:46 2:52 4:17 1:41 3:38 4:45
47 Kevin Forootan 🇫🇷 FRA18th of 87 aged 30-34 30-34 1:05:02 10:41 28:42 28:40 7:43 3:53 2:16 4:28 3:01 4:33 1:52 3:50 4:47
48 Zac Chennit 🇬🇧 GBR1st of 23 aged 45-49 45-49 1:05:03 10:42 29:40 28:24 7:03 4:13 2:39 4:21 3:19 4:20 1:48 3:20 4:24
49 Matej Brzovic 🇭🇷 CRO15th of 65 aged 25-29 25-29 1:05:14 10:53 30:12 28:34 6:33 3:59 2:28 4:11 3:27 4:08 1:41 3:35 5:05
50 Andrii Mazur 🇺🇦 UKR19th of 87 aged 30-34 30-34 1:05:41 11:20 30:24 28:03 7:20 4:07 2:45 4:16 3:27 4:00 1:35 3:31 4:22
51 Patrick Gayer 🇩🇪 GER3rd of 28 aged 40-44 40-44 1:05:42 11:21 28:50 30:46 6:11 4:04 3:29 4:13 3:43 4:18 1:56 3:40 5:23
52 Florian Brennecke 🇩🇪 GER8th of 76 aged 35-39 35-39 1:05:44 11:23 29:12 29:44 6:51 3:56 2:42 4:36 3:53 4:16 1:32 4:01 4:48
53 Reynaldo Latinne 🇧🇪 BEL20th of 87 aged 30-34 30-34 1:05:45 11:24 29:27 29:39 6:42 4:00 3:11 4:24 3:32 4:31 1:37 3:24 5:00
54 Felix Bierwirth 🇩🇪 GER21st of 87 aged 30-34 30-34 1:05:49 11:28 30:07 29:10 6:35 4:05 3:05 4:23 2:47 4:22 1:45 3:53 4:50
55 Markus Pütz 🇩🇪 GER2nd of 23 aged 45-49 45-49 1:06:04 11:43 29:59 28:58 7:13 3:53 3:02 4:42 3:03 4:00 1:30 3:59 4:49
56 Tobias Kaspar 🇩🇪 GER16th of 65 aged 25-29 25-29 1:06:17 11:56 29:57 29:45 6:40 3:58 2:56 4:49 2:53 4:10 1:42 4:09 5:08
57 Mick Daly 🇮🇪 IRL9th of 76 aged 35-39 35-39 1:06:28 12:07 29:11 31:08 6:15 4:07 3:00 4:35 3:01 4:18 1:44 4:22 6:01
58 Timo Tekolf 🇩🇪 GER22nd of 87 aged 30-34 30-34 1:06:30 12:09 29:31 30:00 7:02 4:03 3:07 4:37 2:54 4:24 1:35 3:47 5:33
59 Ashton du Plessis 🇿🇦 RSA23rd of 87 aged 30-34 30-34 1:06:40 12:19 31:10 28:59 6:36 4:13 2:54 3:48 3:10 4:14 1:49 4:07 4:44
60 Berthel Jakobsen 🇩🇰 DEN7th of 29 aged 16-24 16-24 1:06:42 12:21 29:06 30:53 6:46 4:17 2:50 5:08 3:00 4:27 2:16 3:47 5:08
61 Lukas Zajons 🇩🇪 GER24th of 87 aged 30-34 30-34 1:06:58 12:37 27:27 33:15 6:22 3:58 2:46 6:06 3:02 4:30 1:28 3:49 7:36
62 Nico Küttner 🇩🇪 GER17th of 65 aged 25-29 25-29 1:07:00 12:39 30:20 30:12 6:33 3:59 2:38 4:39 3:52 4:14 1:57 4:28 4:25
63 Marius Toborek 🇩🇪 GER4th of 28 aged 40-44 40-44 1:07:04 12:43 30:34 28:58 7:36 4:12 3:17 4:28 3:19 4:12 1:43 3:43 4:04
64 Joze Kojc 🇸🇮 SLO1st of 13 aged 55-59 55-59 1:07:12 12:51 30:41 29:29 7:06 4:05 2:30 4:01 2:58 4:09 1:39 3:38 6:29
65 Tobias Kienle 🇩🇪 GER25th of 87 aged 30-34 30-34 1:07:12 12:51 30:28 29:40 7:09 4:04 3:08 4:35 2:45 4:23 1:53 3:23 5:29
66 Jason Briscoe 🇨🇦 CAN3rd of 23 aged 45-49 45-49 1:07:19 12:58 29:12 31:26 6:47 4:11 3:09 4:54 3:13 4:13 1:25 4:29 5:52
67 Ralf Gärtner 🇩🇪 GER10th of 76 aged 35-39 35-39 1:07:32 13:11 30:39 30:16 6:41 4:01 2:57 4:26 3:25 4:10 1:41 3:52 5:44
68 Bram van Tongeren 🇳🇱 NED11th of 76 aged 35-39 35-39 1:07:36 13:15 31:23 29:22 6:55 4:02 3:15 4:28 3:39 4:09 1:39 3:33 4:37
69 Michel Barenschee 🇩🇪 GER18th of 65 aged 25-29 25-29 1:07:57 13:36 30:46 29:53 7:22 4:02 2:42 4:20 3:07 4:18 2:04 4:09 5:11
70 Niclas Krappmann 🇩🇪 GER8th of 29 aged 16-24 16-24 1:07:58 13:37 32:45 27:17 8:01 4:11 2:47 3:44 2:52 4:09 1:24 3:47 4:23
71 Mike Schifferle 🇨🇭 SUI1st of 15 aged 50-54 50-54 1:08:00 13:39 28:37 32:28 6:59 4:05 3:08 5:10 3:24 4:09 1:41 3:51 7:00
72 Dimitrije Glamocak 🇩🇪 GER26th of 87 aged 30-34 30-34 1:08:08 13:47 31:30 29:38 7:04 4:07 2:27 4:38 3:53 4:12 1:54 4:04 4:23
73 Albrecht Adams-Seltmann 🇩🇪 GER27th of 87 aged 30-34 30-34 1:08:11 13:50 30:53 30:25 6:56 4:02 2:59 4:11 3:25 4:11 1:58 4:24 5:15
74 David Pfahl 🇩🇪 GER28th of 87 aged 30-34 30-34 1:08:12 13:51 31:51 28:53 7:34 4:10 3:01 4:11 3:12 4:25 1:37 4:04 4:13
75 Michael Wawrzinek 🇩🇪 GER19th of 65 aged 25-29 25-29 1:08:19 13:58 29:24 31:35 7:25 4:10 3:16 4:46 3:43 4:23 1:52 4:11 5:14
76 Raphael Merkt 🇩🇪 GER29th of 87 aged 30-34 30-34 1:08:20 13:59 30:50 30:26 7:08 4:02 2:47 4:28 3:59 4:27 1:23 4:31 4:49
77 Aleksandar Zlatkov 🇦🇹 AUT30th of 87 aged 30-34 30-34 1:08:37 14:16 30:18 31:03 7:22 4:06 3:02 4:38 3:52 4:25 1:37 3:39 5:44
78 Konstantin Jünger 🇩🇪 GER12th of 76 aged 35-39 35-39 1:08:39 14:18 30:50 31:06 6:46 4:14 2:34 4:55 3:10 4:15 1:46 4:14 5:58
79 Rico Gumm 🇩🇪 GER20th of 65 aged 25-29 25-29 1:08:43 14:22 31:42 29:48 7:18 4:00 2:23 3:59 3:50 4:05 1:34 4:49 5:08
80 Harun Mehanovic 🇧🇦 BIH21st of 65 aged 25-29 25-29 1:08:43 14:22 30:29 31:37 6:42 4:07 2:49 4:09 3:49 4:22 2:02 4:07 6:12
81 Bilal Zola 🇩🇪 GER31st of 87 aged 30-34 30-34 1:08:53 14:32 31:51 30:13 6:53 3:52 3:09 4:34 4:27 4:05 1:25 4:18 4:23
82 Daniele Asietti 🇮🇹 ITA32nd of 87 aged 30-34 30-34 1:08:57 14:36 30:22 32:13 6:27 4:12 3:09 5:32 4:00 4:15 1:44 4:15 5:06
83 Matthias Bendler 🇩🇪 GER4th of 23 aged 45-49 45-49 1:09:03 14:42 33:32 28:08 7:27 4:01 3:06 3:44 3:35 4:09 1:37 3:46 4:10
84 Thomas Reuter 🇩🇪 GER5th of 28 aged 40-44 40-44 1:09:06 14:45 30:48 31:01 7:20 4:05 2:57 4:21 3:34 4:20 1:42 4:49 5:13
85 Dennis Sölle 🇩🇪 GER13th of 76 aged 35-39 35-39 1:09:13 14:52 31:18 29:57 8:02 3:54 2:45 3:54 3:29 4:22 1:36 3:38 6:19
86 Sandro Luca Lombardi 🇨🇭 SUI9th of 29 aged 16-24 16-24 1:09:22 15:01 31:17 31:06 7:03 4:06 2:25 4:24 3:09 4:15 1:45 4:30 6:32
87 Alexander Krieg 🇩🇪 GER33rd of 87 aged 30-34 30-34 1:09:31 15:10 30:59 31:15 7:22 3:50 2:27 4:51 3:14 4:12 2:16 4:43 5:42
88 Thomas Mayr 🇩🇪 GER6th of 28 aged 40-44 40-44 1:09:35 15:14 31:27 30:56 7:15 4:08 3:02 4:43 3:39 4:19 1:48 3:38 5:39
89 Quentin Sterley 🇫🇷 FRA14th of 76 aged 35-39 35-39 1:09:43 15:22 33:26 28:44 7:37 3:53 2:40 3:52 3:58 4:05 1:34 3:54 4:48
90 Bastian Byczok 🇩🇪 GER7th of 28 aged 40-44 40-44 1:09:47 15:26 30:28 32:26 6:57 4:18 3:03 4:24 3:43 4:26 1:57 4:28 6:07
91 Philipp Müller 🇩🇪 GER8th of 28 aged 40-44 40-44 1:09:51 15:30 28:45 33:16 7:55 4:21 2:41 4:59 4:15 4:32 2:06 4:06 6:16
92 Herkules Reimann 🇩🇪 GER5th of 23 aged 45-49 45-49 1:10:01 15:40 31:22 31:33 7:10 4:12 3:21 4:38 3:25 4:18 1:43 4:17 5:39
93 Julian Lehrer 🇩🇪 GER15th of 76 aged 35-39 35-39 1:10:35 16:14 30:22 33:00 7:16 3:59 3:06 4:53 3:15 4:20 1:43 4:22 7:22
94 Valentin Bruns 🇩🇪 GER16th of 76 aged 35-39 35-39 1:10:36 16:15 31:24 31:23 7:54 4:11 2:43 4:31 3:30 4:20 1:18 4:37 6:13
95 Matej Nekoranec 🇨🇿 CZE22nd of 65 aged 25-29 25-29 1:10:39 16:18 30:00 33:26 7:16 4:06 2:25 4:33 4:33 4:11 1:31 4:28 7:39
96 Eike Möller 🇩🇪 GER23rd of 65 aged 25-29 25-29 1:10:50 16:29 31:10 32:22 7:22 4:02 2:57 4:34 4:35 4:20 1:33 4:16 6:05
97 Evan Boyle 🇬🇧 GBR24th of 65 aged 25-29 25-29 1:11:08 16:47 30:19 33:21 7:32 4:09 2:43 4:41 3:59 4:22 2:35 4:13 6:39
98 Tim Budemann 🇩🇪 GER10th of 29 aged 16-24 16-24 1:11:11 16:50 30:51 32:54 7:29 4:03 2:48 4:30 3:58 4:26 2:02 3:52 7:15
99 Frank Reinhard 🇩🇪 GER6th of 23 aged 45-49 45-49 1:11:14 16:53 30:48 33:24 7:06 4:07 3:25 4:55 3:24 4:21 1:49 4:24 6:59
100 Markus Sztuka 🇦🇹 AUT34th of 87 aged 30-34 30-34 1:11:42 17:21 32:16 32:33 6:57 4:00 2:37 4:36 3:50 4:19 1:42 4:46 6:43
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