HYROX Cologne 2025: Pro Men results

252 finishers on 10 Apr 2025. Typical finish 1:19:32, fastest 10% under 1:05:25. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Alexander Roncevic 🇦🇹 AUT1st of 65 aged 30-34 30-34 54:43 27:47 23:28 3:28 3:42 2:04 3:05 2:27 3:49 1:27 3:05 3:49
2 Paul Weindl 🇩🇪 GER1st of 67 aged 25-29 25-29 57:14 2:31 28:19 25:15 3:40 3:48 2:18 3:38 2:50 3:55 1:34 3:09 4:03
3 Harry Thompson ENG2nd of 65 aged 30-34 30-34 57:41 2:58 29:15 25:02 3:24 3:42 2:10 3:49 2:44 4:01 1:18 2:44 4:34
4 Joao Rosa de Almeida 🇵🇹 POR2nd of 67 aged 25-29 25-29 57:44 3:01 29:50 24:27 3:27 3:45 2:10 3:47 2:42 3:55 1:26 3:11 3:31
5 Alan Cao 🇫🇷 FRA3rd of 65 aged 30-34 30-34 57:45 3:02 29:39 24:39 3:27 3:46 2:24 3:32 2:41 3:52 1:30 3:16 3:38
6 Franz Löschke 🇩🇪 GER1st of 49 aged 35-39 35-39 58:44 4:01 27:43 27:36 3:25 3:42 2:05 3:38 3:44 4:09 1:54 3:41 4:43
7 Marvin Karsch 🇩🇪 GER4th of 65 aged 30-34 30-34 59:48 5:05 29:07 24:29 6:12 3:49 — 3:46 2:57 4:06 1:42 3:28 4:21
8 Hugo Hugemarq 🇸🇪 SWE3rd of 67 aged 25-29 25-29 1:00:12 5:29 29:48 26:16 4:08 3:34 2:23 3:26 3:34 3:56 1:34 3:33 4:16
9 Austin Azar 🇨🇦 CAN5th of 65 aged 30-34 30-34 1:00:33 5:50 29:19 25:42 5:32 3:50 3:01 3:50 3:11 3:59 1:26 — 4:51
10 David Pearce 🇩🇪 GER4th of 67 aged 25-29 25-29 1:00:40 5:57 29:29 27:28 3:43 3:49 2:12 4:11 3:34 4:00 1:24 3:46 4:32
11 Lucas Parker 🇬🇧 GBR1st of 21 aged 16-24 16-24 1:00:41 5:58 27:51 24:44 8:06 3:48 — 4:23 — 4:02 1:50 4:00 4:54
12 Jaafar Moumen 🇲🇦 MAR1st of 27 aged 40-44 40-44 1:01:30 6:47 29:51 27:53 3:46 3:51 2:44 4:07 3:14 4:08 1:41 3:10 4:58
13 Niels Kinget 🇧🇪 BEL2nd of 21 aged 16-24 16-24 1:02:46 8:03 31:01 28:02 3:43 3:57 3:09 3:43 3:01 4:04 1:56 3:35 4:37
14 Martin Michelius 🇩🇪 GER2nd of 49 aged 35-39 35-39 1:02:49 8:06 31:21 27:34 3:54 3:40 2:34 3:20 3:49 3:59 1:39 3:11 5:22
15 Dan Nota 🇬🇧 GBR5th of 67 aged 25-29 25-29 1:03:14 8:31 29:42 29:53 3:39 4:03 3:38 4:20 3:12 4:20 1:49 3:57 4:34
16 Jordan Bulpitt 🇬🇧 GBR6th of 67 aged 25-29 25-29 1:03:37 8:54 32:38 27:03 3:56 3:52 2:27 2:56 3:26 4:14 1:40 3:23 5:05
17 Tim Wacker 🇩🇪 GER3rd of 21 aged 16-24 16-24 1:03:39 8:56 30:52 28:48 3:59 4:00 2:30 3:58 3:20 4:12 2:17 3:52 4:39
18 Dennis Gödde 🇩🇪 GER7th of 67 aged 25-29 25-29 1:03:52 9:09 30:24 29:16 4:12 4:05 2:49 4:48 3:05 4:09 1:38 3:45 4:57
19 Jendrik Brügmann 🇩🇪 GER8th of 67 aged 25-29 25-29 1:04:06 9:23 31:55 28:28 3:43 4:01 2:43 3:46 4:04 4:13 1:19 4:07 4:15
20 Nicolas Paquay 🇫🇷 FRA6th of 65 aged 30-34 30-34 1:04:22 9:39 32:05 28:33 3:44 4:04 2:51 4:04 3:03 4:11 1:47 3:47 4:46
21 Louis Pavis 🇫🇷 FRA3rd of 49 aged 35-39 35-39 1:04:29 9:46 33:21 26:49 4:19 3:43 2:12 3:42 3:42 3:48 1:43 3:48 4:11
22 Felix Hahnsch 🇩🇪 GER7th of 65 aged 30-34 30-34 1:04:30 9:47 31:06 29:37 3:47 3:51 2:52 3:58 3:24 4:09 1:35 4:31 5:17
23 Christian Haas 🇩🇪 GER8th of 65 aged 30-34 30-34 1:04:52 10:09 31:33 29:35 3:44 3:53 2:47 4:01 3:20 4:16 1:40 3:49 5:49
24 Niko Ferry 🇫🇷 FRA4th of 21 aged 16-24 16-24 1:04:55 10:12 31:29 29:09 4:17 4:00 2:37 4:14 3:18 4:15 1:37 4:14 4:54
25 Malek Park-Said 🇩🇪 GER4th of 49 aged 35-39 35-39 1:05:09 10:26 33:06 28:15 3:48 3:57 2:39 3:50 3:10 4:08 1:59 3:45 4:47
26 Lukas Wrobel 🇩🇰 DEN9th of 67 aged 25-29 25-29 1:05:24 10:41 31:14 30:26 3:44 3:59 2:42 4:37 3:43 4:21 1:47 3:33 5:44
27 Timo Tekolf 🇩🇪 GER9th of 65 aged 30-34 30-34 1:05:30 10:47 31:55 29:10 4:25 3:53 2:40 4:03 3:40 4:11 1:25 3:58 5:20
28 Farid Ailam 🇫🇷 FRA2nd of 27 aged 40-44 40-44 1:06:13 11:30 33:07 28:20 4:46 4:12 2:28 3:53 3:37 4:09 1:34 3:41 4:46
29 Ralf Gärtner 🇩🇪 GER5th of 49 aged 35-39 35-39 1:06:20 11:37 31:25 30:37 4:18 3:53 2:41 3:41 3:40 4:04 1:36 3:50 7:12
30 Marijan Brekalo 🇭🇷 CRO6th of 49 aged 35-39 35-39 1:06:24 11:41 30:44 26:57 8:43 3:50 3:06 4:01 2:06 4:16 1:37 2:26 5:35
31 Viktor Munck Larsson 🇸🇪 SWE10th of 67 aged 25-29 25-29 1:06:47 12:04 33:19 29:22 4:06 3:54 3:39 4:32 3:33 4:08 1:36 3:57 4:03
32 Farid Ailam 🇫🇷 FRA3rd of 27 aged 40-44 40-44 1:06:58 12:15 33:00 29:15 4:43 3:58 2:49 3:43 3:28 4:23 1:34 3:59 5:21
33 Robert James 🇬🇧 GBR7th of 49 aged 35-39 35-39 1:07:07 12:24 30:28 32:39 4:00 3:52 2:59 6:02 3:50 4:19 2:26 4:15 4:56
34 Rune Dallmann 🇩🇪 GER8th of 49 aged 35-39 35-39 1:07:11 12:28 32:25 30:17 4:29 3:58 2:50 4:31 3:08 4:07 1:36 4:18 5:49
35 Bastian Peters 🇩🇪 GER10th of 65 aged 30-34 30-34 1:07:14 12:31 32:36 28:13 6:25 3:54 2:38 4:09 4:39 4:11 1:37 2:08 4:57
36 Henrik Schilling 🇩🇪 GER11th of 67 aged 25-29 25-29 1:07:21 12:38 32:41 28:35 6:05 3:58 2:43 4:15 3:29 4:16 2:12 — 5:51
37 Jeremy Saxon 🇬🇧 GBR9th of 49 aged 35-39 35-39 1:07:24 12:41 32:15 30:22 4:47 3:54 3:18 4:35 3:19 4:18 1:55 4:17 4:46
38 Philipp Müller 🇩🇪 GER4th of 27 aged 40-44 40-44 1:07:33 12:50 31:29 31:02 5:02 4:12 3:09 4:14 3:37 4:21 1:54 3:54 5:41
39 Giuseppe Merlino 🇮🇹 ITA11th of 65 aged 30-34 30-34 1:07:48 13:05 30:26 32:27 4:55 4:09 3:37 5:40 2:52 4:20 2:08 4:36 5:05
40 Farid Ailam 🇫🇷 FRA5th of 27 aged 40-44 40-44 1:08:08 13:25 33:38 29:30 5:00 4:00 2:54 4:15 3:06 4:15 1:36 3:41 5:43
41 Andreas Fichtel 🇩🇪 GER12th of 65 aged 30-34 30-34 1:08:16 13:33 34:41 29:06 4:29 3:55 3:04 4:05 3:39 4:06 1:45 3:46 4:46
42 Toni Maschitzke 🇩🇪 GER10th of 49 aged 35-39 35-39 1:08:29 13:46 32:59 31:08 4:22 4:05 3:14 4:20 3:04 4:26 1:52 4:25 5:42
43 Yoann Lescure 🇫🇷 FRA6th of 27 aged 40-44 40-44 1:08:38 13:55 34:04 30:13 4:21 4:05 3:10 4:17 3:26 4:17 1:54 3:55 5:09
44 Paul Lancaster 🇬🇧 GBR1st of 5 aged 50-54 50-54 1:08:44 14:01 32:43 31:35 4:26 4:08 2:52 4:02 4:00 4:16 1:35 5:26 5:16
45 Robin Perlemoine 🇫🇷 FRA12th of 67 aged 25-29 25-29 1:08:54 14:11 34:32 29:39 4:43 4:19 2:42 3:59 3:12 4:20 1:53 4:18 4:56
46 Mickaël Mickael 🇫🇷 FRA11th of 49 aged 35-39 35-39 1:09:13 14:30 35:22 29:29 4:22 3:57 3:00 4:28 3:37 4:13 1:52 4:13 4:09
47 Alexander Wendling 🇩🇪 GER13th of 67 aged 25-29 25-29 1:09:14 14:31 32:46 31:19 5:09 4:13 2:53 4:11 3:18 4:23 1:44 4:43 5:54
48 Bobby Bos 🇳🇱 NED14th of 67 aged 25-29 25-29 1:09:22 14:39 33:01 31:38 4:43 3:57 3:09 4:17 4:30 4:14 1:52 3:58 5:41
49 Thorsten Dürr 🇩🇪 GER7th of 27 aged 40-44 40-44 1:09:24 14:41 32:15 32:18 4:51 4:02 2:52 4:11 4:04 4:15 2:11 4:30 6:13
50 Raphael Merkt 🇩🇪 GER13th of 65 aged 30-34 30-34 1:09:28 14:45 33:13 31:31 4:44 4:02 2:36 4:02 4:50 4:30 1:24 4:22 5:45
51 Calvin Camehl 🇩🇪 GER15th of 67 aged 25-29 25-29 1:09:31 14:48 34:07 30:07 5:17 3:53 2:59 4:22 3:49 4:30 1:35 4:43 4:16
52 Thilo Schmalkoke 🇩🇪 GER2nd of 5 aged 50-54 50-54 1:09:33 14:50 36:03 27:10 6:20 4:03 2:32 3:53 — 4:06 1:58 4:00 4:47
53 Sebastian Kienle 🇩🇪 GER8th of 27 aged 40-44 40-44 1:09:33 14:50 30:46 34:12 4:35 3:54 3:26 5:42 3:47 4:14 2:12 4:47 6:10
54 David Pfahl 🇩🇪 GER14th of 65 aged 30-34 30-34 1:09:59 15:16 35:08 27:42 7:09 4:06 3:11 4:05 3:53 4:23 1:41 — 4:22
55 Alexander Winkler 🇩🇪 GER9th of 27 aged 40-44 40-44 1:10:01 15:18 36:11 26:34 7:16 3:54 2:36 4:24 3:52 4:23 1:47 — 3:48
56 Patrick Benecke 🇩🇪 GER12th of 49 aged 35-39 35-39 1:10:05 15:22 33:28 30:45 5:52 3:55 — 4:58 4:01 4:17 1:51 4:44 5:46
57 Raphael Merkt 🇩🇪 GER15th of 65 aged 30-34 30-34 1:10:22 15:39 34:34 28:32 7:16 3:55 2:54 4:03 2:19 4:21 1:22 4:12 5:26
58 Aleksandar Zlatkov 🇦🇹 AUT16th of 65 aged 30-34 30-34 1:10:34 15:51 34:54 30:50 4:50 4:06 3:03 4:10 4:07 4:25 1:42 3:58 5:19
59 Victor Daupeley 🇫🇷 FRA17th of 65 aged 30-34 30-34 1:10:51 16:08 33:26 30:28 6:57 3:44 2:45 5:38 4:11 4:08 1:38 2:12 6:12
60 Kevin Thewes 🇩🇪 GER18th of 65 aged 30-34 30-34 1:11:05 16:22 34:26 32:22 4:17 4:04 3:10 4:44 4:14 4:31 1:51 3:48 6:00
61 Harun Mehanovic 🇱🇺 LUX16th of 67 aged 25-29 25-29 1:11:05 16:22 33:32 33:05 4:28 4:10 2:54 4:20 4:12 4:28 2:12 4:47 6:02
62 Florian Wolf 🇩🇪 GER13th of 49 aged 35-39 35-39 1:11:11 16:28 36:44 29:18 5:09 3:39 2:29 3:58 4:26 4:06 1:32 4:05 5:03
63 Berthel Jakobsen 🇩🇰 DEN5th of 21 aged 16-24 16-24 1:11:22 16:39 32:29 33:34 5:19 4:07 3:01 5:17 4:20 4:18 2:25 4:09 5:57
64 Jordi Walder 🇩🇪 GER17th of 67 aged 25-29 25-29 1:11:33 16:50 35:10 32:01 4:22 4:12 2:55 4:32 4:34 4:14 1:51 3:48 5:55
65 Constantin Wagner 🇩🇪 GER19th of 65 aged 30-34 30-34 1:11:44 17:01 34:28 32:50 4:26 3:54 3:00 5:01 4:15 4:13 1:38 4:25 6:24
66 Leon Berfelde 🇩🇪 GER18th of 67 aged 25-29 25-29 1:11:49 17:06 34:38 32:23 4:48 3:59 2:56 4:27 4:14 4:23 1:44 4:34 6:06
67 Stefan Beckmann 🇩🇪 GER19th of 67 aged 25-29 25-29 1:12:04 17:21 31:35 34:32 5:57 4:12 3:34 5:57 4:33 4:24 1:23 4:01 6:28
68 Christopher Tebbe 🇩🇪 GER20th of 67 aged 25-29 25-29 1:12:17 17:34 36:14 29:02 7:01 4:16 3:06 3:37 4:07 4:22 1:52 — 5:43
69 Alexander Steland 🇩🇪 GER20th of 65 aged 30-34 30-34 1:12:17 17:34 33:58 32:27 5:52 4:03 3:19 5:30 3:33 4:27 1:25 4:09 6:01
70 Nils Baukrowitz 🇩🇪 GER21st of 67 aged 25-29 25-29 1:12:18 17:35 32:47 34:54 4:37 3:56 3:00 4:50 4:08 4:12 1:51 5:09 7:48
71 Florian Brennecke 🇩🇪 GER21st of 65 aged 30-34 30-34 1:12:20 17:37 33:36 33:18 5:26 3:59 2:58 4:45 5:08 4:27 1:46 4:27 5:48
72 Herkules Reimann 🇩🇪 GER1st of 11 aged 45-49 45-49 1:12:30 17:47 35:20 32:25 4:45 4:02 3:09 4:34 3:42 4:25 2:02 4:19 6:12
73 Andre Ullsperger 🇩🇪 GER10th of 27 aged 40-44 40-44 1:12:46 18:03 35:24 30:54 6:28 4:09 3:17 4:41 4:06 4:20 2:02 2:23 5:56
74 Alexander Wulf 🇩🇪 GER22nd of 67 aged 25-29 25-29 1:13:24 18:41 37:03 31:08 5:13 3:53 2:38 4:43 4:30 4:16 1:21 4:46 5:01
75 Jacob-Nelson Zombou 🇩🇪 GER22nd of 65 aged 30-34 30-34 1:14:06 19:23 35:25 34:04 4:37 3:46 3:03 4:57 3:54 4:39 1:57 4:30 7:18
76 Niklas Oppermann 🇩🇪 GER23rd of 67 aged 25-29 25-29 1:14:06 19:23 34:49 34:17 5:00 4:12 3:11 4:50 4:25 4:34 1:59 4:50 6:16
77 Christian Kukuk 🇩🇪 GER14th of 49 aged 35-39 35-39 1:14:06 19:23 33:21 34:51 5:54 3:58 3:13 5:23 4:05 4:14 1:47 4:28 7:43
78 Raimond Huiszoon 🇳🇱 NED23rd of 65 aged 30-34 30-34 1:14:17 19:34 34:20 32:29 7:28 4:00 3:24 4:32 2:09 4:36 1:48 5:11 6:49
79 Benjamin Hahn 🇩🇪 GER24th of 65 aged 30-34 30-34 1:14:19 19:36 36:38 32:18 5:23 3:56 2:51 3:46 4:22 4:14 1:56 4:45 6:28
80 Daniel Reiter 🇩🇪 GER15th of 49 aged 35-39 35-39 1:14:20 19:37 33:11 36:37 4:32 4:06 3:03 4:39 4:17 4:27 2:07 5:34 8:24
81 Maximilian Kleiber 🇩🇪 GER16th of 49 aged 35-39 35-39 1:14:32 19:49 35:58 34:24 4:10 4:04 2:58 5:05 5:08 4:06 1:43 5:19 6:01
82 Giovanni de Oliveira 🇫🇷 FRA6th of 21 aged 16-24 16-24 1:14:32 19:49 35:22 34:33 4:37 3:58 3:05 5:11 4:55 4:29 1:43 5:30 5:42
83 Pascal Michels 🇩🇪 GER25th of 65 aged 30-34 30-34 1:14:36 19:53 37:18 32:03 5:15 4:03 3:33 4:41 3:18 4:37 1:42 4:20 5:49
84 Lukas Licht 🇩🇪 GER24th of 67 aged 25-29 25-29 1:14:38 19:55 38:22 30:37 5:39 3:54 2:35 6:05 2:51 4:16 1:50 4:36 4:30
85 Moritz Müller 🇩🇪 GER25th of 67 aged 25-29 25-29 1:14:39 19:56 35:08 35:17 4:14 4:05 3:14 5:01 4:56 4:23 1:43 4:42 7:13
86 Boris Wuidart 🇧🇪 BEL26th of 65 aged 30-34 30-34 1:14:41 19:58 37:42 31:36 5:23 4:09 2:55 4:54 3:13 4:17 2:02 4:14 5:52
87 Domenik Pickard 🇩🇪 GER27th of 65 aged 30-34 30-34 1:14:50 20:07 35:03 34:40 5:07 4:17 3:07 5:10 4:40 4:40 2:02 4:58 5:46
88 Christoph Bauer 🇩🇪 GER28th of 65 aged 30-34 30-34 1:15:01 20:18 36:22 33:59 4:40 4:26 3:38 5:02 4:42 4:36 1:39 4:56 5:00
89 Tom Kruse 🇩🇪 GER29th of 65 aged 30-34 30-34 1:15:11 20:28 36:43 33:23 5:05 4:10 3:11 4:07 4:14 4:26 2:16 5:05 5:54
90 Sergej Sorokin HYROX30th of 65 aged 30-34 30-34 1:15:12 20:29 35:16 32:39 7:17 4:01 2:38 4:21 3:51 4:22 1:50 3:57 7:39
91 Markus van Tilburg 🇩🇪 GER11th of 27 aged 40-44 40-44 1:15:16 20:33 32:43 37:52 4:41 4:13 3:54 4:37 4:45 4:31 2:48 5:50 7:14
92 Jannik Eggs 🇩🇪 GER26th of 67 aged 25-29 25-29 1:15:40 20:57 34:27 35:43 5:30 4:16 3:15 4:49 4:58 4:21 1:59 4:56 7:09
93 Timo Sigloch 🇩🇪 GER31st of 65 aged 30-34 30-34 1:15:42 20:59 34:46 36:28 4:28 4:18 3:00 5:05 4:37 4:34 2:17 6:10 6:27
94 Djarno van Tongerlo 🇳🇱 NED27th of 67 aged 25-29 25-29 1:16:03 21:20 35:35 35:34 4:54 4:22 2:45 4:37 4:32 4:42 2:27 4:35 7:34
95 Zachary Collier 🇺🇸 USA32nd of 65 aged 30-34 30-34 1:16:10 21:27 34:39 36:33 4:58 4:22 3:20 5:34 4:49 4:20 2:19 5:16 6:33
96 Roman Uhr 🇩🇪 GER33rd of 65 aged 30-34 30-34 1:16:28 21:45 37:39 34:10 4:39 3:57 3:04 4:20 4:45 4:25 2:15 5:25 5:59
97 Fabien Nguyen 🇫🇷 FRA34th of 65 aged 30-34 30-34 1:16:43 22:00 34:57 36:48 4:58 4:19 3:30 5:09 4:13 4:48 2:08 4:56 7:45
98 Mario Hollmann 🇩🇪 GER1st of 7 aged 55-59 55-59 1:16:58 22:15 35:01 37:30 4:27 4:18 3:09 5:26 3:48 4:27 2:05 5:47 8:30
99 Kirill Schitomirski 🇩🇪 GER12th of 27 aged 40-44 40-44 1:17:18 22:35 36:38 36:01 4:39 3:58 3:06 7:23 4:44 4:18 2:11 5:08 5:13
100 Branco van Peer 🇳🇱 NED28th of 67 aged 25-29 25-29 1:17:18 22:35 32:19 40:25 4:34 4:02 3:13 5:27 5:02 4:47 2:15 5:05 10:34
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