HYROX Frankfurt 2025: Pro Men results

254 finishers on 12 Dec 2025. Typical finish 1:20:12, fastest 10% under 1:07:14. Back to the analysis.

#AthleteAgeTimeRunsStationsRoxSkiPushPullBBJRowCarryLungeWB
1 Ronan Lindsay 🇮🇪 IRL 30-34 1/74 0:56:52 27:4725:094:00 3:503:023:152:394:001:222:594:02
2 Michael Stephens ENG 30-34 2/74 0:57:26 28:4024:474:04 3:473:133:012:513:521:233:023:38
3 Paul Weindl 🇩🇪 GER 25-29 1/51 0:57:41 27:2126:114:15 3:513:104:082:193:581:262:594:20
4 Florian Gast 🇩🇪 GER 30-34 3/74 0:59:34 28:3526:394:25 3:443:434:132:363:501:283:054:00
5 Benito Baez Ayala 🇩🇪 GER 35-39 1/65 1:00:23 28:0128:034:23 3:584:054:172:514:151:253:163:56
6 Theo Kis 🇫🇷 FRA 25-29 2/51 1:01:40 27:3030:054:09 4:013:334:123:434:031:203:575:16
7 Emilio Aguayo 🇪🇸 ESP 30-34 4/74 1:02:10 28:5628:534:26 3:584:273:422:514:041:313:085:12
8 Jendrik Brügmann 🇩🇪 GER 25-29 3/51 1:03:09 30:5227:544:28 4:003:403:473:334:051:243:254:00
9 Nicolas Paquay 🇫🇷 FRA 30-34 5/74 1:03:22 31:2227:334:31 4:043:563:432:524:131:332:574:15
10 Sander van Rooijen 🇳🇱 NED 35-39 2/65 1:04:07 27:4731:105:13 4:064:214:273:174:101:363:595:14
11 Manuel Ziegler 🇩🇪 GER 35-39 3/65 1:04:24 31:3528:134:41 3:543:203:582:534:041:573:124:55
12 Simo Gvero 🇩🇪 GER 30-34 6/74 1:04:27 30:2929:414:21 3:553:523:433:194:011:335:164:02
13 Lloyd Mulholland 🇬🇧 GBR 30-34 7/74 1:04:57 29:2931:064:26 4:094:124:273:084:141:443:485:24
14 Christian Krauß 🇩🇪 GER 40-44 1/19 1:05:09 28:5132:014:22 4:044:194:503:424:091:314:284:58
15 Lucas Niehoff 🇩🇪 GER 30-34 8/74 1:05:19 29:3931:194:26 4:053:154:513:344:201:383:585:38
16 Peter Müllner 🇦🇹 AUT 35-39 4/65 1:05:25 29:2630:555:09 3:553:574:423:014:151:374:015:27
17 Fabian Wesemann 🇩🇪 GER 25-29 4/51 1:06:07 32:3228:414:59 4:004:094:162:404:141:113:124:59
18 David Bergmann 🇩🇪 GER 16-24 1/20 1:06:20 33:3127:545:00 4:053:103:593:114:081:193:574:05
19 Jay Hogan 🇮🇪 IRL 16-24 2/20 1:06:27 31:3530:024:53 4:103:524:033:024:141:423:505:09
20 Clément Rezzonico 🇫🇷 FRA 35-39 5/65 1:06:42 32:0529:345:09 4:124:153:592:484:181:383:314:53
21 Chris Owen 🇬🇧 GBR 25-29 5/51 1:06:46 30:5830:295:24 4:074:264:193:004:201:493:235:05
22 Nils David 🇩🇪 GER 30-34 9/74 1:06:51 32:2629:354:54 3:443:403:593:294:041:473:544:58
23 George Sitch 🇬🇧 GBR 16-24 3/20 1:06:59 33:5528:264:42 4:163:274:313:304:161:392:573:50
24 Robert May 🇩🇪 GER 25-29 6/51 1:07:06 32:0130:184:51 4:014:104:503:284:121:463:024:49
25 Dominik Fohrmann 🇩🇪 GER 35-39 6/65 1:07:12 32:1330:184:46 3:594:044:233:134:231:163:515:09
26 Markus Pütz 🇩🇪 GER 45-49 1/12 1:07:13 32:0430:015:13 3:594:204:212:534:071:254:054:51
27 Alexander Wieczerzak 🇩🇪 GER 30-34 10/74 1:07:17 32:1330:055:05 3:533:124:223:084:071:323:436:08
28 Nico Axtmann 🇩🇪 GER 30-34 11/74 1:07:18 33:5828:394:46 3:553:014:103:124:081:503:244:59
29 Yannick Jung 🇩🇪 GER 30-34 12/74 1:07:28 32:3130:104:52 3:574:044:223:564:011:303:444:36
30 Nicolas Küß 🇩🇪 GER 30-34 13/74 1:07:48 32:0531:094:39 4:144:054:593:114:191:463:384:57
31 Pawel Dregan 🇩🇪 GER 30-34 14/74 1:07:50 31:2031:115:24 3:564:144:532:474:261:563:455:14
32 Marvin Thomas 🇩🇪 GER 25-29 7/51 1:07:53 29:5733:104:50 3:523:566:273:004:131:393:406:23
33 Jozef Kapicak 🇸🇰 SVK 16-24 4/20 1:08:09 30:4932:404:46 3:544:474:432:274:252:393:446:01
34 Fabian Grill 🇩🇪 GER 30-34 15/74 1:08:14 30:3333:064:40 4:184:205:142:484:171:483:296:52
35 Gianluca Taccia 🇮🇹 ITA 30-34 16/74 1:08:21 32:0631:025:16 4:034:155:152:504:201:243:584:57
36 Raphael Merkt 🇩🇪 GER 30-34 17/74 1:08:30 33:0530:255:04 3:563:524:123:134:231:264:364:47
37 Max Lang 🇩🇪 GER 30-34 18/74 1:08:39 34:2029:264:58 3:503:364:432:514:071:283:574:54
38 Stephen Mackie 🇬🇧 GBR 30-34 19/74 1:08:42 30:3033:534:24 3:543:594:235:154:132:174:235:29
39 Herkules Reimann 🇩🇪 GER 45-49 2/12 1:08:43 32:5030:584:59 4:094:004:403:054:181:394:084:59
40 Nico Woldt 🇩🇪 GER 25-29 8/51 1:08:46 32:3131:304:48 4:024:205:083:004:191:483:465:07
41 Steffen Dachtler 🇩🇪 GER 35-39 7/65 1:09:17 33:1031:304:41 4:144:194:483:314:221:224:034:51
41 Thorsten Dürr 🇩🇪 GER 40-44 2/19 1:09:17 32:3131:584:54 4:075:074:423:254:281:403:444:45
43 Tim Budemann 🇩🇪 GER 16-24 5/20 1:09:36 31:5932:534:49 3:584:034:523:524:271:483:256:28
43 Christoph Wieloch 🇩🇪 GER 35-39 8/65 1:09:36 31:4133:074:52 4:014:204:523:584:121:354:235:46
45 Max Nimmrichter 🇩🇪 GER 25-29 9/51 1:09:38 34:1430:225:06 4:163:534:193:054:232:063:344:46
46 GEOFFREY FAZARI 🇫🇷 FRA 30-34 20/74 1:09:40 33:4131:074:56 4:054:114:253:184:251:333:295:41
47 Thomas Mayr 🇩🇪 GER 40-44 3/19 1:09:45 33:4330:375:30 4:083:394:592:534:211:313:175:49
48 Remi Husted Langgaard 🇩🇰 DEN 30-34 21/74 1:09:53 33:5331:035:01 4:164:074:223:024:231:343:425:37
49 Fabian Bauer 🇩🇪 GER 16-24 6/20 1:10:32 34:0831:464:41 4:264:014:483:504:221:554:004:24
50 Janick Schulze 🇩🇪 GER 25-29 10/51 1:10:41 31:0134:145:31 3:524:335:553:334:331:255:324:51
51 Albrecht SELTMANN 🇩🇪 GER 30-34 22/74 1:10:43 33:2632:214:59 3:553:494:463:574:101:544:225:28
52 Mike Snaith 🇱🇹 LTU 35-39 9/65 1:10:55 31:3133:555:35 4:034:165:304:284:232:034:234:49
53 Fabian Scheidweiler 🇩🇪 GER 30-34 23/74 1:11:04 35:2030:305:19 3:493:554:593:494:001:303:454:43
54 Matthias Sienz 🇩🇪 GER 35-39 10/65 1:11:10 34:0631:555:15 3:573:584:293:504:061:384:175:40
55 John O'Leary 🇮🇪 IRL 35-39 11/65 1:11:21 33:2833:034:55 4:084:484:563:164:181:454:075:45
56 Max Emde 🇩🇪 GER 25-29 11/51 1:11:32 32:0234:554:40 4:045:044:513:524:141:584:306:22
56 Vaclav Tausek 🇨🇿 CZE 35-39 12/65 1:11:32 34:4831:325:16 4:174:295:153:334:121:573:264:23
58 Luca Kruger 🇩🇪 GER 30-34 24/74 1:11:33 33:3233:064:58 4:063:445:013:324:141:295:195:41
59 Thomas Lecieux 🇫🇷 FRA 45-49 3/12 1:11:50 30:5436:044:56 4:174:295:543:404:261:465:076:25
60 Jan Lienig 🇩🇪 GER 35-39 13/65 1:11:52 32:5833:235:35 4:074:346:033:524:121:513:464:58
61 Leonard Adolphs 🇩🇪 GER 30-34 25/74 1:12:09 33:5533:095:10 4:084:224:343:424:271:595:404:17
62 Dominik Kaunert 🇩🇪 GER 30-34 26/74 1:12:21 33:5533:225:08 4:063:525:054:134:131:494:515:13
62 David Offergeld 🇩🇪 GER 30-34 26/74 1:12:21 31:0336:334:51 4:244:277:413:194:291:304:246:19
64 Patrick Martens 🇩🇪 GER 35-39 14/65 1:12:22 33:0234:055:20 3:595:354:443:264:251:453:566:15
65 Thomas Reuter 🇩🇪 GER 40-44 4/19 1:12:26 33:3633:365:18 4:034:134:583:414:191:445:025:36
66 Gregory Piombino 🇫🇷 FRA 45-49 4/12 1:12:27 34:2531:506:16 3:503:344:483:204:191:574:315:31
67 Jake Fletcher 🇬🇧 GBR 30-34 28/74 1:12:49 32:5734:584:59 4:043:457:072:404:211:594:046:58
68 Benjamin REZZONICO 🇫🇷 FRA 35-39 15/65 1:13:03 35:0132:415:24 4:074:384:542:564:282:264:484:24
69 Slohan Jean Marie Marie Magdeleine 🇫🇷 FRA 30-34 29/74 1:13:09 34:4733:035:24 4:004:175:163:454:301:434:384:54
70 Dario Bredemeier 🇩🇪 GER 25-29 12/51 1:13:18 34:4033:235:21 4:094:065:253:204:171:583:376:31
71 Danny Kubasik 🇩🇪 GER 40-44 5/19 1:13:49 33:2835:244:59 3:544:404:574:444:171:394:077:06
72 Martin Heitz 🇩🇪 GER 35-39 16/65 1:13:50 34:4333:505:22 4:064:054:483:394:241:434:336:32
73 Gonzalo Villar 🇪🇸 ESP 30-34 30/74 1:14:04 33:4835:115:08 4:134:235:103:464:321:584:486:21
74 Steffen Schieke 🇩🇪 GER 35-39 17/65 1:14:06 34:4734:225:02 3:564:085:004:364:211:555:105:16
74 Dominik Schreiter 🇩🇪 GER 35-39 17/65 1:14:06 33:1635:145:40 4:105:125:103:454:351:504:316:01
76 Torsten Reuter 🇩🇪 GER 40-44 6/19 1:14:11 32:0136:595:15 4:065:015:473:534:422:054:536:32
77 Joshua Pfahl 🇩🇪 GER 25-29 13/51 1:14:14 34:4133:136:24 4:244:504:263:564:231:294:045:41
77 Robin Wilzeck 🇩🇪 GER 25-29 13/51 1:14:14 36:3931:555:44 4:093:444:413:284:282:084:364:41
79 Leon Berfelde 🇩🇪 GER 25-29 15/51 1:14:26 34:3134:455:15 4:114:355:044:144:481:404:006:13
80 Johann Frank 🇩🇪 GER 35-39 19/65 1:14:30 33:2935:315:33 4:104:405:313:434:451:544:326:16
81 Mika Jagdmann 🇩🇪 GER 16-24 7/20 1:14:34 32:4736:275:24 4:014:176:124:334:221:444:476:31
81 Yul Oeltze 🇩🇪 GER 30-34 31/74 1:14:34 36:2732:455:25 4:033:245:233:384:191:564:445:18
83 Jan-Peer Martins 🇩🇪 GER 25-29 16/51 1:14:35 34:1734:565:26 4:064:035:174:454:241:275:135:41
84 Fabian Sorgen 🇩🇪 GER 35-39 20/65 1:14:37 36:2032:275:55 3:594:184:433:394:162:023:505:40
85 Laurenz Pötzelsberger 🇦🇹 AUT 35-39 21/65 1:14:50 31:0337:256:25 4:034:376:283:514:222:344:217:09
86 Leon Karman 🇩🇪 GER 25-29 17/51 1:15:23 33:5336:125:23 4:153:586:314:454:242:243:486:07
87 Florian Krege 🇩🇪 GER 30-34 32/74 1:15:26 34:3735:285:26 4:054:285:494:094:331:584:216:05
88 Christian Faltermaier 🇩🇪 GER 30-34 33/74 1:15:29 35:2635:045:02 4:044:225:244:004:182:204:545:42
89 Gerrit Bockey 🇩🇪 GER 30-34 34/74 1:15:36 34:1035:555:35 4:075:105:493:164:292:364:006:28
90 Niklas Oppermann 🇩🇪 GER 25-29 18/51 1:15:44 34:0336:035:41 4:034:585:224:074:242:014:246:44
91 Malik Seidu 🇩🇪 GER 30-34 35/74 1:15:49 36:5833:405:14 4:073:324:323:474:201:545:335:55
92 Julien Wagner 🇫🇷 FRA 30-34 36/74 1:15:56 36:4733:395:33 4:115:044:333:424:271:524:155:35
93 Alexander Lindner 🇩🇪 GER 35-39 22/65 1:16:01 37:1033:015:56 4:055:235:133:434:081:354:134:41
94 Stefan Ecks 🇩🇪 GER 50-54 1/11 1:16:11 35:2435:095:42 3:584:284:574:314:112:044:526:08
95 Alexander Gaugler 🇩🇪 GER 50-54 2/11 1:16:13 36:0833:546:16 4:064:275:034:184:271:454:105:38
96 Martin Schäfer 🇩🇪 GER 35-39 23/65 1:16:19 33:1137:275:43 4:075:206:135:004:211:514:425:53
97 Dominik Bodenmüller 🇩🇪 GER 35-39 24/65 1:16:20 35:1935:325:34 4:065:485:423:224:222:044:305:38
98 Denis Holdschick 🇩🇪 GER 35-39 25/65 1:16:30 34:3136:395:24 4:054:385:233:504:241:384:527:49
99 Tieme de Boer 🇳🇱 NED 16-24 8/20 1:16:31 34:0037:325:02 4:035:205:193:154:332:594:347:29
100 Yannik Wasmuth 🇩🇪 GER 30-34 37/74 1:16:32 30:0841:055:24 4:077:165:154:534:312:255:267:12

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