HYROX Cologne 2026: Pro Men results

455 finishers on 16 Apr 2026. Typical finish 1:24:06, fastest 10% under 1:08:55. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Paul Weindl 🇩🇪 GER1st of 100 aged 25-29 25-29 55:55 27:52 24:23 3:44 3:48 2:50 3:15 2:16 3:59 1:27 2:57 3:51
2 MJ Sutton 🇮🇪 IRL2nd of 100 aged 25-29 25-29 1:01:13 5:18 30:37 26:41 4:00 3:56 3:04 3:23 3:06 4:10 1:35 3:30 3:57
3 Christian Haas 🇩🇪 GER1st of 118 aged 30-34 30-34 1:01:39 5:44 29:38 28:22 3:43 4:01 3:15 4:32 3:01 4:15 1:30 3:41 4:07
4 David Bergmann 🇩🇪 GER1st of 45 aged 16-24 16-24 1:02:03 6:08 30:59 27:14 3:54 3:56 2:56 3:38 3:01 4:07 1:24 3:53 4:19
5 Tobias Kiefer 🇩🇪 GER2nd of 118 aged 30-34 30-34 1:02:06 6:11 31:02 27:15 3:55 3:53 3:32 4:00 3:02 4:14 1:45 3:15 3:34
6 Moritz Kümmeler 🇩🇪 GER3rd of 118 aged 30-34 30-34 1:02:34 6:39 29:20 28:52 4:26 4:05 3:17 3:58 3:13 4:03 1:31 4:07 4:38
7 Stefan Höcht 🇩🇪 GER4th of 118 aged 30-34 30-34 1:03:37 7:42 31:49 27:54 3:57 3:53 3:03 3:48 3:01 4:10 1:20 3:26 5:13
8 Markus Heinrich 🇩🇪 GER3rd of 100 aged 25-29 25-29 1:03:45 7:50 29:54 29:31 4:25 4:03 2:57 4:28 3:25 4:12 1:45 4:04 4:37
9 Sébastien Serrato 🇫🇷 FRA1st of 102 aged 35-39 35-39 1:03:52 7:57 31:47 28:09 3:59 4:02 3:33 3:41 2:44 4:09 1:32 3:10 5:18
10 Nils David 🇩🇪 GER5th of 118 aged 30-34 30-34 1:03:56 8:01 31:10 28:58 3:50 3:55 3:04 4:05 3:31 4:13 1:51 3:56 4:23
11 Tim Wacker 🇩🇪 GER2nd of 45 aged 16-24 16-24 1:03:57 8:02 31:36 28:14 4:12 4:04 3:30 3:41 3:08 4:13 1:44 3:29 4:25
12 Victor Gabriel 🇫🇷 FRA4th of 100 aged 25-29 25-29 1:04:03 8:08 29:53 29:43 4:33 4:07 3:39 4:06 3:10 4:13 1:40 3:48 5:00
13 Fabian Wesemann 🇩🇪 GER5th of 100 aged 25-29 25-29 1:04:11 8:16 33:03 27:01 4:12 4:04 2:40 3:57 2:42 4:13 1:07 3:24 4:54
14 Julian Lehrer 🇩🇪 GER2nd of 102 aged 35-39 35-39 1:04:11 8:16 31:23 28:44 4:09 4:03 3:12 3:57 3:08 4:20 1:30 3:35 4:59
15 Rune Dallmann 🇩🇪 GER3rd of 102 aged 35-39 35-39 1:04:11 8:16 30:37 29:52 3:46 4:01 3:35 3:23 3:04 4:16 1:45 3:46 6:02
16 Marc Steinke 🇩🇪 GER1st of 52 aged 40-44 40-44 1:04:14 8:19 31:18 28:44 4:16 3:57 3:14 4:14 3:12 4:13 1:26 3:28 5:00
17 Renning Elischer 🇩🇪 GER6th of 118 aged 30-34 30-34 1:04:32 8:37 30:14 30:28 3:54 4:15 3:20 4:19 3:20 4:27 1:35 3:35 5:37
18 Ben Okeke 🇦🇹 AUT6th of 100 aged 25-29 25-29 1:05:15 9:20 31:13 30:04 4:02 3:56 3:34 4:49 3:15 4:12 1:40 4:01 4:37
19 Kári Steinn Karlsson 🇮🇸 ISL4th of 102 aged 35-39 35-39 1:05:16 9:21 29:01 32:19 4:00 3:53 3:16 4:03 3:54 4:03 1:38 4:19 7:13
20 David Steffes 🇱🇺 LUX2nd of 52 aged 40-44 40-44 1:05:27 9:32 30:04 31:38 3:50 3:56 3:35 4:32 3:23 4:15 1:44 4:11 6:02
21 Fabian Schuster 🇦🇹 AUT7th of 118 aged 30-34 30-34 1:05:31 9:36 31:30 30:03 4:04 4:09 3:46 4:21 3:17 4:23 2:06 3:14 4:47
22 Andrii Mazur 🇺🇦 UKR8th of 118 aged 30-34 30-34 1:05:36 9:41 32:21 28:51 4:28 3:57 3:35 4:19 3:29 4:13 1:33 3:17 4:28
23 Artur Eisenbraun 🇩🇪 GER3rd of 52 aged 40-44 40-44 1:06:00 10:05 31:31 30:21 4:13 3:59 3:19 3:54 3:14 4:26 1:33 4:00 5:56
24 Dominic Call 🇩🇪 GER7th of 100 aged 25-29 25-29 1:06:06 10:11 31:35 30:17 4:18 3:51 3:24 4:48 3:07 4:07 1:28 3:13 6:19
25 Greg Bradley 🇮🇪 IRL5th of 102 aged 35-39 35-39 1:06:19 10:24 32:18 29:41 4:24 4:11 3:24 5:02 3:27 4:26 1:32 3:32 4:07
26 Dennis Musche 🇩🇪 GER8th of 100 aged 25-29 25-29 1:06:24 10:29 32:05 30:09 4:16 4:06 2:58 4:00 3:39 4:24 1:26 4:12 5:24
27 Mathéo Vincent 🇫🇷 FRA3rd of 45 aged 16-24 16-24 1:06:42 10:47 33:28 29:02 4:17 4:05 3:21 3:41 3:02 4:19 1:37 4:05 4:52
28 Tim Schroer 🇩🇪 GER9th of 118 aged 30-34 30-34 1:06:51 10:56 30:30 31:13 5:11 4:14 3:15 4:21 4:23 4:35 1:55 4:01 4:29
29 Alexander Steland 🇩🇪 GER10th of 118 aged 30-34 30-34 1:06:56 11:01 31:29 30:27 5:04 4:01 3:52 4:14 3:05 4:27 1:19 4:25 5:04
30 Noel-Etienne Prietzel 🇩🇪 GER4th of 45 aged 16-24 16-24 1:07:13 11:18 33:02 29:20 4:56 4:03 2:47 4:42 3:44 4:19 1:36 3:29 4:40
31 Michael Heinrichshofen 🇩🇪 GER11th of 118 aged 30-34 30-34 1:07:19 11:24 31:43 31:28 4:11 3:58 3:19 5:17 3:40 4:17 1:35 4:17 5:05
32 Patrick Treiber-Grahm 🇩🇪 GER12th of 118 aged 30-34 30-34 1:07:41 11:46 33:37 29:37 4:32 3:57 3:39 4:07 3:55 4:11 1:33 3:40 4:35
33 Houssem Saidi 🇨🇭 SUI13th of 118 aged 30-34 30-34 1:07:46 11:51 34:28 28:56 4:27 3:53 3:18 4:20 3:36 4:14 1:48 3:17 4:30
34 Hugo dos Santos 🇫🇷 FRA14th of 118 aged 30-34 30-34 1:07:46 11:51 33:42 29:16 4:51 4:03 3:03 4:02 3:29 4:17 1:54 3:18 5:10
35 Lukas Jochheim 🇩🇪 GER9th of 100 aged 25-29 25-29 1:07:47 11:52 32:18 31:23 4:10 4:04 3:18 3:29 3:16 4:21 1:35 4:09 7:11
36 Mathieu Gschwandtner 🇦🇹 AUT10th of 100 aged 25-29 25-29 1:08:04 12:09 33:24 30:16 4:29 4:03 3:20 4:22 2:52 4:22 1:33 3:38 6:06
37 Maximilian Kunert 🇩🇪 GER11th of 100 aged 25-29 25-29 1:08:05 12:10 33:12 30:19 4:39 3:59 3:52 4:13 3:20 4:18 1:40 3:53 5:04
38 Marc Dörfer 🇩🇪 GER6th of 102 aged 35-39 35-39 1:08:12 12:17 33:14 30:27 4:36 4:05 3:24 4:00 3:07 4:24 1:45 3:27 6:15
39 Jochen Binder 🇩🇪 GER1st of 14 aged 50-54 50-54 1:08:15 12:20 35:22 28:17 4:41 4:00 3:12 3:54 3:02 4:21 1:28 3:10 5:10
40 Niels Kinget 🇧🇪 BEL5th of 45 aged 16-24 16-24 1:08:16 12:21 37:04 25:18 5:56 3:50 2:01 3:09 2:38 4:11 1:30 3:52 4:07
41 Dominic Kollien 🇩🇪 GER7th of 102 aged 35-39 35-39 1:08:25 12:30 33:47 30:04 4:39 4:06 2:56 3:48 3:44 4:18 1:41 3:59 5:32
42 Edgar Ruche 🇫🇷 FRA12th of 100 aged 25-29 25-29 1:08:37 12:42 34:18 29:08 5:17 4:01 2:53 4:14 3:56 4:17 1:27 3:45 4:35
43 Paul Schramm 🇩🇪 GER8th of 102 aged 35-39 35-39 1:08:39 12:44 33:46 30:12 4:44 3:51 2:47 4:30 3:48 4:17 1:41 4:14 5:04
44 Michael Vogl 🇩🇪 GER15th of 118 aged 30-34 30-34 1:08:51 12:56 34:28 29:25 5:03 4:11 3:01 3:55 3:43 4:14 1:26 4:13 4:42
45 Peter Schreiber 🇩🇪 GER9th of 102 aged 35-39 35-39 1:08:54 12:59 34:51 29:38 4:28 3:59 3:07 4:08 4:02 4:13 1:36 4:13 4:20
46 Jan van Binsbergen 🇳🇱 NED6th of 45 aged 16-24 16-24 1:08:54 12:59 31:48 32:37 4:33 4:07 3:32 5:04 4:13 4:27 1:46 3:32 5:56
47 Dirk Schulke 🇩🇪 GER10th of 102 aged 35-39 35-39 1:08:56 13:01 32:31 30:58 5:33 4:01 4:06 4:30 2:56 4:26 2:17 4:00 4:42
48 Michael Kessler 🇩🇪 GER11th of 102 aged 35-39 35-39 1:09:17 13:22 32:41 31:52 4:49 4:06 3:21 4:34 4:12 4:29 2:05 4:03 5:02
49 Leon Samuel Berfelde 🇩🇪 GER13th of 100 aged 25-29 25-29 1:09:18 13:23 33:29 31:02 4:52 4:09 3:26 4:27 4:11 4:42 1:33 3:55 4:39
50 Jonas Rahm 🇩🇪 GER14th of 100 aged 25-29 25-29 1:09:39 13:44 33:54 31:34 4:16 3:52 3:36 4:03 3:59 4:07 1:33 5:00 5:24
51 Curtis Evelyn 🇬🇧 GBR15th of 100 aged 25-29 25-29 1:09:40 13:45 31:03 33:43 4:59 4:05 3:14 4:53 3:55 4:37 1:53 4:24 6:42
52 Nathan Beuf 🇫🇷 FRA16th of 100 aged 25-29 25-29 1:09:41 13:46 34:39 30:17 4:50 3:55 3:32 4:25 3:31 4:25 1:52 3:41 4:56
53 Jimmy Blettner 🇫🇷 FRA16th of 118 aged 30-34 30-34 1:09:43 13:48 32:42 32:33 4:32 4:23 3:43 4:21 4:43 4:27 1:50 4:02 5:04
54 Tim Ufermann 🇩🇪 GER17th of 100 aged 25-29 25-29 1:09:47 13:52 33:44 31:45 4:21 4:07 3:35 4:06 3:47 4:19 2:15 4:19 5:17
55 Daniel Wawrzaszek 🇩🇪 GER18th of 100 aged 25-29 25-29 1:09:51 13:56 35:35 29:12 5:08 3:52 2:30 3:57 3:55 4:13 1:39 4:04 5:02
56 Christopher Nußbaum 🇩🇪 GER17th of 118 aged 30-34 30-34 1:09:56 14:01 34:24 31:03 4:33 4:11 3:21 4:37 3:18 4:22 1:58 4:18 4:58
57 Yannik Wasmuth 🇩🇪 GER18th of 118 aged 30-34 30-34 1:10:09 14:14 30:48 34:36 4:48 4:16 3:52 4:45 4:55 4:37 2:04 4:50 5:17
58 Ilja Heinzmann 🇨🇭 SUI7th of 45 aged 16-24 16-24 1:10:12 14:17 34:40 31:10 4:25 4:01 3:22 4:26 3:57 4:04 1:58 4:10 5:12
59 Christian Bradler 🇩🇪 GER19th of 118 aged 30-34 30-34 1:10:14 14:19 33:43 31:32 5:04 3:49 3:09 4:15 3:49 4:17 1:39 4:36 5:58
60 Tim Pendzich 🇩🇪 GER20th of 118 aged 30-34 30-34 1:10:15 14:20 33:56 31:57 4:27 4:15 3:36 4:23 3:25 4:28 1:52 3:59 5:59
61 Artur Pauls 🇩🇪 GER21st of 118 aged 30-34 30-34 1:10:17 14:22 33:05 32:48 4:29 3:43 3:35 4:18 4:06 4:09 2:06 4:07 6:44
62 Safouane Bazine 🇹🇳 TUN12th of 102 aged 35-39 35-39 1:10:26 14:31 33:59 31:52 4:40 3:59 3:21 5:36 3:23 4:13 2:08 4:13 4:59
63 Andreas Fruhmann 🇩🇪 GER1st of 17 aged 45-49 45-49 1:10:38 14:43 32:27 33:27 4:48 4:04 4:49 4:51 3:33 4:25 1:48 3:40 6:17
64 Kristjan Gläßel 🇩🇪 GER19th of 100 aged 25-29 25-29 1:10:55 15:00 34:11 31:52 4:56 4:05 3:23 5:10 3:49 4:19 2:02 4:06 4:58
65 Moritz Gisy 🇩🇪 GER20th of 100 aged 25-29 25-29 1:11:07 15:12 36:50 29:48 4:34 4:03 2:42 3:50 3:53 4:07 1:28 4:19 5:26
66 Kaj Jeziorski 🇩🇪 GER22nd of 118 aged 30-34 30-34 1:11:07 15:12 35:35 30:32 5:05 4:00 3:53 4:15 3:48 4:17 1:35 3:12 5:32
67 Maximilian Zerwas 🇩🇪 GER23rd of 118 aged 30-34 30-34 1:11:07 15:12 34:49 31:12 5:10 4:05 3:28 4:07 3:58 4:25 1:41 4:18 5:10
68 Jamie Forman 🇬🇧 GBR4th of 52 aged 40-44 40-44 1:11:09 15:14 32:35 34:23 4:15 3:49 3:09 4:38 4:42 4:29 2:07 4:56 6:33
69 Martial Engelmann 🇩🇪 GER21st of 100 aged 25-29 25-29 1:11:11 15:16 34:58 32:06 4:12 4:08 3:34 3:51 3:40 4:18 1:40 4:41 6:14
70 Alexander Romanov 🇩🇪 GER24th of 118 aged 30-34 30-34 1:11:17 15:22 36:39 29:26 5:16 3:59 2:40 4:42 3:14 4:06 1:31 4:00 5:14
71 Justus Thielen 🇩🇪 GER22nd of 100 aged 25-29 25-29 1:11:17 15:22 34:14 32:25 4:41 4:05 3:21 4:27 3:30 4:13 1:29 4:13 7:07
72 Fabian Scheidweiler 🇩🇪 GER25th of 118 aged 30-34 30-34 1:11:19 15:24 36:01 30:33 4:48 3:58 3:23 4:37 3:45 4:19 1:38 4:03 4:50
73 Jan-Peer Martins 🇩🇪 GER23rd of 100 aged 25-29 25-29 1:11:22 15:27 33:14 33:35 4:37 4:14 3:30 4:26 4:21 4:37 1:24 5:25 5:38
74 Dennis Konrad-Werner 🇩🇪 GER5th of 52 aged 40-44 40-44 1:11:30 15:35 37:18 28:57 5:20 3:50 2:37 4:17 3:46 4:12 1:30 4:06 4:39
75 Matthias Fischer 🇩🇪 GER26th of 118 aged 30-34 30-34 1:11:32 15:37 36:40 29:43 5:12 4:01 3:46 4:06 3:24 4:20 1:27 3:55 4:44
76 Manuchi Gaudes 🇩🇪 GER8th of 45 aged 16-24 16-24 1:11:35 15:40 33:57 32:45 4:57 4:13 3:56 4:10 4:12 4:31 2:02 4:25 5:16
77 Bjarne Rogall 🇩🇪 GER13th of 102 aged 35-39 35-39 1:11:36 15:41 33:22 33:44 4:35 4:02 3:48 4:28 4:17 4:29 1:57 4:39 6:04
78 Nils Beem 🇩🇪 GER9th of 45 aged 16-24 16-24 1:11:39 15:44 31:52 35:26 4:26 4:13 4:21 4:48 5:20 4:28 1:56 4:45 5:35
79 Fabian Bauer 🇩🇪 GER10th of 45 aged 16-24 16-24 1:11:41 15:46 34:52 32:23 4:30 4:12 3:51 4:19 4:52 4:23 1:11 4:41 4:54
80 Brandon Hassan 🇮🇪 IRL24th of 100 aged 25-29 25-29 1:11:55 16:00 34:17 33:19 4:25 4:39 3:59 4:43 2:52 4:35 1:46 4:11 6:34
81 Livio Tomba 🇫🇷 FRA11th of 45 aged 16-24 16-24 1:11:55 16:00 31:39 36:18 4:02 4:28 4:06 5:49 3:43 4:42 2:27 4:52 6:11
82 Lukas Konstantin Haimayer 🇩🇪 GER12th of 45 aged 16-24 16-24 1:12:03 16:08 33:13 34:22 4:31 4:05 3:42 5:19 2:34 4:18 1:20 6:59 6:05
83 Karl Dollinger 🇩🇪 GER27th of 118 aged 30-34 30-34 1:12:07 16:12 33:29 34:03 4:37 4:07 2:46 3:52 3:59 4:31 1:33 4:01 9:14
84 Daniel Schloesser 🇩🇪 GER2nd of 17 aged 45-49 45-49 1:12:08 16:13 33:40 32:32 6:01 4:03 3:53 4:37 3:26 4:34 1:40 4:07 6:12
85 Jan-Claas Dajka 🇩🇪 GER14th of 102 aged 35-39 35-39 1:12:13 16:18 36:59 30:44 4:36 3:57 3:21 4:27 3:53 4:19 1:43 3:51 5:13
86 Philipp Müller 🇩🇪 GER6th of 52 aged 40-44 40-44 1:12:18 16:23 32:46 34:26 5:12 4:15 3:45 5:08 4:01 4:46 1:55 4:28 6:08
87 Christian Liegmann 🇩🇪 GER28th of 118 aged 30-34 30-34 1:12:25 16:30 36:19 31:21 4:49 4:06 3:26 4:07 3:52 4:18 1:58 4:12 5:22
88 Jann Kulik 🇩🇪 GER25th of 100 aged 25-29 25-29 1:12:31 16:36 32:41 34:50 5:04 4:24 4:02 4:59 4:35 4:38 2:08 4:50 5:14
89 Niklas Zeuner 🇩🇪 GER29th of 118 aged 30-34 30-34 1:12:37 16:42 37:56 30:01 4:45 4:07 3:08 4:10 3:44 4:13 1:40 4:06 4:53
90 Matthew Wigelsworth 🇬🇧 GBR26th of 100 aged 25-29 25-29 1:12:42 16:47 31:42 35:45 5:20 4:17 4:29 4:42 4:32 4:47 2:21 4:04 6:33
91 Matthis Weis 🇩🇪 GER27th of 100 aged 25-29 25-29 1:12:48 16:53 35:07 32:56 4:48 4:08 3:31 4:57 3:58 4:27 1:40 4:19 5:56
92 Jan Teuber 🇩🇪 GER28th of 100 aged 25-29 25-29 1:12:49 16:54 35:00 33:10 4:44 4:08 3:46 4:38 4:10 4:20 1:51 4:48 5:29
93 Christoph Wiesinger 🇦🇹 AUT7th of 52 aged 40-44 40-44 1:12:51 16:56 34:02 33:58 4:56 4:06 3:34 5:09 3:56 4:29 1:56 4:34 6:14
94 Jori Persico 🇫🇷 FRA15th of 102 aged 35-39 35-39 1:12:58 17:03 37:35 29:53 5:33 4:14 3:23 4:08 3:27 4:16 1:32 4:18 4:35
95 Tobias Kampenga 🇩🇪 GER16th of 102 aged 35-39 35-39 1:13:01 17:06 35:51 32:15 4:58 4:10 3:11 4:14 3:23 4:30 1:28 4:06 7:13
96 Jean-Mikael Desmarais 🇨🇦 CAN17th of 102 aged 35-39 35-39 1:13:03 17:08 34:53 32:20 5:54 4:04 4:10 5:04 3:33 4:32 1:41 3:46 5:30
97 Kilian Siara 🇩🇪 GER30th of 118 aged 30-34 30-34 1:13:15 17:20 36:27 32:13 4:39 4:14 3:25 4:30 4:01 4:39 1:48 4:27 5:09
98 Ivan Larkow 🇩🇪 GER8th of 52 aged 40-44 40-44 1:13:17 17:22 36:01 32:02 5:18 4:01 3:27 4:24 3:54 4:30 1:49 4:29 5:28
99 Dario Dobrolevski 🇦🇹 AUT31st of 118 aged 30-34 30-34 1:13:24 17:29 36:59 31:30 5:01 4:24 3:28 4:06 3:41 4:45 1:39 4:29 4:58
100 Lukas Rexer 🇩🇪 GER32nd of 118 aged 30-34 30-34 1:13:25 17:30 32:03 35:49 5:37 4:05 3:44 4:37 3:45 4:21 1:45 4:35 8:57
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