HYROX Frankfurt 2025: Open Men results

1,883 finishers on 12 Dec 2025. Typical finish 1:26:21, fastest 10% under 1:11:21. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Tobias Kiefer 🇩🇪 GER1st of 483 aged 30-34 30-34 57:19 28:48 24:25 4:10 3:58 2:42 2:58 3:10 4:05 1:33 2:40 3:19
2 Marc McLean 🇬🇧 GBR1st of 324 aged 25-29 25-29 58:56 1:37 29:24 25:16 4:20 4:07 2:50 3:00 3:14 4:08 1:28 3:06 3:23
3 Rune Dallmann 🇩🇪 GER1st of 411 aged 35-39 35-39 59:09 1:50 27:48 27:17 4:08 3:59 2:56 3:06 3:21 4:15 1:37 3:25 4:38
4 Nico Krackl 🇩🇪 GER2nd of 411 aged 35-39 35-39 59:46 2:27 29:59 25:23 4:28 4:00 2:40 3:05 2:48 4:11 1:20 2:59 4:20
5 Bruno Ferreira 🇵🇹 POR1st of 235 aged 40-44 40-44 1:00:16 2:57 30:16 25:26 4:39 3:50 2:35 3:12 2:51 4:04 1:36 3:14 4:04
6 Max Bernard 🇩🇪 GER2nd of 324 aged 25-29 25-29 1:00:16 2:57 29:25 26:35 4:21 4:17 3:03 3:12 3:06 4:19 1:39 3:33 3:26
7 Ralf Ulmer 🇩🇪 GER3rd of 411 aged 35-39 35-39 1:00:22 3:03 27:18 29:10 4:01 4:10 2:52 3:16 2:49 4:11 1:36 3:05 7:11
8 Nuno Schollmayer 🇩🇪 GER1st of 144 aged 16-24 16-24 1:00:27 3:08 31:13 24:49 4:32 4:03 2:28 3:09 2:59 4:17 1:30 2:40 3:43
9 Marco Kauschka 🇩🇪 GER3rd of 324 aged 25-29 25-29 1:00:40 3:21 30:51 25:21 4:32 3:52 2:26 3:01 3:28 4:07 1:39 3:13 3:35
10 Max-Ludwig Vogeley 🇩🇪 GER4th of 324 aged 25-29 25-29 1:01:46 4:27 31:35 25:37 4:39 4:03 2:42 3:01 3:08 4:06 1:23 2:56 4:18
11 Fabian Schuster 🇦🇹 AUT2nd of 483 aged 30-34 30-34 1:02:00 4:41 31:05 26:28 4:32 4:03 2:39 3:23 3:17 4:21 1:20 3:05 4:20
12 Dominik Fechner 🇩🇪 GER2nd of 235 aged 40-44 40-44 1:02:15 4:56 29:13 28:19 4:47 4:04 3:33 4:24 2:41 4:26 1:51 3:09 4:11
13 Peter Simon 🇭🇺 HUN3rd of 483 aged 30-34 30-34 1:02:17 4:58 30:44 26:05 5:33 3:58 2:46 3:35 2:55 4:19 1:30 2:57 4:05
14 Tobias Schmitt 🇩🇪 GER5th of 324 aged 25-29 25-29 1:02:37 5:18 30:10 28:07 4:24 4:01 3:10 3:21 3:46 4:18 1:30 3:32 4:29
15 Rémi Garranger 🇫🇷 FRA4th of 483 aged 30-34 30-34 1:02:38 5:19 30:32 27:38 4:33 4:22 2:46 3:36 3:09 4:25 1:26 3:26 4:28
16 Dimitris Gkorezis 🇬🇷 GRE5th of 483 aged 30-34 30-34 1:02:54 5:35 31:20 26:53 4:46 4:05 3:34 4:12 2:37 4:13 1:33 3:11 3:28
17 Malik Alfousseni 🇩🇪 GER2nd of 144 aged 16-24 16-24 1:02:56 5:37 31:07 27:26 4:29 4:17 2:57 3:40 3:39 4:23 1:36 3:15 3:39
18 Patrick Gayer 🇩🇪 GER3rd of 235 aged 40-44 40-44 1:02:58 5:39 31:15 27:13 4:34 4:06 3:09 3:10 4:09 4:23 1:28 3:06 3:42
19 Dennis Stricker 🇩🇪 GER6th of 483 aged 30-34 30-34 1:03:18 5:59 31:14 27:10 4:58 4:08 2:35 3:46 3:47 4:13 1:39 2:59 4:03
20 Kilian Borjans 🇩🇪 GER7th of 483 aged 30-34 30-34 1:03:20 6:01 32:17 26:10 4:58 4:13 2:42 3:23 3:02 4:23 1:28 3:05 3:54
21 Malik Farhat 🇩🇪 GER6th of 324 aged 25-29 25-29 1:03:21 6:02 27:36 31:04 4:44 4:19 3:06 4:15 3:21 4:22 1:55 3:57 5:49
22 Dimitris Balis 🇬🇷 GRE4th of 411 aged 35-39 35-39 1:03:26 6:07 31:02 27:33 4:57 4:04 3:14 4:22 3:19 4:23 1:37 2:36 3:58
23 David Giles 🇮🇪 IRL5th of 411 aged 35-39 35-39 1:03:27 6:08 31:31 27:16 4:44 4:03 2:55 3:20 3:23 4:12 1:27 3:52 4:04
24 Clemens Scherbel 🇩🇪 GER6th of 411 aged 35-39 35-39 1:03:30 6:11 32:49 25:40 5:05 4:09 2:59 3:05 2:43 4:15 1:39 3:10 3:40
25 Jannis Kirschbaum 🇩🇪 GER7th of 324 aged 25-29 25-29 1:03:33 6:14 32:45 25:30 5:22 3:49 2:07 3:29 3:19 4:16 1:33 2:39 4:18
26 Sebastian Geisel 🇩🇪 GER7th of 411 aged 35-39 35-39 1:03:35 6:16 33:00 25:54 4:46 4:18 3:20 3:06 2:45 4:18 1:36 2:52 3:39
27 Konstantin Jünger 🇩🇪 GER8th of 411 aged 35-39 35-39 1:03:37 6:18 31:42 27:08 4:51 4:08 2:48 3:52 3:02 4:16 1:41 3:15 4:06
28 Robin Ullrich 🇩🇪 GER3rd of 144 aged 16-24 16-24 1:03:40 6:21 33:37 25:07 5:00 4:13 2:02 3:29 3:05 4:21 1:17 2:42 3:58
29 Manuel Thiel 🇩🇪 GER9th of 411 aged 35-39 35-39 1:03:43 6:24 31:43 27:23 4:41 4:07 2:56 3:15 4:00 4:12 1:45 3:28 3:40
30 Kevin Ociepka 🇩🇪 GER8th of 483 aged 30-34 30-34 1:03:49 6:30 30:43 28:35 4:36 4:03 3:45 3:41 3:33 4:17 1:42 3:16 4:18
31 Martin Kapicak 🇩🇪 GER4th of 144 aged 16-24 16-24 1:03:50 6:31 31:27 27:48 4:40 3:56 3:00 3:33 3:20 4:18 1:33 3:10 4:58
32 Nicolas Robert 🇫🇷 FRA10th of 411 aged 35-39 35-39 1:03:54 6:35 30:03 29:06 4:49 4:23 3:07 4:00 3:08 4:28 1:42 3:11 5:07
33 Sebastian Klemm 🇩🇪 GER9th of 483 aged 30-34 30-34 1:03:56 6:37 32:02 27:11 4:50 3:54 2:35 3:32 3:13 4:09 1:47 3:28 4:33
34 Oliver Tesch 🇩🇪 GER11th of 411 aged 35-39 35-39 1:04:01 6:42 31:05 28:06 4:53 4:11 2:35 3:57 3:36 4:18 2:05 3:16 4:08
35 Lukas Mayer 🇩🇪 GER12th of 411 aged 35-39 35-39 1:04:08 6:49 31:45 27:37 4:51 4:03 2:38 3:22 3:24 4:17 1:53 3:40 4:20
36 Timo Bernhard 🇨🇭 SUI8th of 324 aged 25-29 25-29 1:04:09 6:50 31:11 28:21 4:41 4:18 2:55 3:38 3:38 4:26 1:55 2:57 4:34
37 Francisco Carneiro 🇵🇹 POR9th of 324 aged 25-29 25-29 1:04:10 6:51 32:57 26:21 4:56 4:04 2:24 3:14 3:21 4:30 1:32 3:28 3:48
38 Maximilian Kunert 🇩🇪 GER10th of 324 aged 25-29 25-29 1:04:15 6:56 32:46 26:21 5:14 4:00 2:51 3:37 3:26 4:13 1:33 2:52 3:49
39 Anton Hülsey 🇩🇪 GER10th of 483 aged 30-34 30-34 1:04:24 7:05 32:30 27:00 4:58 4:14 3:21 3:36 3:32 4:18 1:24 2:44 3:51
40 Simon Pfister 🇫🇷 FRA11th of 483 aged 30-34 30-34 1:04:29 7:10 30:47 28:41 5:04 4:13 3:12 3:44 3:12 4:25 1:52 3:20 4:43
41 Constantin Rieger 🇩🇪 GER11th of 324 aged 25-29 25-29 1:04:36 7:17 31:10 28:53 4:37 4:13 2:45 3:34 4:02 4:21 1:37 3:11 5:10
42 Maxime Vautrinot 🇫🇷 FRA12th of 324 aged 25-29 25-29 1:04:38 7:19 31:32 28:15 4:55 4:20 2:41 3:38 3:52 4:21 1:33 3:46 4:04
43 Tim Decker 🇩🇪 GER13th of 411 aged 35-39 35-39 1:04:42 7:23 32:20 27:21 5:07 3:54 2:20 3:28 3:56 4:08 1:29 4:08 3:58
44 Marco Seibert 🇩🇪 GER12th of 483 aged 30-34 30-34 1:04:43 7:24 30:52 28:18 5:38 4:01 2:26 3:32 3:42 4:06 1:50 4:22 4:19
45 Clemens Reinhardt 🇩🇪 GER14th of 411 aged 35-39 35-39 1:04:44 7:25 30:45 29:26 4:38 4:10 3:38 4:20 3:43 4:19 1:39 3:25 4:12
46 Daniel Widjaja 🇨🇭 SUI4th of 235 aged 40-44 40-44 1:04:46 7:27 32:22 27:34 4:54 4:21 3:18 3:36 3:06 4:19 1:36 3:18 4:00
47 Jip de Jong 🇳🇱 NED13th of 324 aged 25-29 25-29 1:05:02 7:43 30:23 30:00 4:44 4:18 3:25 4:14 3:49 4:25 1:46 3:27 4:36
48 Christoph Mattner 🇩🇪 GER15th of 411 aged 35-39 35-39 1:05:04 7:45 28:40 31:30 4:58 4:05 3:28 4:33 3:35 4:13 1:16 4:44 5:36
49 Phillipp Leuchtmann 🇩🇪 GER13th of 483 aged 30-34 30-34 1:05:06 7:47 32:27 27:35 5:08 3:55 2:34 3:45 4:05 4:19 1:27 3:41 3:49
50 Niko Reislöhner 🇩🇪 GER14th of 324 aged 25-29 25-29 1:05:07 7:48 30:22 30:06 4:43 4:11 3:06 3:43 4:12 4:12 1:34 3:55 5:13
51 Marcel Roith 🇩🇪 GER15th of 324 aged 25-29 25-29 1:05:08 7:49 32:32 27:29 5:11 4:10 2:34 3:49 3:04 4:20 1:29 3:35 4:28
52 Andreas Fruhmann 🇩🇪 GER1st of 134 aged 45-49 45-49 1:05:10 7:51 31:15 29:03 4:56 4:14 3:44 3:44 3:32 4:29 1:34 3:04 4:42
53 Robinson Bentler 🇩🇪 GER14th of 483 aged 30-34 30-34 1:05:13 7:54 33:03 27:27 4:48 4:07 2:48 3:14 4:01 4:28 1:26 3:14 4:09
54 Adam Davies 🇬🇧 GBR15th of 483 aged 30-34 30-34 1:05:17 7:58 32:10 28:15 4:58 3:58 2:33 3:50 3:30 4:13 1:39 3:54 4:38
55 Karl Dollinger 🇩🇪 GER16th of 483 aged 30-34 30-34 1:05:25 8:06 32:25 28:18 4:46 4:15 2:30 3:37 4:01 4:24 1:27 3:22 4:42
56 Tobias Hosenfelder 🇩🇪 GER16th of 324 aged 25-29 25-29 1:05:29 8:10 34:20 26:13 5:01 3:48 2:39 3:31 3:17 4:11 1:28 3:25 3:54
57 Maxime Fallot 🇫🇷 FRA5th of 144 aged 16-24 16-24 1:05:44 8:25 31:19 29:06 5:22 4:20 3:54 4:32 2:43 4:37 1:36 3:18 4:06
58 Florian Beck 🇩🇪 GER17th of 483 aged 30-34 30-34 1:05:44 8:25 30:54 29:28 5:28 4:03 3:06 3:41 3:35 4:12 1:45 3:44 5:22
59 Mike Schifferle 🇨🇭 SUI1st of 79 aged 50-54 50-54 1:05:46 8:27 33:10 27:39 5:02 4:10 3:21 3:38 3:23 4:16 1:30 3:17 4:04
60 Andreas Schneider 🇩🇪 GER16th of 411 aged 35-39 35-39 1:05:57 8:38 32:11 29:08 4:42 4:18 3:23 3:14 3:38 4:14 1:25 4:19 4:37
61 Thomas Engel 🇩🇪 GER17th of 411 aged 35-39 35-39 1:06:01 8:42 31:30 29:08 5:28 4:21 2:46 3:36 4:00 4:27 1:17 4:09 4:32
62 George Nash 🇬🇧 GBR18th of 411 aged 35-39 35-39 1:06:08 8:49 31:19 30:23 4:32 4:33 3:42 3:58 3:35 4:55 1:15 3:25 5:00
63 Aodhan Gervin 🇮🇪 IRL17th of 324 aged 25-29 25-29 1:06:17 8:58 31:35 30:00 4:47 4:05 3:15 3:42 4:00 4:13 2:04 3:29 5:12
64 Felix Müller 🇩🇪 GER19th of 411 aged 35-39 35-39 1:06:21 9:02 31:16 29:39 5:32 4:16 3:27 4:01 3:42 4:18 1:35 4:17 4:03
65 Tornike Beradze 🇩🇪 GER18th of 483 aged 30-34 30-34 1:06:22 9:03 31:16 30:05 5:06 4:02 3:13 4:09 4:33 4:18 1:22 3:34 4:54
66 Peter de Gruijl 🇳🇱 NED19th of 483 aged 30-34 30-34 1:06:28 9:09 31:36 29:34 5:21 4:02 3:08 3:52 3:33 4:29 1:45 4:01 4:44
67 Paul Hadler 🇩🇪 GER6th of 144 aged 16-24 16-24 1:06:31 9:12 32:11 29:28 4:57 4:11 3:11 3:42 4:16 4:08 1:45 4:11 4:04
68 Benedikt Reitwiessner 🇩🇪 GER20th of 411 aged 35-39 35-39 1:06:37 9:18 33:55 28:00 4:49 3:56 2:39 3:29 3:58 4:06 1:31 3:38 4:43
69 Mathieu Gendre 🇩🇪 GER18th of 324 aged 25-29 25-29 1:06:42 9:23 31:46 29:59 5:01 4:16 3:29 3:51 3:34 4:22 1:31 3:34 5:22
70 Maximilian Premßler 🇩🇪 GER20th of 483 aged 30-34 30-34 1:06:45 9:26 39:08 22:21 5:21 3:53 1:30 2:48 2:13 4:11 1:17 2:33 3:56
71 Robin Noller 🇩🇪 GER21st of 483 aged 30-34 30-34 1:06:50 9:31 33:42 28:11 5:01 4:17 2:50 4:09 3:19 4:19 1:35 3:34 4:08
72 Christian Liegmann 🇩🇪 GER22nd of 483 aged 30-34 30-34 1:06:51 9:32 35:35 26:11 5:09 3:57 2:39 3:13 3:28 3:58 1:35 3:18 4:03
73 Max Hagen 🇩🇪 GER21st of 411 aged 35-39 35-39 1:06:54 9:35 31:51 29:38 5:27 4:09 2:40 4:18 4:00 4:34 1:38 3:45 4:34
74 Stefan Hartmann 🇩🇪 GER5th of 235 aged 40-44 40-44 1:06:59 9:40 32:34 29:11 5:19 4:03 2:42 3:42 4:05 4:09 1:40 4:04 4:46
75 Andreas Soergel 🇩🇪 GER22nd of 411 aged 35-39 35-39 1:07:02 9:43 34:17 27:29 5:20 4:12 3:08 3:58 3:12 4:18 1:39 2:54 4:08
76 Marco Möhring 🇩🇪 GER23rd of 411 aged 35-39 35-39 1:07:02 9:43 31:56 30:19 4:52 4:10 2:52 3:59 3:45 4:25 1:37 3:38 5:53
77 Björn Ehresmann 🇩🇪 GER23rd of 483 aged 30-34 30-34 1:07:08 9:49 35:30 26:31 5:12 4:15 3:26 3:21 2:32 4:15 1:30 3:25 3:47
78 Viktor Wolf 🇩🇪 GER24th of 411 aged 35-39 35-39 1:07:08 9:49 33:43 28:12 5:19 4:08 3:02 3:30 3:21 4:18 1:38 3:50 4:25
79 Hannes Sauter 🇩🇪 GER24th of 483 aged 30-34 30-34 1:07:16 9:57 33:30 28:47 5:04 4:17 3:05 3:42 3:33 4:27 1:45 3:21 4:37
80 Leon Widmaier 🇩🇪 GER19th of 324 aged 25-29 25-29 1:07:21 10:02 32:21 29:44 5:20 3:58 3:08 4:18 3:52 4:24 1:55 3:48 4:21
81 Nick Waldstädt 🇩🇪 GER20th of 324 aged 25-29 25-29 1:07:24 10:05 34:17 27:54 5:16 4:00 2:31 3:33 4:09 4:20 1:47 3:25 4:09
82 Jan Fondermann 🇩🇪 GER25th of 483 aged 30-34 30-34 1:07:28 10:09 33:50 27:53 5:49 3:58 2:36 3:44 3:52 4:11 1:46 3:14 4:32
83 Michel Barenschee 🇩🇪 GER21st of 324 aged 25-29 25-29 1:07:31 10:12 35:02 27:14 5:18 4:04 3:16 3:13 2:57 4:22 1:48 3:51 3:43
84 Pascal Michels 🇩🇪 GER26th of 483 aged 30-34 30-34 1:07:31 10:12 34:33 27:32 5:31 4:09 3:15 3:29 3:08 4:36 1:30 3:23 4:02
85 Thomas Köppl 🇩🇪 GER27th of 483 aged 30-34 30-34 1:07:45 10:26 33:21 29:32 4:56 4:17 2:51 4:14 3:18 4:28 1:32 4:10 4:42
86 Sascha Biela 🇩🇪 GER22nd of 324 aged 25-29 25-29 1:07:48 10:29 34:33 28:07 5:14 4:16 3:11 3:34 3:35 4:15 1:27 3:32 4:17
87 Constantin Wagner 🇩🇪 GER28th of 483 aged 30-34 30-34 1:07:49 10:30 34:45 27:49 5:20 4:01 2:49 3:39 3:52 4:10 1:23 3:15 4:40
88 Fabian Trettenbach 🇩🇪 GER29th of 483 aged 30-34 30-34 1:07:56 10:37 35:02 27:49 5:11 4:19 3:05 3:59 3:10 4:16 1:46 3:02 4:12
89 Nico Müller 🇩🇪 GER30th of 483 aged 30-34 30-34 1:07:56 10:37 31:48 30:44 5:29 4:18 3:32 4:14 3:35 4:19 1:37 3:45 5:24
90 Thaddäus Jechalik 🇩🇪 GER7th of 144 aged 16-24 16-24 1:07:58 10:39 33:27 28:55 5:39 4:03 3:08 3:33 4:40 4:15 1:37 3:35 4:04
91 Marco Kenneder 🇩🇪 GER25th of 411 aged 35-39 35-39 1:08:03 10:44 36:14 26:35 5:18 3:54 2:37 3:18 2:47 4:12 1:31 3:51 4:25
92 Melvin Franzen 🇩🇪 GER23rd of 324 aged 25-29 25-29 1:08:06 10:47 35:01 28:11 4:58 3:52 2:14 3:26 3:51 4:37 1:24 3:31 5:16
93 Todd Allen 🇬🇧 GBR26th of 411 aged 35-39 35-39 1:08:06 10:47 33:20 29:46 5:03 4:22 2:46 3:39 3:42 4:24 1:35 3:57 5:21
94 Stephen Muhire Sunday 🇺🇬 UGA24th of 324 aged 25-29 25-29 1:08:07 10:48 32:45 29:19 6:08 4:28 3:10 4:38 2:17 4:38 1:40 3:37 4:51
95 Ruben Schukraft 🇩🇪 GER31st of 483 aged 30-34 30-34 1:08:07 10:48 33:26 29:39 5:06 4:09 3:18 3:48 3:47 4:24 1:27 4:11 4:35
96 Dustin Schliwka 🇩🇪 GER8th of 144 aged 16-24 16-24 1:08:08 10:49 32:23 31:00 4:49 4:38 3:00 3:48 4:14 4:51 1:39 3:50 5:00
97 Hermann Schöberl 🇩🇪 GER2nd of 134 aged 45-49 45-49 1:08:11 10:52 33:12 30:01 5:03 4:16 3:26 4:07 3:35 4:31 1:43 4:01 4:22
98 Paul Schramm 🇩🇪 GER27th of 411 aged 35-39 35-39 1:08:13 10:54 35:27 27:19 5:33 3:50 2:15 3:30 3:40 4:16 1:34 3:26 4:48
99 Christoph Baum 🇩🇪 GER6th of 235 aged 40-44 40-44 1:08:14 10:55 35:09 27:36 5:34 4:28 3:12 3:09 3:28 4:32 1:31 3:14 4:02
100 Moritz Uppenkamp 🇩🇪 GER32nd of 483 aged 30-34 30-34 1:08:15 10:56 32:56 29:47 5:37 4:18 2:49 4:03 4:12 4:29 2:02 3:27 4:27
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