HYROX Stuttgart 2025: Open Men results

1,171 finishers on 1 Nov 2025. Typical finish 1:26:59, fastest 10% under 1:10:35. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Nik Kojc 🇸🇮 SLO1st of 217 aged 25-29 25-29 59:12 28:20 24:19 6:37 4:05 2:04 3:04 2:43 4:08 1:26 3:09 3:40
2 Marvin Thomas 🇩🇪 GER2nd of 217 aged 25-29 25-29 1:00:27 1:15 27:37 26:32 6:23 3:56 2:07 4:17 2:51 4:13 1:24 3:08 4:36
3 Rune Dallmann 🇩🇪 GER1st of 256 aged 35-39 35-39 1:00:36 1:24 27:01 27:58 5:41 4:03 2:16 3:27 3:22 4:16 1:47 3:43 5:04
4 Dimitris Balis 🇬🇷 GRE2nd of 256 aged 35-39 35-39 1:01:18 2:06 28:15 26:12 6:57 4:05 2:18 3:34 3:32 4:16 1:41 2:33 4:13
5 Sebastian Galneder 🇩🇪 GER3rd of 256 aged 35-39 35-39 1:01:22 2:10 28:11 26:51 6:26 3:40 2:09 3:08 3:56 4:09 1:24 3:39 4:46
6 Nuno Schollmayer 🇩🇪 GER1st of 76 aged 16-24 16-24 1:01:23 2:11 29:38 25:32 6:17 4:04 2:10 3:28 2:59 4:20 1:33 3:14 3:44
7 Davit Khublaryan 🇬🇧 GBR2nd of 76 aged 16-24 16-24 1:01:33 2:21 30:16 24:52 6:30 4:14 2:23 3:11 3:09 4:17 1:30 2:43 3:25
8 Burak Edis Emiroğlu 🇹🇷 TUR1st of 289 aged 30-34 30-34 1:01:50 2:38 28:07 26:47 7:01 4:24 2:33 3:44 2:29 4:18 1:39 3:13 4:27
9 Philipp Karg 🇩🇪 GER2nd of 289 aged 30-34 30-34 1:01:52 2:40 28:39 27:20 5:57 4:13 2:14 3:27 3:15 4:21 1:46 3:07 4:57
10 Fabian Schuster 🇦🇹 AUT3rd of 289 aged 30-34 30-34 1:01:54 2:42 29:25 26:25 6:09 4:15 2:00 3:18 3:15 4:17 1:36 3:13 4:31
11 Rok Kolarič 🇸🇮 SLO1st of 141 aged 40-44 40-44 1:02:06 2:54 29:23 26:03 6:45 4:02 2:10 3:07 3:19 4:12 1:32 3:28 4:13
12 Raimond Huiszoon 🇳🇱 NED4th of 289 aged 30-34 30-34 1:02:07 2:55 29:25 25:55 6:50 4:06 2:14 3:21 2:48 4:11 1:39 3:16 4:20
13 Fabio Schöggl 🇦🇹 AUT3rd of 76 aged 16-24 16-24 1:02:07 2:55 28:30 27:28 6:14 4:06 2:04 3:14 3:47 4:36 1:36 3:42 4:23
14 Thomas Clare 🇬🇧 GBR3rd of 217 aged 25-29 25-29 1:02:07 2:55 28:06 27:51 6:15 3:59 2:15 3:45 4:14 4:07 1:45 3:06 4:40
15 Robert May 🇩🇪 GER4th of 217 aged 25-29 25-29 1:02:11 2:59 29:18 26:24 6:34 4:04 2:24 3:19 3:20 4:10 1:46 3:08 4:13
16 Felix Swiczinsky 🇩🇪 GER2nd of 141 aged 40-44 40-44 1:02:31 3:19 28:36 27:48 6:11 3:59 2:02 3:24 3:45 4:19 1:35 3:45 4:59
17 Martin Kapicak 🇸🇰 SVK4th of 76 aged 16-24 16-24 1:02:47 3:35 29:35 26:34 6:43 4:03 2:04 3:06 2:46 4:12 1:41 3:26 5:16
18 Josip Jelic 🇭🇷 CRO5th of 289 aged 30-34 30-34 1:03:08 3:56 28:56 27:31 6:45 4:17 2:13 3:23 3:24 4:11 1:30 3:24 5:09
19 Max Feteler 🇱🇺 LUX6th of 289 aged 30-34 30-34 1:03:14 4:02 29:46 26:51 6:40 4:20 2:22 3:53 3:20 4:26 1:47 3:01 3:42
20 Fabian Linden 🇩🇪 GER7th of 289 aged 30-34 30-34 1:03:37 4:25 28:38 28:52 6:13 4:01 2:19 3:44 3:57 4:18 1:49 3:25 5:19
21 Mehdi Zaghbani 🇫🇷 FRA4th of 256 aged 35-39 35-39 1:03:50 4:38 29:06 28:09 6:40 4:40 2:07 3:24 3:34 4:19 1:49 3:54 4:22
22 Steffen Dachtler 🇩🇪 GER5th of 256 aged 35-39 35-39 1:03:57 4:45 30:00 27:28 6:33 4:04 2:32 3:35 3:52 4:24 1:19 3:19 4:23
23 Max Vogeley 🇩🇪 GER5th of 217 aged 25-29 25-29 1:04:04 4:52 30:56 26:24 6:48 4:11 2:09 3:30 3:09 4:07 1:39 3:11 4:28
24 Jože Kojc 🇸🇮 SLO1st of 36 aged 55-59 55-59 1:04:19 5:07 33:19 23:39 7:26 4:20 2:05 2:46 — 4:18 1:28 3:15 3:43
25 David Bergmann 🇩🇪 GER5th of 76 aged 16-24 16-24 1:04:26 5:14 30:29 26:55 7:07 4:08 1:55 3:13 3:35 4:08 1:28 4:01 4:27
26 Fabian Wesemann 🇩🇪 GER6th of 217 aged 25-29 25-29 1:04:35 5:23 30:11 27:50 6:39 4:12 2:13 3:38 3:55 4:21 1:18 3:29 4:44
27 James Fleming 🇬🇧 GBR6th of 256 aged 35-39 35-39 1:04:39 5:27 28:57 28:55 6:51 4:19 2:31 3:41 3:25 4:33 1:44 4:10 4:32
28 John Geiger 🇩🇪 GER7th of 256 aged 35-39 35-39 1:04:45 5:33 31:05 27:00 6:44 4:15 2:52 3:50 3:29 4:23 1:17 3:24 3:30
29 Lukas Kleczek 🇵🇱 POL8th of 289 aged 30-34 30-34 1:04:50 5:38 28:57 29:03 6:55 4:11 2:11 3:42 3:35 4:08 1:35 4:13 5:28
30 Felix Limbach 🇩🇪 GER6th of 76 aged 16-24 16-24 1:04:55 5:43 28:47 29:55 6:18 4:23 2:12 3:33 3:32 4:30 1:51 4:25 5:29
31 Floris van Drunen 🇳🇱 NED9th of 289 aged 30-34 30-34 1:04:58 5:46 27:26 31:22 6:15 4:17 2:08 4:07 3:32 4:16 1:43 3:46 7:33
32 Renning Elischer 🇩🇪 GER10th of 289 aged 30-34 30-34 1:05:14 6:02 26:39 32:23 6:16 3:55 2:19 4:01 4:30 4:24 2:35 3:30 7:09
33 Daniel Endres 🇩🇪 GER11th of 289 aged 30-34 30-34 1:05:22 6:10 30:20 28:45 6:23 3:58 2:11 3:08 4:19 4:14 1:35 4:10 5:10
34 Pascal Mittermeier 🇩🇪 GER7th of 217 aged 25-29 25-29 1:05:25 6:13 30:27 28:20 6:42 4:00 2:14 3:51 4:17 4:20 1:34 3:22 4:42
35 Maxime Fallot 🇫🇷 FRA7th of 76 aged 16-24 16-24 1:05:29 6:17 30:00 28:04 7:29 4:15 2:34 3:43 3:06 4:35 1:42 3:13 4:56
36 William Boirat 🇫🇷 FRA3rd of 141 aged 40-44 40-44 1:05:30 6:18 29:56 28:37 7:01 4:13 2:29 4:00 2:54 4:24 1:55 3:33 5:09
37 Michael Cooke 🇬🇧 GBR8th of 217 aged 25-29 25-29 1:05:31 6:19 29:11 29:59 6:27 4:19 2:25 3:48 3:42 4:36 1:37 3:54 5:38
38 Cédric Freyss 🇫🇷 FRA4th of 141 aged 40-44 40-44 1:05:44 6:32 31:21 27:19 7:10 4:08 2:10 4:09 2:56 4:13 1:39 3:29 4:35
39 Kevin Keller 🇩🇪 GER12th of 289 aged 30-34 30-34 1:05:47 6:35 32:49 25:51 7:11 4:07 2:00 3:07 3:34 4:13 1:35 2:45 4:30
40 Constantin Rieger 🇩🇪 GER9th of 217 aged 25-29 25-29 1:05:51 6:39 29:29 30:01 6:26 4:14 2:09 3:53 4:25 4:26 1:33 3:47 5:34
41 Pierre Feret 🇫🇷 FRA8th of 256 aged 35-39 35-39 1:05:57 6:45 31:28 27:31 7:03 3:58 2:28 3:16 3:42 4:13 1:37 3:43 4:34
42 Peter Roberts 🇬🇧 GBR13th of 289 aged 30-34 30-34 1:05:58 6:46 31:08 27:56 6:59 4:29 2:21 3:38 3:14 4:16 1:36 3:19 5:03
43 Christopher Tebbe 🇩🇪 GER10th of 217 aged 25-29 25-29 1:06:10 6:58 30:41 28:55 6:38 4:10 2:37 3:02 4:12 4:22 1:49 3:47 4:56
44 Simon Pfister 🇫🇷 FRA14th of 289 aged 30-34 30-34 1:06:12 7:00 30:39 28:24 7:12 4:14 2:17 3:50 3:24 4:30 1:45 3:14 5:10
45 Tino Hager 🇩🇪 GER9th of 256 aged 35-39 35-39 1:06:16 7:04 30:44 28:35 7:02 4:04 2:11 3:22 4:17 4:15 1:44 3:46 4:56
46 Lukas Mayer 🇩🇪 GER10th of 256 aged 35-39 35-39 1:06:22 7:10 31:03 28:38 6:47 4:13 2:07 3:21 3:36 4:24 1:50 4:12 4:55
47 Ingmar Sommerfeld 🇩🇪 GER15th of 289 aged 30-34 30-34 1:06:32 7:20 32:05 27:47 6:46 4:19 2:04 3:19 4:04 4:30 1:28 3:29 4:34
48 Manuel Tüngler 🇩🇪 GER11th of 217 aged 25-29 25-29 1:06:51 7:39 31:28 28:28 6:58 3:58 1:52 3:03 3:49 4:16 1:36 3:49 6:05
49 Roman Hopp 🇩🇪 GER5th of 141 aged 40-44 40-44 1:07:08 7:56 29:53 30:05 7:16 4:19 2:47 3:34 3:47 4:36 1:43 3:58 5:21
50 Volker Nitzsche 🇩🇪 GER6th of 141 aged 40-44 40-44 1:07:09 7:57 30:16 30:20 6:37 4:10 2:24 4:07 4:14 4:21 1:55 3:36 5:33
51 Dominic Schmidt 🇩🇪 GER12th of 217 aged 25-29 25-29 1:07:15 8:03 31:08 28:47 7:24 3:51 1:53 3:38 3:59 4:17 1:42 4:17 5:10
52 Daniel Widjaja 🇨🇭 SUI7th of 141 aged 40-44 40-44 1:07:16 8:04 31:14 28:52 7:14 4:23 2:30 3:54 3:24 4:20 1:43 3:58 4:40
53 Jens Rechmann 🇩🇪 GER13th of 217 aged 25-29 25-29 1:07:21 8:09 30:39 30:18 6:29 4:20 2:07 3:29 3:33 4:29 1:54 4:04 6:22
54 Michael Geiß 🇩🇪 GER1st of 99 aged 45-49 45-49 1:07:26 8:14 29:39 29:50 8:00 4:07 2:00 4:10 4:15 4:19 1:24 3:57 5:38
55 Gary Duclermortier 🇫🇷 FRA8th of 141 aged 40-44 40-44 1:07:36 8:24 30:44 29:50 7:07 4:07 1:54 3:46 4:24 4:19 1:31 3:32 6:17
56 Thaddäus Jechalik 🇩🇪 GER8th of 76 aged 16-24 16-24 1:07:37 8:25 30:55 28:49 7:57 4:05 2:08 3:35 4:20 4:22 1:42 4:13 4:24
57 Malik Alfousseni 🇩🇪 GER9th of 76 aged 16-24 16-24 1:07:38 8:26 29:43 30:48 7:11 4:21 2:08 3:54 3:51 4:30 2:02 3:37 6:25
58 Lasse Pips 🇦🇹 AUT14th of 217 aged 25-29 25-29 1:07:40 8:28 31:11 29:00 7:35 4:08 2:48 3:40 4:19 4:25 1:32 3:41 4:27
59 James Albert Beale 🇿🇦 RSA15th of 217 aged 25-29 25-29 1:07:45 8:33 30:15 30:36 7:00 4:16 2:27 3:43 3:47 4:14 1:32 4:32 6:05
60 Mika Radeck 🇩🇪 GER16th of 217 aged 25-29 25-29 1:07:54 8:42 30:41 30:24 6:54 4:09 2:20 4:13 4:01 4:29 1:47 4:35 4:50
61 Benjamin Zeller 🇩🇪 GER9th of 141 aged 40-44 40-44 1:08:01 8:49 30:27 30:48 6:52 4:07 2:29 3:59 4:21 4:18 1:24 4:38 5:32
62 Neil Speaight 🇩🇪 GER2nd of 99 aged 45-49 45-49 1:08:17 9:05 29:06 31:36 7:38 4:08 2:09 4:17 4:49 4:32 1:34 4:53 5:14
63 Paul Hadler 🇩🇪 GER10th of 76 aged 16-24 16-24 1:08:18 9:06 31:14 30:09 7:00 4:20 2:38 3:38 4:19 4:16 1:58 4:32 4:28
64 Jannik Feilner 🇩🇪 GER17th of 217 aged 25-29 25-29 1:08:21 9:09 31:39 29:13 7:33 4:20 2:28 3:45 4:09 4:34 1:50 3:36 4:31
65 Steven Siegel 🇨🇭 SUI16th of 289 aged 30-34 30-34 1:08:22 9:10 32:35 28:55 6:58 4:20 1:54 3:58 3:49 4:26 1:39 4:18 4:31
66 Sebastian Schmitz 🇩🇪 GER10th of 141 aged 40-44 40-44 1:08:25 9:13 30:16 31:19 6:53 4:06 2:41 4:24 4:57 4:28 1:25 4:26 4:52
67 David Weber 🇩🇪 GER11th of 141 aged 40-44 40-44 1:08:27 9:15 30:19 31:01 7:10 4:12 2:31 5:01 4:01 4:46 1:21 3:58 5:11
68 George Nash 🇬🇧 GBR11th of 256 aged 35-39 35-39 1:08:29 9:17 31:11 30:36 6:47 4:29 2:33 3:58 4:20 4:52 1:34 3:25 5:25
69 Marco Seibert 🇩🇪 GER17th of 289 aged 30-34 30-34 1:08:30 9:18 30:28 30:22 7:45 4:05 1:54 4:06 4:08 4:11 1:57 4:25 5:36
70 Thorsten Eickert 🇩🇪 GER12th of 141 aged 40-44 40-44 1:08:30 9:18 30:43 30:52 6:59 4:29 2:09 3:55 3:58 4:25 1:49 4:13 5:54
71 Felix Frank 🇩🇪 GER18th of 289 aged 30-34 30-34 1:08:31 9:19 30:42 30:52 7:01 4:14 2:42 3:51 4:25 4:35 1:46 4:14 5:05
72 Kilian Werner 🇩🇪 GER18th of 217 aged 25-29 25-29 1:08:32 9:20 32:16 28:58 7:24 4:11 2:09 3:55 3:44 4:24 1:52 3:54 4:49
73 Stefan Roduner 🇨🇭 SUI3rd of 99 aged 45-49 45-49 1:08:32 9:20 30:16 29:42 8:39 4:01 2:36 3:46 4:39 4:19 1:46 4:04 4:31
74 Leonard-Heinrich Verbree 🇩🇪 GER19th of 217 aged 25-29 25-29 1:08:33 9:21 30:05 31:07 7:26 4:08 2:23 4:16 4:44 4:42 1:49 4:09 4:56
75 David Savioz 🇨🇭 SUI12th of 256 aged 35-39 35-39 1:08:34 9:22 35:29 26:57 6:10 4:17 2:00 3:33 3:53 4:11 1:28 2:58 4:37
76 Emanuel Aregger 🇨🇭 SUI13th of 256 aged 35-39 35-39 1:08:38 9:26 31:15 29:35 7:52 4:05 2:13 4:20 4:13 4:13 1:32 4:36 4:23
77 Simon Rabeder 🇦🇹 AUT20th of 217 aged 25-29 25-29 1:08:38 9:26 30:32 30:12 7:58 4:18 2:28 3:36 3:46 4:48 1:44 3:59 5:33
78 George Irwin 🇬🇧 GBR19th of 289 aged 30-34 30-34 1:08:40 9:28 30:52 31:02 6:49 4:20 2:49 3:40 4:09 4:33 1:50 4:02 5:39
79 Tomaž Gojčič 🇸🇮 SLO21st of 217 aged 25-29 25-29 1:08:48 9:36 31:25 30:46 6:42 4:13 2:20 3:16 3:21 4:22 1:49 3:09 8:16
80 Pascal Michels 🇩🇪 GER20th of 289 aged 30-34 30-34 1:08:56 9:44 32:41 28:37 7:41 4:11 2:20 3:23 3:17 4:35 1:34 3:39 5:38
81 Victor Manuel Ribeiro Goncalves 🇵🇹 POR13th of 141 aged 40-44 40-44 1:09:00 9:48 30:24 32:10 6:32 4:18 1:54 4:22 4:49 4:34 1:50 3:34 6:49
82 Benjamin Baumann 🇩🇪 GER14th of 256 aged 35-39 35-39 1:09:02 9:50 31:13 30:48 7:07 4:07 3:06 3:48 4:15 4:18 1:43 3:37 5:54
83 Pascal Ryser 🇨🇭 SUI22nd of 217 aged 25-29 25-29 1:09:04 9:52 31:41 29:41 7:47 4:23 2:14 3:48 3:58 4:04 1:57 4:13 5:04
84 Fabian Hohmann 🇩🇪 GER11th of 76 aged 16-24 16-24 1:09:15 10:03 30:53 31:03 7:22 4:14 2:26 4:21 3:58 4:26 2:07 4:20 5:11
85 Aleksander Hriberšek 🇸🇮 SLO23rd of 217 aged 25-29 25-29 1:09:17 10:05 34:03 27:07 8:12 4:00 1:52 3:26 3:25 4:14 1:35 4:10 4:25
86 Iker Cebrián Aparisi 🇪🇸 ESP12th of 76 aged 16-24 16-24 1:09:17 10:05 31:20 31:00 7:03 4:10 2:21 4:26 4:28 4:22 1:50 3:26 5:57
87 Peter Gronotte 🇩🇪 GER13th of 76 aged 16-24 16-24 1:09:21 10:09 33:27 28:13 7:47 4:13 1:59 3:48 3:38 4:24 1:51 3:25 4:55
88 Maxime Laurent 🇫🇷 FRA21st of 289 aged 30-34 30-34 1:09:21 10:09 29:51 32:00 7:35 4:14 2:56 3:57 4:05 4:31 2:01 4:31 5:45
89 Dario Bott 🇩🇪 GER22nd of 289 aged 30-34 30-34 1:09:24 10:12 30:39 31:37 7:12 4:25 2:40 4:13 4:34 4:40 1:16 4:09 5:40
90 Christoph Stix 🇦🇹 AUT14th of 141 aged 40-44 40-44 1:09:25 10:13 30:07 31:30 7:50 4:26 2:33 4:09 3:42 4:55 1:49 4:58 4:58
91 Dylan Ribeiro Ralha 🇵🇹 POR24th of 217 aged 25-29 25-29 1:09:26 10:14 32:17 29:53 7:21 4:29 2:26 3:44 3:37 4:38 1:40 4:00 5:19
92 Diogo Dinis Martins 🇩🇪 GER14th of 76 aged 16-24 16-24 1:09:27 10:15 30:51 31:40 7:02 4:25 2:36 4:17 4:03 4:40 2:03 3:46 5:50
93 Fabian Ziegler 🇩🇪 GER23rd of 289 aged 30-34 30-34 1:09:29 10:17 33:34 28:27 7:33 4:00 1:32 3:43 4:43 4:24 1:43 3:21 5:01
94 Jannik Eggs 🇩🇪 GER25th of 217 aged 25-29 25-29 1:09:29 10:17 31:41 29:38 8:14 4:18 2:16 3:35 4:22 4:27 1:38 3:53 5:09
95 Julian Hosp 🇦🇹 AUT15th of 256 aged 35-39 35-39 1:09:30 10:18 33:00 28:45 7:50 4:17 2:31 3:41 3:07 4:33 1:37 3:56 5:03
96 Matthias Fischer 🇩🇪 GER24th of 289 aged 30-34 30-34 1:09:37 10:25 34:32 27:13 7:57 4:03 2:20 3:11 3:25 4:07 1:39 3:36 4:52
97 Andrew Wallace 🇬🇧 GBR26th of 217 aged 25-29 25-29 1:09:40 10:28 32:59 28:58 7:49 4:03 1:59 3:47 4:11 4:33 1:00 3:52 5:33
98 Louison Schoenenberger 🇫🇷 FRA27th of 217 aged 25-29 25-29 1:09:42 10:30 30:43 31:33 7:30 4:14 2:59 3:58 4:09 4:37 2:25 4:09 5:02
99 Louis Althaus 🇩🇪 GER28th of 217 aged 25-29 25-29 1:09:44 10:32 32:43 29:48 7:17 4:14 2:22 4:16 4:06 4:25 1:41 3:53 4:51
100 Alexander Wegmann 🇩🇪 GER16th of 256 aged 35-39 35-39 1:09:49 10:37 34:32 27:23 7:57 4:16 2:11 3:20 3:59 4:20 1:24 3:43 4:10
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