HYROX Hamburg 2025: Pro Men results

327 finishers on 2 Oct 2025. Typical finish 1:19:27, fastest 10% under 1:04:20. Back to the analysis.

#AthleteAgeTimeRunsStationsRoxSkiPushPullBBJRowCarryLungeWB
1 Fabian Eisenlauer 🇩🇪 GER 30-34 1/90 0:55:43 25:5525:344:18 3:462:563:352:574:021:402:453:53
2 Kyle Schoonbee 🇿🇦 RSA 25-29 1/54 0:56:33 27:3824:234:36 3:442:373:072:453:551:243:003:51
3 Marc Dean ENG 30-34 2/90 0:56:38 27:0125:044:37 3:452:393:442:364:131:213:103:36
4 Gustav Cordua 🇩🇰 DEN 16-24 1/27 0:56:59 26:5625:434:24 3:492:363:462:363:561:403:134:07
5 Florian Gast 🇩🇪 GER 30-34 3/90 0:57:03 27:3124:534:42 3:442:563:532:313:571:212:453:46
6 Graham Halliday 🇬🇧 GBR 30-34 4/90 0:57:30 27:3925:194:36 3:573:183:422:374:071:262:473:25
7 Franz Löschke 🇩🇪 GER 35-39 1/75 0:57:32 27:0525:514:40 3:472:503:262:524:041:343:164:02
8 Tiziano Pedrocchi 🇨🇭 SUI 25-29 2/54 0:57:53 27:4625:384:34 4:013:153:582:504:001:252:413:28
9 Lukas Storath 🇩🇪 GER 45-49 1/17 0:58:39 28:0525:544:46 3:432:423:502:274:021:283:274:15
10 Aaron Woodman 🇮🇪 IRL 40-44 1/45 0:58:51 28:5225:154:49 3:582:573:382:344:061:223:143:26
11 Elte Hupkes 🇳🇱 NED 30-34 5/90 0:59:41 28:1826:454:41 3:563:134:142:514:011:242:524:14
12 Marvin Karsch 🇩🇪 GER 30-34 6/90 0:59:51 27:5127:114:53 3:493:154:042:354:081:543:164:10
13 Paul Weindl 🇩🇪 GER 25-29 3/54 0:59:56 28:2826:255:07 3:502:303:402:404:061:333:074:59
14 David Parkin 🇬🇧 GBR 35-39 2/75 1:00:04 28:0127:324:34 3:503:033:472:484:061:333:105:15
15 Jan-Niklas Friedrich 🇩🇪 GER 25-29 4/54 1:00:11 26:4728:484:40 3:583:304:192:594:171:493:214:35
16 Thomas Dahl 🇩🇰 DEN 25-29 5/54 1:00:42 28:4227:274:39 3:512:563:513:003:591:293:314:50
17 Gabriel Lichtenstein 🇩🇪 GER 30-34 7/90 1:00:44 29:2226:514:35 4:042:534:032:444:061:283:114:22
18 Turker Alici 🇹🇷 TUR 30-34 8/90 1:00:45 30:4124:585:10 3:442:353:202:344:051:333:153:52
19 Jannick Plantinga 🇳🇱 NED 30-34 9/90 1:01:23 29:4026:494:59 3:532:573:492:574:051:343:194:15
20 Nils Knuth 🇩🇪 GER 16-24 2/27 1:01:27 31:4124:514:58 3:522:263:392:494:081:203:033:34
21 Connor Magill 🇮🇪 IRL 40-44 2/45 1:01:30 28:0428:484:43 3:572:513:543:124:061:303:425:36
22 Dennis Gödde 🇩🇪 GER 30-34 10/90 1:02:32 28:1529:254:57 3:573:154:182:314:051:443:286:07
23 Cem Ter Burg 🇳🇱 NED 25-29 6/54 1:02:37 29:5227:435:05 3:572:383:493:084:121:523:124:55
24 Mark Nieuwenhuis 🇳🇱 NED 30-34 11/90 1:02:46 31:0426:405:07 3:453:153:443:204:141:282:593:55
25 Janik Hoffmann 🇩🇪 GER 16-24 3/27 1:03:03 29:3128:215:16 3:473:123:562:404:081:303:415:27
26 Felix Hahnsch 🇩🇪 GER 30-34 12/90 1:03:31 30:5727:305:08 3:502:444:072:494:061:273:464:41
27 Toby Wilson 🇬🇧 GBR 16-24 4/27 1:03:44 30:5427:415:12 4:113:213:523:014:161:303:044:26
28 Marc Steinke 🇩🇪 GER 40-44 3/45 1:03:54 29:4829:065:06 3:542:534:243:194:091:274:074:53
29 Erik Woodward 🇳🇴 NOR 30-34 13/90 1:03:55 29:2529:464:48 3:503:053:403:244:141:303:316:32
30 Hendrik Themann 🇩🇪 GER 30-34 14/90 1:04:02 29:5928:445:24 4:023:123:573:064:171:383:484:44
31 Sam West 🇬🇧 GBR 35-39 3/75 1:04:03 30:4828:135:07 4:013:064:053:244:011:343:374:25
32 Bastian Peters 🇩🇪 GER 30-34 15/90 1:04:04 30:2928:365:02 3:573:103:563:274:081:323:384:48
33 Artur Eisenbraun 🇩🇪 GER 40-44 4/45 1:04:09 30:0829:015:04 4:003:054:042:324:131:334:025:32
34 Ryan Stafford 🇬🇧 GBR 30-34 16/90 1:04:28 30:3828:415:14 4:143:304:252:474:111:543:334:07
35 Jordan Adams 🇬🇧 GBR 25-29 7/54 1:05:03 31:4528:344:49 3:592:564:053:234:121:293:125:18
36 Kent Aktas 🇳🇱 NED 16-24 5/27 1:05:21 31:0129:105:14 4:083:244:242:474:111:423:265:08
37 Kenny Spielberg 🇩🇪 GER 25-29 8/54 1:05:25 30:3029:455:15 4:083:444:083:244:061:434:064:26
38 Florian Brennecke 🇩🇪 GER 35-39 4/75 1:05:44 30:1929:355:55 3:553:404:332:564:141:323:375:08
39 Julien Hasse 🇩🇪 GER 25-29 9/54 1:05:48 31:0229:315:20 3:553:174:153:064:081:493:315:30
40 Ashton du Plessis 🇿🇦 RSA 30-34 17/90 1:05:52 32:0728:325:17 4:112:503:522:524:171:464:054:39
41 Peter Schreiber 🇩🇪 GER 35-39 5/75 1:05:54 32:1028:295:17 3:523:013:544:054:081:333:424:14
42 Hugh O'Reilly 🇮🇪 IRL 35-39 6/75 1:05:55 31:0329:495:08 4:003:204:043:174:191:513:585:00
43 Nico Axtmann 🇩🇪 GER 30-34 18/90 1:06:01 32:1128:355:21 3:462:274:033:374:081:523:554:47
44 Julian Lehrer 🇩🇪 GER 35-39 7/75 1:06:09 30:5229:475:34 3:483:014:053:064:091:494:015:48
45 Tobias Bernar 🇮🇹 ITA 16-24 6/27 1:06:34 31:4929:195:30 4:143:334:163:044:191:343:065:13
46 Marcis Mucenieks 🇱🇻 LAT 30-34 19/90 1:06:43 33:2927:475:30 3:482:583:383:144:111:264:004:32
47 John O Rourke 🇮🇪 IRL 40-44 5/45 1:06:59 30:1930:565:47 3:573:204:302:474:131:414:395:49
48 Vincent Martinet 🇫🇷 FRA 35-39 8/75 1:07:01 31:4330:175:07 4:053:504:143:374:111:543:324:54
48 Markus Pütz 🇩🇪 GER 45-49 2/17 1:07:01 31:3329:535:41 3:533:365:002:594:021:284:084:47
50 Dennis Musche 🇩🇪 GER 16-24 7/27 1:07:03 30:2430:515:52 4:012:594:323:524:221:334:205:12
51 Benjamin Winkler 🇩🇪 GER 40-44 6/45 1:07:04 30:0431:345:28 4:013:115:063:343:592:193:335:51
52 Jan Bannasch 🇩🇪 GER 30-34 20/90 1:07:42 34:0327:366:07 4:013:153:423:044:201:343:533:47
53 Kilian Borjans 🇩🇪 GER 30-34 21/90 1:07:43 32:4029:355:33 4:133:124:463:044:221:373:424:39
54 Patrick Gayer 🇩🇪 GER 40-44 7/45 1:07:44 31:5530:485:05 4:033:114:224:014:141:493:475:21
55 Maik Röhnke 🇩🇪 GER 40-44 8/45 1:08:04 31:2530:455:59 4:033:395:013:004:121:543:465:10
56 Christian Hanuscheck 🇩🇪 GER 30-34 22/90 1:08:21 31:4731:135:24 4:073:084:194:334:131:534:005:00
57 Paul Preston 🇬🇧 GBR 35-39 9/75 1:08:22 34:0228:445:41 4:172:484:233:004:311:293:424:34
58 Matthias Bendler 🇩🇪 GER 45-49 3/17 1:08:23 35:0827:335:47 4:003:163:283:164:101:323:364:15
59 Stephen Donnelly 🇮🇪 IRL 35-39 10/75 1:08:30 28:4634:245:25 4:103:194:384:014:261:384:147:58
60 Barney Fairnington 🇬🇧 GBR 40-44 9/45 1:08:31 31:3631:315:27 3:594:484:493:424:161:343:324:51
61 Nico Küttner 🇩🇪 GER 25-29 10/54 1:08:34 32:2430:475:27 3:532:564:223:524:151:515:284:10
62 Martin Wenzel 🇩🇪 GER 30-34 23/90 1:08:36 31:3431:036:01 4:043:074:073:484:221:393:506:06
63 Justin Homburg 🇩🇪 GER 16-24 8/27 1:08:38 31:3231:375:33 3:563:575:192:514:141:343:446:02
64 PIran Asci 🇩🇪 GER 30-34 24/90 1:08:42 31:5731:475:02 4:093:454:453:304:131:244:175:44
64 Dominik Fiegen 🇩🇪 GER 30-34 24/90 1:08:42 32:1630:485:43 3:513:214:113:514:001:454:425:07
66 Mattias Malchau 🇩🇰 DEN 30-34 26/90 1:08:44 33:1429:316:04 4:023:335:062:224:131:513:394:45
67 Connor Martin 🇬🇧 GBR 30-34 27/90 1:08:48 31:2432:105:19 4:114:024:304:084:231:523:575:07
68 Jannik Jensen 🇩🇪 GER 30-34 28/90 1:08:49 32:1730:226:15 3:543:274:493:384:191:573:544:24
69 Herkules Reimann 🇩🇪 GER 45-49 4/17 1:08:53 33:1130:035:42 4:063:234:293:194:261:403:345:06
70 Michal SKLARCIK 🇸🇰 SVK 35-39 11/75 1:08:55 32:2330:575:40 4:103:044:524:204:121:433:514:45
71 Albrecht SELTMANN 🇩🇪 GER 30-34 29/90 1:08:57 32:4330:415:38 4:013:024:073:594:181:554:185:01
72 Norman Badorrek 🇩🇪 GER 35-39 12/75 1:08:58 33:4929:375:37 3:563:244:012:504:131:343:386:01
73 Dominik Fohrmann 🇩🇪 GER 35-39 13/75 1:08:59 32:3030:475:45 3:543:573:573:394:121:254:155:28
74 Kaj Jeziorski 🇩🇪 GER 30-34 30/90 1:09:11 33:2130:135:41 4:003:064:394:094:121:393:354:53
75 Johann Frank 🇩🇪 GER 35-39 14/75 1:09:34 31:1533:045:20 4:113:424:054:194:321:474:286:00
76 Kirill Schitomirski 🇩🇪 GER 40-44 10/45 1:09:56 32:4331:515:24 3:543:404:263:504:181:394:315:33
77 Dominik Runge 🇩🇪 GER 30-34 31/90 1:10:07 32:5131:305:50 4:013:314:433:374:142:143:505:20
78 Remi Husted Langgaard 🇩🇰 DEN 30-34 32/90 1:10:10 33:0731:205:47 4:093:124:123:174:251:414:056:19
79 Niklas Niedergethmann 🇩🇪 GER 25-29 11/54 1:10:34 32:2832:235:48 3:543:494:054:084:091:563:576:25
80 Julian Erismann 🇨🇭 SUI 16-24 9/27 1:10:54 32:3532:126:11 4:013:474:472:484:271:433:426:57
81 Max Lang 🇩🇪 GER 30-34 33/90 1:11:16 34:5730:236:02 3:493:094:483:524:161:413:594:49
82 Luca Tanner 🇦🇹 AUT 25-29 12/54 1:11:29 33:2732:016:07 3:533:224:232:574:091:383:248:15
83 Rene Dau 🇩🇪 GER 35-39 15/75 1:11:38 31:2234:285:52 3:563:594:524:524:221:584:335:56
84 Niklas Möckel 🇩🇪 GER 25-29 13/54 1:11:40 34:5730:535:55 4:093:204:193:494:111:434:135:09
85 Dennis Jakobeit 🇩🇪 GER 30-34 34/90 1:11:49 34:1931:425:53 4:043:365:113:184:111:404:175:25
86 Marc Boltz 🇩🇪 GER 35-39 16/75 1:11:50 32:5733:155:42 3:402:594:525:154:261:475:115:05
87 Sebastian Klemm 🇩🇪 GER 30-34 35/90 1:11:59 32:4833:315:45 4:023:445:043:164:232:294:146:19
88 Niels Bardenhagen 🇩🇪 GER 30-34 36/90 1:12:00 33:2132:366:08 4:003:475:273:304:191:384:085:47
88 Johannes Pleger 🇩🇪 GER 16-24 10/27 1:12:00 31:0335:445:19 4:053:415:504:454:261:544:166:47
90 Alex Lee 🇮🇪 IRL 16-24 11/27 1:12:08 31:5134:186:04 4:143:064:563:435:002:284:386:13
91 Oke Börm 🇩🇪 GER 25-29 14/54 1:12:14 36:2229:566:01 3:583:144:413:344:151:464:024:26
92 GEOFFREY FAZARI 🇫🇷 FRA 30-34 37/90 1:12:23 33:1833:135:57 4:063:404:483:324:311:493:566:51
93 Jan-Claas Dajka 🇩🇪 GER 35-39 17/75 1:12:24 35:2430:526:13 3:533:284:264:024:171:403:275:39
94 Jan-Cay von Appen 🇩🇪 GER 35-39 18/75 1:12:35 33:2932:126:59 4:003:454:284:254:261:584:124:58
95 Robert Jenning 🇩🇪 GER 35-39 19/75 1:12:38 34:2532:116:07 3:533:123:573:564:161:394:057:13
96 Ruud van Oudenallen 🇳🇱 NED 50-54 1/9 1:12:39 35:1231:365:58 4:153:184:563:554:211:384:095:04
97 Stephen Jones 🇬🇧 GBR 30-34 38/90 1:12:40 36:0231:035:40 4:083:024:033:224:332:044:315:20
98 Martin Heitz 🇩🇪 GER 35-39 20/75 1:12:41 33:5432:535:58 4:043:174:463:464:231:364:276:34
98 Tom Kistner 🇩🇪 GER 35-39 20/75 1:12:41 33:2732:536:25 4:013:194:563:394:332:064:196:00
100 Marius Jankowsky 🇩🇪 GER 35-39 22/75 1:12:51 34:4332:335:40 4:172:535:083:494:261:565:144:50

Rank is the finishing position within Pro Men among timed finishers. The number after the age group is the position within that age group. Station splits are in minutes:seconds.

The RoxHype app

Found your line? Now make it faster.

The app reads your splits, your kit and your next race date and builds the weeks between.

  • Every session written for your weak station, not a generic plan
  • Rebuilt each week from what you actually did
  • Race-day pacing from your own splits

Free to download. Used by more than 40,000 HYROX athletes.

The RoxHype app: today's session and the race countdown The RoxHype app: the workout library
Find my result