HYROX Cologne 2025: Open Men results

1,840 finishers on 10 Apr 2025. Typical finish 1:25:33, fastest 10% under 1:10:01. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Kieron White 🇮🇪 IRL1st of 361 aged 25-29 25-29 55:06 28:20 23:23 3:23 3:56 2:03 2:38 2:54 4:07 1:25 2:48 3:32
2 Benito Baez Ayala 🇩🇪 GER1st of 386 aged 35-39 35-39 56:01 0:55 28:57 23:23 3:41 3:56 1:56 2:55 2:36 4:11 1:21 2:50 3:38
3 Alexis Bernier 🇫🇷 FRA1st of 488 aged 30-34 30-34 56:25 1:19 28:38 24:18 3:29 3:51 1:56 2:49 2:56 4:05 1:27 3:24 3:50
4 Markus Heinrich 🇩🇪 GER2nd of 361 aged 25-29 25-29 58:08 3:02 28:37 25:23 4:08 3:55 2:20 3:23 3:21 3:57 1:30 3:23 3:34
5 David Parkin 🇬🇧 GBR2nd of 386 aged 35-39 35-39 58:12 3:06 29:50 24:54 3:28 3:49 2:36 3:12 3:09 4:02 1:31 2:47 3:48
6 Erlaitz Cano 🇪🇸 ESP3rd of 361 aged 25-29 25-29 58:41 3:35 30:34 24:32 3:35 3:50 2:05 2:53 3:06 4:07 1:29 3:08 3:54
7 Ruedi Wild 🇨🇭 SUI1st of 213 aged 40-44 40-44 58:46 3:40 27:49 27:11 3:46 3:55 2:29 3:08 4:09 3:57 1:40 3:35 4:18
8 Ralf Ulmer 🇩🇪 GER2nd of 488 aged 30-34 30-34 59:23 4:17 27:45 27:50 3:48 4:12 2:21 3:22 3:01 4:12 1:45 3:28 5:29
9 Christian Jacobick 🇩🇪 GER3rd of 386 aged 35-39 35-39 59:26 4:20 30:37 24:52 3:57 4:05 2:12 3:25 2:45 4:12 1:36 2:51 3:46
10 Sean Walsh 🇮🇪 IRL4th of 361 aged 25-29 25-29 59:27 4:21 29:40 26:05 3:42 4:04 2:04 3:07 3:10 4:18 1:39 3:57 3:46
11 Jan Roggemann 🇩🇪 GER4th of 386 aged 35-39 35-39 59:30 4:24 29:45 26:09 3:36 3:48 1:58 3:27 3:41 4:00 1:36 3:27 4:12
12 Tom Vince 🇬🇧 GBR3rd of 488 aged 30-34 30-34 59:53 4:47 28:56 26:50 4:07 3:54 1:59 3:17 3:52 4:13 1:31 3:23 4:41
13 Felix Swiczinsky 🇩🇪 GER2nd of 213 aged 40-44 40-44 1:00:06 5:00 29:58 26:22 3:46 3:50 1:46 3:15 4:02 4:12 1:34 3:41 4:02
14 Pascal Schmitt 🇩🇪 GER4th of 488 aged 30-34 30-34 1:00:35 5:29 29:40 26:57 3:58 3:57 2:36 3:27 3:23 4:19 1:26 3:27 4:22
15 Jascha Potthoff 🇩🇪 GER5th of 488 aged 30-34 30-34 1:00:39 5:33 31:57 24:43 3:59 4:00 2:28 2:54 2:45 4:04 1:24 3:17 3:51
16 Callum Overton 🇬🇧 GBR5th of 361 aged 25-29 25-29 1:00:41 5:35 28:28 28:42 3:31 3:50 2:16 3:31 4:02 4:26 1:44 3:57 4:56
17 Pawel Müller 🇩🇪 GER3rd of 213 aged 40-44 40-44 1:00:48 5:42 31:31 25:11 4:06 3:57 2:09 3:12 3:23 4:15 1:37 3:11 3:27
18 Dominik Runge 🇩🇪 GER6th of 488 aged 30-34 30-34 1:00:58 5:52 31:45 23:35 5:38 3:58 2:25 2:58 — 4:08 1:27 3:14 3:46
19 Torsten Reuter 🇩🇪 GER4th of 213 aged 40-44 40-44 1:00:59 5:53 30:16 26:53 3:50 4:08 2:16 3:25 3:51 4:23 1:25 3:36 3:49
20 Seanàn McColgan 🇮🇪 IRL7th of 488 aged 30-34 30-34 1:01:02 5:56 32:12 21:50 7:00 3:55 2:12 3:07 — 4:14 1:36 — 3:29
21 Alexandre Pilat 🇫🇷 FRA5th of 386 aged 35-39 35-39 1:01:02 5:56 29:30 25:15 6:17 3:59 2:05 3:19 3:40 4:09 1:53 2:09 4:01
22 Marcel Blank 🇩🇪 GER8th of 488 aged 30-34 30-34 1:01:05 5:59 31:25 23:52 5:48 3:57 2:12 3:35 3:43 4:15 1:25 — 3:15
23 Dennis Stricker 🇩🇪 GER9th of 488 aged 30-34 30-34 1:01:05 5:59 31:58 25:11 3:56 3:58 2:05 3:18 3:48 4:09 1:34 2:43 3:36
24 Benjamin Adriani 🇩🇪 GER5th of 213 aged 40-44 40-44 1:01:05 5:59 30:53 26:19 3:53 3:50 1:58 2:52 4:25 4:10 1:22 3:20 4:22
25 Lukas Jochheim 🇩🇪 GER6th of 361 aged 25-29 25-29 1:01:05 5:59 30:49 26:45 3:31 4:00 2:04 2:59 4:03 4:13 1:33 3:21 4:32
26 Patrick Martens 🇩🇪 GER6th of 386 aged 35-39 35-39 1:01:13 6:07 30:38 26:36 3:59 3:55 2:30 2:51 3:24 4:11 1:40 3:09 4:56
27 Christian Nolde 🇩🇪 GER6th of 213 aged 40-44 40-44 1:01:15 6:09 28:43 26:34 5:58 4:18 2:42 3:30 3:15 4:21 1:32 3:17 3:39
28 Piran Asci 🇩🇪 GER10th of 488 aged 30-34 30-34 1:01:30 6:24 31:18 26:37 3:35 4:05 2:16 3:11 3:57 4:11 1:22 3:25 4:10
29 Mike Schifferle 🇨🇭 SUI1st of 75 aged 50-54 50-54 1:01:40 6:34 30:06 27:34 4:00 4:01 2:14 3:20 3:47 4:15 1:30 3:32 4:55
30 Philipp Karg 🇩🇪 GER11th of 488 aged 30-34 30-34 1:02:03 6:57 31:37 26:10 4:16 4:11 2:11 2:34 3:24 4:16 1:59 3:10 4:25
31 Cameron Close 🇺🇸 USA12th of 488 aged 30-34 30-34 1:02:03 6:57 30:10 28:06 3:47 4:04 2:04 3:31 4:06 4:26 1:33 4:01 4:21
32 Jonas Schulze 🇩🇪 GER7th of 361 aged 25-29 25-29 1:02:10 7:04 32:58 25:11 4:01 4:09 1:59 3:05 3:08 4:25 1:21 3:01 4:03
33 Artur Eisenbraun 🇩🇪 GER7th of 213 aged 40-44 40-44 1:02:11 7:05 31:11 27:07 3:53 3:58 2:19 3:15 3:50 4:19 1:35 3:58 3:53
34 Nico Krackl 🇩🇪 GER7th of 386 aged 35-39 35-39 1:02:13 7:07 31:11 27:02 4:00 3:54 2:16 3:02 3:42 4:12 1:35 3:44 4:37
35 Matthias Walter 🇦🇹 AUT8th of 386 aged 35-39 35-39 1:02:19 7:13 30:50 27:36 3:53 4:22 2:11 3:47 3:23 4:36 1:38 3:14 4:25
36 Tim Schroer 🇩🇪 GER13th of 488 aged 30-34 30-34 1:02:34 7:28 29:47 26:00 6:47 4:06 2:48 3:28 3:25 4:28 1:44 — 4:20
37 Patrick Schreiner 🇩🇪 GER14th of 488 aged 30-34 30-34 1:02:34 7:28 30:21 27:55 4:18 4:02 2:20 3:41 3:33 4:14 1:45 4:10 4:10
38 Wout Schaart 🇳🇱 NED8th of 361 aged 25-29 25-29 1:02:37 7:31 28:44 30:04 3:49 4:13 2:21 3:56 4:18 4:29 2:00 3:54 4:53
39 Pascal Hatz 🇩🇪 GER9th of 361 aged 25-29 25-29 1:02:40 7:34 32:04 26:51 3:45 4:00 2:30 2:58 3:30 4:19 1:34 2:55 5:05
40 Johann Frank 🇩🇪 GER9th of 386 aged 35-39 35-39 1:02:46 7:40 31:53 27:05 3:48 4:03 2:08 3:06 3:43 4:28 1:43 3:48 4:06
41 Niklas Lingen 🇩🇪 GER10th of 361 aged 25-29 25-29 1:02:54 7:48 30:42 25:37 6:35 4:12 2:22 3:28 3:53 4:36 1:50 — 3:41
42 Kai Patalla 🇩🇪 GER15th of 488 aged 30-34 30-34 1:02:54 7:48 29:52 27:39 5:23 4:18 1:59 3:34 3:55 4:29 1:35 — 6:05
43 Roman Hopp 🇩🇪 GER10th of 386 aged 35-39 35-39 1:02:57 7:51 31:18 27:45 3:54 4:01 2:17 2:36 3:35 4:26 1:30 3:47 5:33
44 Sven Riederer 🇨🇭 SUI8th of 213 aged 40-44 40-44 1:03:00 7:54 29:33 29:34 3:53 4:04 2:38 3:47 3:33 4:23 1:30 4:09 5:30
45 Marco Kauschka 🇩🇪 GER11th of 361 aged 25-29 25-29 1:03:05 7:59 31:36 27:23 4:06 3:58 2:09 3:09 4:27 4:19 1:44 3:44 3:53
46 Matij Mersch 🇳🇱 NED9th of 213 aged 40-44 40-44 1:03:27 8:21 33:41 25:47 3:59 3:55 2:12 3:02 3:35 4:12 1:37 3:22 3:52
47 René Dau 🇩🇪 GER11th of 386 aged 35-39 35-39 1:03:32 8:26 31:14 26:04 6:14 3:50 2:18 3:21 4:23 4:19 1:50 — 4:23
48 Adrian Probst 🇩🇪 GER16th of 488 aged 30-34 30-34 1:03:38 8:32 29:56 30:02 3:40 4:00 1:57 3:38 4:26 4:14 1:34 3:28 6:45
49 Wouter van den Hoogenband 🇳🇱 NED12th of 361 aged 25-29 25-29 1:03:40 8:34 30:06 27:50 5:44 4:02 2:03 4:22 — 4:27 2:01 3:27 5:32
50 Robin Soppa 🇩🇪 GER12th of 386 aged 35-39 35-39 1:03:49 8:43 30:51 27:55 5:03 4:10 2:34 3:37 3:39 4:23 1:36 3:49 4:07
51 Moritz Bleyer 🇩🇪 GER17th of 488 aged 30-34 30-34 1:03:52 8:46 32:53 23:06 7:53 4:08 2:13 3:28 — 4:09 1:49 — 3:51
52 David Adaine 🇫🇷 FRA13th of 386 aged 35-39 35-39 1:03:53 8:47 31:39 28:12 4:02 4:14 2:12 3:32 3:15 4:34 1:47 3:12 5:26
53 Thomas Heider 🇩🇪 GER1st of 38 aged 55-59 55-59 1:03:58 8:52 32:55 26:57 4:06 3:59 2:39 3:26 3:07 4:06 1:31 3:35 4:34
54 Björn Fugmann 🇩🇪 GER10th of 213 aged 40-44 40-44 1:03:59 8:53 32:22 25:29 6:08 3:58 2:14 3:09 — 4:19 1:32 3:58 4:37
55 Oliver Tesch 🇩🇪 GER18th of 488 aged 30-34 30-34 1:03:59 8:53 30:18 29:40 4:01 4:06 2:02 3:44 3:55 4:19 2:23 3:55 5:16
56 Tobias Schmitt 🇩🇪 GER13th of 361 aged 25-29 25-29 1:04:03 8:57 30:46 27:01 6:16 4:04 2:22 3:34 1:57 4:30 1:23 4:01 5:10
57 Matthias Bendler 🇩🇪 GER11th of 213 aged 40-44 40-44 1:04:07 9:01 35:29 24:28 4:10 3:55 1:53 2:41 3:32 4:00 1:18 3:17 3:52
58 Michele Stancanelli 🇮🇹 ITA14th of 386 aged 35-39 35-39 1:04:07 9:01 32:34 27:26 4:07 4:03 2:22 4:02 3:16 4:17 1:41 3:39 4:06
59 Alexander Wendling 🇩🇪 GER14th of 361 aged 25-29 25-29 1:04:10 9:04 32:16 25:01 6:53 4:10 2:16 3:18 3:31 4:21 1:39 — 3:58
60 Adam Darbyshire 🇬🇧 GBR19th of 488 aged 30-34 30-34 1:04:15 9:09 32:30 27:12 4:33 4:06 2:43 3:19 3:09 4:24 1:31 3:21 4:39
61 Daniel Schloesser 🇩🇪 GER1st of 109 aged 45-49 45-49 1:04:28 9:22 32:31 27:42 4:15 4:02 2:10 3:22 4:00 4:20 1:39 3:43 4:26
62 Carsten Kuhle 🇩🇪 GER15th of 386 aged 35-39 35-39 1:04:30 9:24 29:39 28:17 6:34 3:55 2:33 2:48 4:35 4:38 2:22 — 5:23
63 Patrick Gayer 🇩🇪 GER12th of 213 aged 40-44 40-44 1:04:35 9:29 32:07 28:35 3:53 4:00 2:23 3:40 4:39 4:21 1:47 3:53 3:52
64 Chris Prell 🇩🇪 GER15th of 361 aged 25-29 25-29 1:04:48 9:42 32:44 27:46 4:18 3:57 2:08 3:15 4:25 4:15 1:32 3:52 4:22
65 Maad Eleiwi 🇸🇾 SYR16th of 361 aged 25-29 25-29 1:04:50 9:44 32:28 26:14 6:08 4:00 2:24 3:25 — 4:18 1:43 3:44 4:58
66 Konstantin Ulrich 🇩🇪 GER13th of 213 aged 40-44 40-44 1:04:51 9:45 31:25 26:43 6:43 3:59 2:24 3:53 1:59 4:20 1:40 3:49 4:39
67 Charalampos Kathidjiotis 🇨🇾 CYP16th of 386 aged 35-39 35-39 1:04:53 9:47 33:33 26:33 4:47 4:01 2:16 2:48 3:37 4:06 1:37 4:04 4:04
68 Frank Reinhard 🇩🇪 GER2nd of 109 aged 45-49 45-49 1:04:53 9:47 32:32 27:55 4:26 4:02 2:14 3:44 3:36 4:23 1:34 3:43 4:39
69 Malik Alfousseni 🇩🇪 GER1st of 151 aged 16-24 16-24 1:04:58 9:52 32:39 27:32 4:47 4:02 2:05 3:08 4:03 4:23 1:38 3:30 4:43
70 Alexander Heine 🇩🇪 GER17th of 361 aged 25-29 25-29 1:05:02 9:56 32:57 27:48 4:17 4:05 2:18 3:12 4:01 4:15 1:32 4:30 3:55
71 Philipp Wandl 🇩🇪 GER18th of 361 aged 25-29 25-29 1:05:11 10:05 33:20 27:51 4:00 3:59 2:24 3:16 3:24 4:12 1:32 3:48 5:16
72 Redon Schmeitz 🇳🇱 NED19th of 361 aged 25-29 25-29 1:05:11 10:05 31:15 29:17 4:39 4:16 2:14 3:27 4:16 4:27 1:23 3:33 5:41
73 Nils Reckemeier 🇩🇪 GER20th of 488 aged 30-34 30-34 1:05:43 10:37 32:11 28:59 4:33 4:08 2:15 2:50 4:18 4:08 1:51 3:18 6:11
74 Lukas Dreger 🇩🇪 GER14th of 213 aged 40-44 40-44 1:05:45 10:39 33:10 28:31 4:04 4:12 2:27 3:33 3:43 4:38 1:45 3:57 4:16
75 Christian Lindequist 🇩🇪 GER15th of 213 aged 40-44 40-44 1:05:54 10:48 33:19 27:57 4:38 4:12 2:23 3:02 4:36 4:17 1:20 4:11 3:56
76 Tim Budemann 🇩🇪 GER2nd of 151 aged 16-24 16-24 1:05:57 10:51 32:36 28:56 4:25 3:58 2:00 3:29 4:43 4:21 1:56 3:38 4:51
77 Christoph Baum 🇩🇪 GER16th of 213 aged 40-44 40-44 1:05:58 10:52 34:19 27:15 4:24 4:22 2:31 3:10 3:36 4:32 1:32 3:27 4:05
78 Gordon Schnepel 🇩🇪 GER17th of 213 aged 40-44 40-44 1:06:00 10:54 34:03 25:19 6:38 4:20 2:16 3:13 3:47 4:29 1:36 — 3:55
79 Max Emde 🇩🇪 GER20th of 361 aged 25-29 25-29 1:06:01 10:55 32:32 26:50 6:39 4:11 2:42 3:21 2:27 4:13 1:41 4:03 4:12
80 Felix Müller 🇩🇪 GER17th of 386 aged 35-39 35-39 1:06:05 10:59 33:07 26:18 6:40 4:07 2:36 3:54 3:43 4:11 1:39 2:10 3:58
81 Tim Decker 🇩🇪 GER18th of 386 aged 35-39 35-39 1:06:07 11:01 33:27 27:22 5:18 4:07 1:59 3:27 4:11 4:10 1:29 3:45 4:14
82 Dominique Horlbeck 🇩🇪 GER21st of 361 aged 25-29 25-29 1:06:07 11:01 31:43 29:58 4:26 4:14 2:46 4:05 4:31 4:23 1:41 3:53 4:25
83 Daniel Everett 🇬🇧 GBR22nd of 361 aged 25-29 25-29 1:06:17 11:11 33:10 26:33 6:34 4:02 2:18 3:53 — 4:20 1:30 3:15 5:36
84 Dimi Balis 🇬🇷 GRE19th of 386 aged 35-39 35-39 1:06:17 11:11 31:07 31:12 3:58 4:11 2:22 3:42 4:53 4:21 1:54 2:56 6:53
85 Erik Pomp 🇩🇪 GER21st of 488 aged 30-34 30-34 1:06:18 11:12 33:59 27:13 5:06 3:57 1:40 3:03 4:28 4:04 1:27 4:10 4:24
86 Anton Hülsey 🇩🇪 GER22nd of 488 aged 30-34 30-34 1:06:19 11:13 33:47 28:30 4:02 4:16 2:39 3:10 4:20 4:18 1:22 3:37 4:48
87 Tim Ufermann 🇩🇪 GER3rd of 151 aged 16-24 16-24 1:06:21 11:15 35:12 26:26 4:43 3:58 1:56 2:53 3:56 4:09 1:54 3:46 3:54
88 Luca Ingenhaag 🇩🇪 GER23rd of 361 aged 25-29 25-29 1:06:24 11:18 33:19 29:02 4:03 4:44 2:12 3:54 4:13 4:37 1:49 3:31 4:02
89 Jonas Baum 🇩🇪 GER23rd of 488 aged 30-34 30-34 1:06:37 11:31 33:41 26:16 6:40 4:14 2:32 3:58 — 4:33 1:45 4:02 3:33
90 Christopher Fliegel 🇩🇪 GER20th of 386 aged 35-39 35-39 1:06:44 11:38 32:17 30:27 4:00 4:17 2:46 3:39 4:12 4:30 1:38 3:43 5:42
91 Tobias M. Walter 🇩🇪 GER18th of 213 aged 40-44 40-44 1:06:46 11:40 34:07 27:31 5:08 4:00 2:18 3:27 3:57 4:22 1:32 3:34 4:21
92 Fabian Wesemann 🇩🇪 GER24th of 361 aged 25-29 25-29 1:06:46 11:40 34:19 28:03 4:24 4:04 2:16 3:53 3:55 4:27 1:25 3:30 4:33
93 Kai Schramm 🇩🇪 GER21st of 386 aged 35-39 35-39 1:06:46 11:40 29:53 29:37 7:16 4:04 2:19 3:36 3:21 4:07 1:56 4:32 5:42
94 Björn Fischer 🇩🇪 GER22nd of 386 aged 35-39 35-39 1:06:53 11:47 35:14 27:09 4:30 4:18 2:27 3:30 3:01 4:14 1:38 3:41 4:20
95 Glen Chareyre 🇫🇷 FRA4th of 151 aged 16-24 16-24 1:06:54 11:48 33:43 26:52 6:19 4:20 2:01 3:38 3:50 4:27 1:42 — 5:10
96 Iñigo del Hoyo 🇪🇸 ESP23rd of 386 aged 35-39 35-39 1:06:57 11:51 34:34 28:06 4:17 4:12 2:38 4:08 3:35 4:12 1:42 4:01 3:38
97 Conor Maguire 🇮🇪 IRL5th of 151 aged 16-24 16-24 1:06:58 11:52 29:27 33:35 3:56 4:17 2:40 4:00 4:32 4:32 1:47 4:16 7:31
98 Julian Engelhard 🇩🇪 GER24th of 386 aged 35-39 35-39 1:07:00 11:54 33:12 29:02 4:46 4:10 2:29 3:59 3:30 4:22 2:06 3:25 5:01
99 Juan Manuel Rodríguez Quintana 🇪🇸 ESP25th of 386 aged 35-39 35-39 1:07:03 11:57 35:09 26:58 4:56 3:47 2:10 3:28 3:04 4:15 1:42 3:37 4:55
100 Marco Szostok 🇩🇪 GER26th of 386 aged 35-39 35-39 1:07:07 12:01 33:40 28:46 4:41 4:14 2:40 3:29 3:20 4:38 1:45 3:49 4:51
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