HYROX Karlsruhe 2025: Open Men results

1,207 finishers on 1 Mar 2025. Typical finish 1:28:17, fastest 10% under 1:11:54. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Vic Vandendaele 🇧🇪 BEL1st of 200 aged 25-29 25-29 57:09 29:27 24:15 3:29 3:47 2:04 2:55 3:16 4:01 1:16 2:50 4:06
2 Thomas Mouflard 🇫🇷 FRA1st of 301 aged 30-34 30-34 58:33 1:24 30:19 24:35 3:43 3:54 2:01 2:54 3:02 4:10 1:25 2:41 4:28
3 Dylan Caruso 🇮🇹 ITA1st of 97 aged 16-24 16-24 59:19 2:10 29:22 26:24 3:39 3:48 1:56 3:33 4:40 4:11 1:10 3:38 3:28
4 Lukas Zajons 🇩🇪 GER2nd of 301 aged 30-34 30-34 59:46 2:37 30:12 25:42 3:56 3:53 2:06 3:37 3:14 4:17 1:21 3:13 4:01
5 Norman Badorrek 🇩🇪 GER1st of 236 aged 35-39 35-39 59:47 2:38 32:30 23:28 3:54 4:06 2:05 2:38 2:44 4:07 1:17 2:56 3:35
6 Alexander Hager 🇩🇪 GER3rd of 301 aged 30-34 30-34 1:00:07 2:58 32:06 23:59 4:07 3:52 1:46 3:22 2:33 4:00 1:36 2:48 4:02
7 Jan Nicholas Bauer 🇩🇪 GER2nd of 200 aged 25-29 25-29 1:00:12 3:03 30:10 26:12 3:55 3:51 2:31 3:08 3:10 4:09 1:31 3:28 4:24
8 Travis Brown 🇬🇧 GBR3rd of 200 aged 25-29 25-29 1:00:23 3:14 31:29 25:15 3:42 3:51 1:56 3:07 2:57 4:09 1:42 3:19 4:14
9 Jonathan Dustour 🇨🇭 SUI4th of 301 aged 30-34 30-34 1:00:27 3:18 31:27 25:16 3:48 3:51 2:10 3:06 3:16 4:03 1:19 3:02 4:29
10 Gianluca Pozzatti 🇮🇹 ITA5th of 301 aged 30-34 30-34 1:00:57 3:48 27:09 29:31 4:21 3:56 2:12 3:55 3:57 4:08 1:31 3:33 6:19
11 Felix Swiczinsky 🇩🇪 GER1st of 156 aged 40-44 40-44 1:01:15 4:06 31:13 26:27 3:38 3:55 1:49 3:13 4:18 4:14 1:28 3:34 3:56
12 Christoph Mattner 🇩🇪 GER2nd of 236 aged 35-39 35-39 1:01:22 4:13 28:08 29:29 3:50 3:52 2:10 4:16 3:23 4:07 1:32 4:09 6:00
13 Nico Krackl 🇩🇪 GER3rd of 236 aged 35-39 35-39 1:01:33 4:24 31:44 25:56 3:58 3:50 2:08 3:03 3:32 4:07 1:28 3:31 4:17
14 Nicolas Paquay 🇫🇷 FRA6th of 301 aged 30-34 30-34 1:01:40 4:31 32:15 25:36 3:55 4:05 2:08 3:11 3:16 4:16 1:35 3:02 4:03
15 Florian Duterloo 🇳🇱 NED4th of 236 aged 35-39 35-39 1:01:57 4:48 31:43 25:33 4:45 3:44 1:45 3:58 3:25 3:51 1:19 3:03 4:28
16 Robin Soppa 🇩🇪 GER5th of 236 aged 35-39 35-39 1:02:02 4:53 30:52 26:33 4:41 4:07 2:16 3:14 3:16 4:23 1:49 3:36 3:52
17 Sean McCarthy 🇬🇧 GBR2nd of 97 aged 16-24 16-24 1:02:06 4:57 31:09 27:10 3:51 4:02 2:15 3:12 3:16 4:12 1:48 4:09 4:16
18 Ivo Ivanov 🇧🇬 BUL4th of 200 aged 25-29 25-29 1:02:08 4:59 33:07 24:45 4:18 4:08 1:51 2:44 3:30 4:06 1:32 3:06 3:48
19 Felix Bierwirth 🇩🇪 GER7th of 301 aged 30-34 30-34 1:02:11 5:02 33:05 25:12 3:59 3:54 2:18 3:10 2:42 4:15 1:23 3:23 4:07
20 Peter Simon 🇭🇺 HUN8th of 301 aged 30-34 30-34 1:02:11 5:02 32:17 25:15 4:43 3:58 2:01 3:13 3:10 4:09 1:20 3:19 4:05
21 Danny Messing 🇩🇪 GER6th of 236 aged 35-39 35-39 1:02:13 5:04 33:25 24:54 3:57 4:08 2:06 3:12 3:14 4:09 1:36 2:55 3:34
22 Patrick Bühler 🇩🇪 GER5th of 200 aged 25-29 25-29 1:02:39 5:30 33:13 25:26 4:04 4:12 1:42 3:27 3:01 4:15 1:12 3:06 4:31
23 Justin Homburg 🇩🇪 GER3rd of 97 aged 16-24 16-24 1:02:48 5:39 31:39 27:13 4:01 4:01 2:41 4:07 3:34 4:17 1:31 2:42 4:20
24 Kevin Baumgartner 🇦🇹 AUT6th of 200 aged 25-29 25-29 1:02:56 5:47 31:32 27:04 4:25 4:09 2:01 3:38 4:02 4:19 1:30 3:06 4:19
25 Stephan Wallacher 🇩🇪 GER2nd of 156 aged 40-44 40-44 1:03:01 5:52 33:42 24:44 4:40 3:57 2:10 2:54 3:42 4:08 1:33 2:48 3:32
26 Stu Bowers 🇬🇧 GBR1st of 93 aged 45-49 45-49 1:03:05 5:56 31:56 27:08 4:04 4:00 2:29 3:35 3:44 4:17 1:30 3:24 4:09
27 Arthur Marquet 🇫🇷 FRA4th of 97 aged 16-24 16-24 1:03:13 6:04 33:19 25:42 4:15 3:52 1:56 3:40 3:43 4:06 1:26 3:24 3:35
28 Marco Lindt 🇩🇪 GER7th of 200 aged 25-29 25-29 1:03:21 6:12 32:43 26:02 4:40 4:14 2:39 3:27 2:46 4:24 1:35 3:21 3:36
29 Tim Schwenk 🇩🇪 GER5th of 97 aged 16-24 16-24 1:03:25 6:16 33:09 25:49 4:32 3:48 2:29 2:49 3:55 4:13 1:29 3:27 3:39
30 Torsten Dahnke 🇩🇪 GER7th of 236 aged 35-39 35-39 1:03:54 6:45 32:45 26:34 4:39 4:08 2:20 3:07 3:37 4:31 1:46 2:57 4:08
31 Piran Asci 🇩🇪 GER9th of 301 aged 30-34 30-34 1:04:00 6:51 33:44 26:28 3:53 4:02 2:21 3:14 4:17 4:16 1:18 3:27 3:33
32 Stefan Schmid 🇩🇪 GER8th of 236 aged 35-39 35-39 1:04:02 6:53 30:48 29:05 4:15 4:02 2:30 3:59 4:00 4:14 1:31 3:51 4:58
33 Jozef Kapicak 🇩🇪 GER6th of 97 aged 16-24 16-24 1:04:06 6:57 31:38 28:02 4:32 3:56 2:54 3:21 2:59 4:32 2:15 3:56 4:09
34 Pawel Müller 🇩🇪 GER3rd of 156 aged 40-44 40-44 1:04:10 7:01 33:39 26:18 4:17 3:57 2:08 3:32 3:53 4:11 1:36 3:32 3:29
35 Hugo Ancel 🇫🇷 FRA10th of 301 aged 30-34 30-34 1:04:22 7:13 33:00 27:11 4:15 4:12 2:16 3:10 3:20 4:24 1:34 3:46 4:29
36 Carlo Gatti 🇮🇹 ITA1st of 68 aged 50-54 50-54 1:04:23 7:14 34:08 26:16 4:03 3:57 2:19 3:23 3:34 4:08 1:30 3:24 4:01
37 Marcel Bischof 🇩🇪 GER9th of 236 aged 35-39 35-39 1:04:37 7:28 30:57 29:40 4:04 4:03 2:23 4:02 4:17 4:08 1:32 4:43 4:32
38 Marcel Maier 🇩🇪 GER7th of 97 aged 16-24 16-24 1:04:42 7:33 33:18 27:31 3:58 4:08 2:22 3:35 2:56 4:35 2:07 3:44 4:04
39 Mathieu Gendre 🇩🇪 GER8th of 200 aged 25-29 25-29 1:04:44 7:35 31:57 28:49 4:02 4:28 2:16 3:35 3:07 4:25 1:27 4:07 5:24
40 Maxence Coulon 🇫🇷 FRA9th of 200 aged 25-29 25-29 1:05:02 7:53 35:15 25:10 4:41 4:07 2:00 3:05 2:53 4:25 1:19 3:08 4:13
41 Manuel Thiel 🇩🇪 GER10th of 236 aged 35-39 35-39 1:05:37 8:28 34:09 27:17 4:16 4:02 2:11 3:26 4:10 4:04 1:50 3:38 3:56
42 Craig Downey 🇬🇧 GBR11th of 236 aged 35-39 35-39 1:05:38 8:29 32:38 28:18 4:47 4:06 2:32 3:42 3:46 4:25 1:25 3:18 5:04
43 Simon Jakob 🇩🇪 GER11th of 301 aged 30-34 30-34 1:05:45 8:36 33:56 27:57 3:55 4:00 2:36 3:26 3:56 4:08 2:03 3:16 4:32
44 Julian Tauer 🇩🇪 GER10th of 200 aged 25-29 25-29 1:05:53 8:44 33:55 27:44 4:18 3:59 2:25 3:36 3:58 4:18 1:33 3:53 4:02
45 Johannes Gorgulla 🇩🇪 GER12th of 236 aged 35-39 35-39 1:05:56 8:47 33:09 28:35 4:17 4:01 2:19 4:25 3:05 4:34 1:36 3:46 4:49
46 Andreas Fichtel 🇩🇪 GER12th of 301 aged 30-34 30-34 1:05:59 8:50 35:42 26:12 4:09 3:49 1:57 2:43 4:30 4:12 1:28 3:22 4:11
47 Roman Kadyrbajew 🇩🇪 GER13th of 301 aged 30-34 30-34 1:06:02 8:53 36:41 24:53 4:32 3:53 2:01 2:48 3:46 4:12 1:30 2:59 3:44
48 Christopher Kruegel 🇩🇪 GER14th of 301 aged 30-34 30-34 1:06:12 9:03 34:25 27:31 4:20 3:59 2:24 3:33 3:40 4:12 1:37 3:27 4:39
49 Daniel Hübner 🇩🇪 GER13th of 236 aged 35-39 35-39 1:06:12 9:03 34:09 27:35 4:31 3:56 2:22 3:21 3:43 4:14 1:32 3:52 4:35
50 Fabian Gruber 🇩🇪 GER15th of 301 aged 30-34 30-34 1:06:14 9:05 34:45 27:16 4:19 4:09 2:29 3:32 4:10 4:29 1:32 3:12 3:43
51 Gil Nicola 🇱🇺 LUX16th of 301 aged 30-34 30-34 1:06:24 9:15 34:50 27:19 4:20 3:59 2:12 3:47 3:27 4:17 1:46 3:26 4:25
52 Alexander Heine 🇩🇪 GER11th of 200 aged 25-29 25-29 1:06:30 9:21 33:59 28:17 4:19 4:11 2:00 3:28 3:36 4:21 1:41 4:15 4:45
53 Manuel Mecking 🇩🇪 GER17th of 301 aged 30-34 30-34 1:06:41 9:32 35:16 26:58 4:32 4:16 1:44 3:24 4:08 4:14 1:13 3:25 4:34
54 Christian Gröbe 🇩🇪 GER4th of 156 aged 40-44 40-44 1:06:48 9:39 34:04 28:08 4:41 4:09 2:07 3:49 4:12 4:29 1:51 3:23 4:08
55 Philipp Müller 🇩🇪 GER5th of 156 aged 40-44 40-44 1:06:51 9:42 33:33 28:00 5:22 4:06 2:08 3:40 3:59 4:33 1:42 3:57 3:55
56 Lennart Witt 🇩🇪 GER18th of 301 aged 30-34 30-34 1:06:56 9:47 34:26 28:14 4:20 4:03 2:14 3:37 3:55 4:09 1:36 3:38 5:02
57 Max Wörtge 🇩🇪 GER19th of 301 aged 30-34 30-34 1:07:04 9:55 35:33 27:14 4:21 4:02 2:11 2:56 3:48 4:17 1:40 3:43 4:37
58 Samir Serhani 🇨🇭 SUI12th of 200 aged 25-29 25-29 1:07:07 9:58 35:52 26:33 4:47 3:59 2:09 3:51 3:02 4:20 1:31 3:27 4:14
59 Chris Andre Ohlendorf 🇩🇪 GER8th of 97 aged 16-24 16-24 1:07:09 10:00 34:46 28:12 4:15 4:15 2:39 3:31 3:38 4:18 1:36 4:03 4:12
60 Dominique Horlbeck 🇩🇪 GER13th of 200 aged 25-29 25-29 1:07:13 10:04 33:37 29:12 4:30 4:07 2:35 4:06 3:44 4:19 1:57 3:43 4:41
61 Yannik Findeiß 🇩🇪 GER14th of 200 aged 25-29 25-29 1:07:18 10:09 35:02 28:00 4:19 4:00 1:58 3:33 3:50 4:24 1:39 4:12 4:24
62 Nils Reckemeier 🇩🇪 GER20th of 301 aged 30-34 30-34 1:07:28 10:19 33:21 29:37 4:35 4:13 2:21 3:17 3:26 4:32 1:56 3:39 6:13
63 Max Ansell-Wood 🇬🇧 GBR15th of 200 aged 25-29 25-29 1:07:29 10:20 33:55 29:28 4:10 3:56 2:35 3:46 3:47 4:16 1:28 4:09 5:31
64 Konstantin Jünger 🇩🇪 GER14th of 236 aged 35-39 35-39 1:07:44 10:35 34:10 29:14 4:25 4:06 2:58 4:00 4:15 4:27 1:41 3:51 3:56
65 Lars Popp 🇩🇪 GER9th of 97 aged 16-24 16-24 1:07:52 10:43 33:24 30:07 4:27 4:03 2:28 4:02 4:09 4:15 1:47 3:59 5:24
66 Ted Munson 🇬🇧 GBR21st of 301 aged 30-34 30-34 1:07:54 10:45 33:38 29:40 4:40 4:09 2:33 3:47 4:11 4:25 2:18 3:42 4:35
67 Dirk Spitzer 🇩🇪 GER15th of 236 aged 35-39 35-39 1:07:56 10:47 35:39 27:53 4:30 4:13 2:49 3:47 3:41 4:19 1:21 3:53 3:50
68 Jonas Schwendemann 🇩🇪 GER16th of 200 aged 25-29 25-29 1:07:56 10:47 33:47 30:00 4:15 4:19 2:29 4:05 3:27 4:19 2:03 3:42 5:36
69 Alexander McPhee 🇩🇪 GER17th of 200 aged 25-29 25-29 1:07:59 10:50 33:51 30:01 4:11 4:05 2:12 4:15 4:13 4:15 1:53 3:49 5:19
70 José Pinho 🇵🇹 POR18th of 200 aged 25-29 25-29 1:08:08 10:59 37:08 26:27 4:40 3:57 2:13 4:18 3:13 4:21 1:32 3:00 3:53
71 Michael Bowler 🇮🇪 IRL22nd of 301 aged 30-34 30-34 1:08:20 11:11 34:59 29:05 4:20 4:05 2:06 4:13 3:33 4:24 1:51 3:41 5:12
72 Mathias Hug 🇨🇭 SUI16th of 236 aged 35-39 35-39 1:08:32 11:23 35:52 28:20 4:25 4:08 2:05 3:37 3:59 4:20 1:29 4:12 4:30
73 Valentin Herrero 🇫🇷 FRA19th of 200 aged 25-29 25-29 1:08:33 11:24 34:32 29:48 4:18 4:07 2:22 3:54 4:50 4:26 1:40 3:55 4:34
74 Henrik Piroth 🇩🇪 GER20th of 200 aged 25-29 25-29 1:08:58 11:49 34:48 29:05 5:10 4:03 2:38 3:41 3:56 4:40 1:56 3:29 4:42
75 Dominic Kapffenstein 🇩🇪 GER17th of 236 aged 35-39 35-39 1:09:02 11:53 35:51 28:44 4:31 4:17 2:30 4:03 3:16 4:25 1:37 3:45 4:51
76 Julian Fiedler 🇦🇹 AUT21st of 200 aged 25-29 25-29 1:09:03 11:54 37:53 26:23 4:52 4:02 2:30 3:31 3:26 4:25 1:37 3:20 3:32
77 Luis Martinez 🇩🇪 GER23rd of 301 aged 30-34 30-34 1:09:16 12:07 32:46 32:08 4:26 4:13 2:23 4:11 4:33 4:18 1:21 4:42 6:27
78 Alain Eicher 🇱🇺 LUX24th of 301 aged 30-34 30-34 1:09:17 12:08 37:13 27:36 4:31 4:11 2:36 3:15 4:00 4:24 1:30 3:30 4:10
79 Alexandre Florimond 🇫🇷 FRA6th of 156 aged 40-44 40-44 1:09:18 12:09 31:49 32:48 4:45 4:27 2:51 4:33 5:33 4:32 1:40 4:47 4:25
80 Kevin Thewes 🇩🇪 GER25th of 301 aged 30-34 30-34 1:09:20 12:11 35:20 29:38 4:26 4:05 2:37 3:59 4:22 4:45 1:47 3:26 4:37
81 Pascal Ullrich 🇩🇪 GER26th of 301 aged 30-34 30-34 1:09:22 12:13 37:49 27:13 4:24 4:26 2:16 3:36 2:50 4:26 1:23 3:26 4:50
82 Seitz Thorben 🇩🇪 GER18th of 236 aged 35-39 35-39 1:09:31 12:22 35:33 29:32 4:30 4:20 1:53 3:35 4:44 4:19 1:32 4:06 5:03
83 Ludo Tailliez 🇫🇷 FRA19th of 236 aged 35-39 35-39 1:09:37 12:28 35:49 29:14 4:38 4:18 2:29 4:08 3:49 4:32 1:30 4:11 4:17
84 Steffen Riedle 🇩🇪 GER27th of 301 aged 30-34 30-34 1:09:41 12:32 36:56 27:45 5:05 3:57 2:13 2:49 4:08 4:20 1:47 4:27 4:04
85 Anatolij Romanov 🇲🇰 MKD22nd of 200 aged 25-29 25-29 1:09:46 12:37 35:37 28:38 5:34 4:06 2:19 3:32 3:59 4:41 1:44 4:06 4:11
86 Christopher Girke 🇩🇪 GER20th of 236 aged 35-39 35-39 1:09:47 12:38 36:41 28:21 4:49 4:01 2:19 3:19 3:49 4:14 1:46 4:35 4:18
87 Andrew Plews 🇬🇧 GBR7th of 156 aged 40-44 40-44 1:09:52 12:43 34:28 30:44 4:43 4:14 2:10 3:37 4:59 4:43 1:43 4:01 5:17
88 Andreas Breitsprecher 🇩🇪 GER2nd of 93 aged 45-49 45-49 1:09:55 12:46 35:23 30:05 4:31 4:20 2:31 3:33 4:13 4:32 1:39 4:47 4:30
89 Pej Peltier 🇫🇷 FRA8th of 156 aged 40-44 40-44 1:09:55 12:46 33:48 31:32 4:39 3:57 2:24 3:54 6:28 4:00 1:47 4:11 4:51
90 Hannes Roth 🇩🇪 GER23rd of 200 aged 25-29 25-29 1:10:04 12:55 36:23 29:01 4:45 4:05 2:47 4:20 4:28 4:26 1:11 3:13 4:31
91 Pawel Antonenko 🇩🇪 GER28th of 301 aged 30-34 30-34 1:10:11 13:02 36:06 28:27 5:44 4:09 2:45 3:34 4:06 4:26 1:55 3:25 4:07
92 Nico Elsäßer 🇩🇪 GER21st of 236 aged 35-39 35-39 1:10:15 13:06 33:51 31:19 5:10 4:20 2:20 4:27 4:35 4:41 1:44 4:13 4:59
93 Janick Lienau 🇩🇪 GER24th of 200 aged 25-29 25-29 1:10:15 13:06 31:58 33:08 5:13 4:35 2:45 4:12 5:06 4:47 1:40 4:33 5:30
94 Paul Touzain 🇫🇷 FRA25th of 200 aged 25-29 25-29 1:10:17 13:08 36:08 29:54 4:20 4:18 2:57 3:48 3:50 4:22 2:00 4:17 4:22
95 Robin Noller 🇩🇪 GER29th of 301 aged 30-34 30-34 1:10:20 13:11 37:08 28:28 4:49 4:18 2:24 3:48 3:38 4:23 1:46 3:40 4:31
96 Gaetan Molle 🇫🇷 FRA30th of 301 aged 30-34 30-34 1:10:20 13:11 35:38 30:27 4:20 4:22 2:42 4:32 3:20 4:23 1:51 3:51 5:26
97 Christoph Baum 🇩🇪 GER9th of 156 aged 40-44 40-44 1:10:28 13:19 37:43 28:06 4:43 4:19 3:01 3:12 3:34 4:27 1:38 3:44 4:11
98 Rainer Gerhard 🇩🇪 GER10th of 156 aged 40-44 40-44 1:10:30 13:21 36:00 30:20 4:14 4:09 2:43 4:02 4:12 4:34 1:44 3:40 5:16
99 Benedikt Reitwiessner 🇩🇪 GER22nd of 236 aged 35-39 35-39 1:10:36 13:27 35:34 30:39 4:26 4:09 1:57 3:36 4:40 4:22 1:42 4:49 5:24
100 Volker Schmitz 🇩🇪 GER2nd of 68 aged 50-54 50-54 1:10:37 13:28 34:19 31:13 5:10 4:05 2:21 3:57 5:23 4:30 1:31 4:12 5:14
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