HYROX Oslo 2025: Pro Men results

291 finishers on 26 Sept 2025. Typical finish 1:17:01, fastest 10% under 1:05:59. Back to the analysis.

#AthleteAgeTimeRunsStationsRoxSkiPushPullBBJRowCarryLungeWB
1 Sebastian Ifversen 🇩🇰 DEN 25-29 1/48 0:58:17 28:4425:483:50 3:492:583:243:104:021:252:424:18
2 Gustav Cordua 🇩🇰 DEN 16-24 1/31 0:58:51 29:0026:173:38 3:522:274:002:293:561:323:364:25
3 Kenny Steger 🇸🇪 SWE 25-29 2/48 0:59:42 29:3026:383:39 3:533:093:263:014:081:343:343:53
4 Lars Rudi 🇳🇴 NOR 30-34 1/83 1:00:04 31:3724:413:49 3:532:273:313:124:001:182:563:24
5 Erik Woodward 🇳🇴 NOR 30-34 2/83 1:00:09 30:2725:563:50 3:492:453:242:464:041:173:004:51
6 Harvey Williams 🇬🇧 GBR 16-24 2/31 1:00:59 28:4028:174:08 4:013:213:593:004:081:383:174:53
7 George Burton 🇬🇧 GBR 25-29 3/48 1:01:39 31:0126:394:04 3:512:224:072:584:051:443:274:05
8 Franz Löschke 🇩🇪 GER 35-39 1/54 1:01:50 29:3828:044:13 3:442:583:573:264:152:013:314:12
9 Olivier Jouve 🇫🇷 FRA 30-34 3/83 1:02:12 31:2726:464:04 3:502:474:192:464:011:442:574:22
10 Mohamed Redaoui 🇲🇦 MAR 25-29 4/48 1:02:24 30:3927:573:53 4:022:503:443:184:251:483:134:37
11 Lloyd Mulholland 🇬🇧 GBR 30-34 4/83 1:02:27 30:0928:313:52 4:072:394:183:174:141:413:434:32
12 Simon Buus Jensen 🇩🇰 DEN 35-39 2/54 1:02:39 32:0126:314:11 3:542:163:443:394:071:263:204:05
13 Graham Halliday 🇬🇧 GBR 30-34 5/83 1:02:42 29:4424:468:17 4:002:553:292:354:071:262:233:51
14 Oscar Petersen 🇩🇰 DEN 30-34 6/83 1:03:01 32:0126:544:11 3:533:044:092:374:011:343:264:10
15 Erik Oscar Bøe 🇳🇴 NOR 25-29 5/48 1:03:24 31:1628:084:02 3:563:053:413:084:221:303:484:38
16 Travis Brown 🇬🇧 GBR 30-34 7/83 1:03:36 30:5128:513:58 4:102:504:182:554:062:123:564:24
17 Stephen Harold 🇮🇪 IRL 35-39 3/54 1:03:51 32:1827:234:14 3:472:503:472:504:091:363:434:41
17 David Kallebäck 🇸🇪 SWE 35-39 3/54 1:03:51 32:3227:283:56 3:543:183:462:594:151:483:034:25
19 Freddie Abrahams 🇬🇧 GBR 40-44 1/22 1:04:01 31:2528:264:15 4:042:105:172:464:181:313:205:00
20 Sam Knowles 🇬🇧 GBR 30-34 8/83 1:04:33 32:2028:094:10 3:552:403:513:204:081:503:235:02
21 Craig Murphy 🇬🇧 GBR 30-34 9/83 1:04:42 30:5130:003:55 4:042:524:053:374:221:333:475:40
22 Ričards Matuzevičs 🇱🇻 LAT 30-34 10/83 1:04:46 32:4927:214:41 3:502:374:103:144:221:233:364:09
23 Steffen Blekkan 🇳🇴 NOR 30-34 11/83 1:04:54 32:5227:234:45 3:503:193:583:024:081:033:434:20
24 Mathias Gislason 🇩🇰 DEN 25-29 6/48 1:05:25 34:0926:454:36 3:392:203:572:504:021:473:594:11
24 Kieron White 🇮🇪 IRL 25-29 6/48 1:05:25 30:4730:234:18 3:593:074:103:414:231:443:415:38
26 Jordan Hanson 🇬🇧 GBR 35-39 5/54 1:05:34 31:4329:554:03 4:052:384:073:494:181:404:115:07
27 Anders Næstholdt 🇩🇰 DEN 30-34 12/83 1:05:38 32:1929:074:16 3:562:524:223:054:101:313:475:24
28 Markus Knudsen Tveit 🇳🇴 NOR 30-34 13/83 1:05:41 32:4628:304:29 3:552:414:463:304:091:323:434:14
29 John Arvidsson 🇸🇪 SWE 30-34 14/83 1:05:48 32:5428:374:22 4:093:154:283:074:231:403:354:00
30 Jaydon Emmott 🇬🇧 GBR 16-24 3/31 1:05:59 31:2230:164:24 4:083:294:263:044:431:424:174:27
31 Kalev Ermits 🇪🇪 EST 30-34 15/83 1:06:03 32:5828:424:28 3:492:364:193:204:021:534:124:31
32 Viktor Munck Larsson 🇸🇪 SWE 25-29 8/48 1:06:07 33:4428:074:20 3:532:504:223:184:101:254:084:01
33 David Balsgaard 🇩🇰 DEN 40-44 2/22 1:06:09 33:5227:504:31 3:592:393:443:164:101:403:434:39
34 Stephen Reynolds 🇬🇧 GBR 45-49 1/25 1:06:11 31:5229:464:37 4:122:584:102:494:221:394:105:26
35 Andrew Langley 🇬🇧 GBR 40-44 3/22 1:06:13 30:4830:474:42 3:463:474:112:504:021:424:236:06
36 Anders Meskestad Jacobsen 🇳🇴 NOR 45-49 2/25 1:06:22 34:5027:254:12 3:532:343:452:584:001:253:165:34
37 Oscar Olsson 🇸🇪 SWE 40-44 4/22 1:06:29 32:1429:584:22 3:513:084:323:034:301:424:115:01
38 Luca Jumabhoy 🇬🇧 GBR 16-24 4/31 1:06:31 31:3830:294:29 3:563:215:022:494:111:354:275:08
39 Luca Jumabhoy 🇦🇺 AUS 16-24 5/31 1:06:34 32:1530:064:18 3:563:384:022:584:091:394:235:21
40 Toby Wilson 🇬🇧 GBR 16-24 6/31 1:06:36 34:1328:084:21 4:102:544:073:044:181:303:174:48
41 Jeff Woodward 🇬🇧 GBR 30-34 16/83 1:06:48 30:3832:193:56 4:133:234:383:264:203:433:504:46
42 Omar Gameros 🇲🇽 MEX 35-39 6/54 1:06:49 32:4229:554:17 3:562:564:033:294:151:384:165:22
43 Berthel Jakobsen 🇩🇰 DEN 16-24 7/31 1:06:50 31:5830:404:16 4:063:194:563:184:242:063:524:39
44 Marcus Mollison 🇬🇧 GBR 30-34 17/83 1:06:55 33:0029:484:13 4:062:335:053:464:131:313:285:06
45 Robert James 🇬🇧 GBR 35-39 7/54 1:06:58 31:0531:484:10 3:563:125:063:364:242:113:585:25
46 William Anderson 🇨🇦 CAN 30-34 18/83 1:07:07 32:1230:234:37 4:162:594:143:294:261:294:125:18
47 Simen Arnekleiv 🇳🇴 NOR 25-29 9/48 1:07:37 32:4530:294:26 3:532:484:353:224:041:224:226:03
48 Oscar Adrian Melheim 🇳🇴 NOR 16-24 8/31 1:07:38 32:2630:334:44 4:063:244:372:544:211:364:055:30
49 Florian Brennecke 🇩🇪 GER 35-39 8/54 1:07:43 32:0130:484:59 3:533:285:003:384:191:344:064:50
50 Daniel Moran SCO 16-24 9/31 1:07:53 33:2930:104:17 4:152:134:383:024:401:424:005:40
51 Cary Tanner 🇸🇪 SWE 40-44 5/22 1:08:06 32:5731:004:14 4:083:185:243:014:182:003:315:20
52 Lasse Teigen 🇳🇴 NOR 30-34 19/83 1:08:14 33:1930:094:51 3:532:504:463:434:321:323:455:08
53 Felix Möller 🇦🇹 AUT 16-24 10/31 1:08:23 32:5631:004:32 4:032:524:083:204:181:373:546:48
54 Scott Walker 🇬🇧 GBR 35-39 9/54 1:08:28 33:1231:084:14 4:082:544:353:464:311:414:125:21
55 Dylan Thomson 🇬🇧 GBR 25-29 10/48 1:08:36 32:5131:424:09 3:582:425:383:364:181:563:575:37
56 Jack Murphy 🇬🇧 GBR 30-34 20/83 1:08:39 32:1931:434:43 4:043:014:143:374:162:104:455:36
56 Jonas Togo 🇩🇰 DEN 30-34 20/83 1:08:39 33:4530:204:38 3:563:104:073:244:281:403:465:49
58 Mathias Ramberg 🇸🇪 SWE 30-34 22/83 1:08:48 33:4130:354:37 3:464:273:573:424:101:364:324:25
59 Sindre Hoff 🇳🇴 NOR 40-44 6/22 1:08:53 31:4232:564:19 3:563:214:543:094:331:504:506:23
60 Fredrik Nylén 🇸🇪 SWE 50-54 1/21 1:08:54 33:4330:594:17 4:083:274:463:374:151:373:525:17
61 Jacob Vagg 🇬🇧 GBR 35-39 10/54 1:09:02 34:1030:474:09 3:552:514:343:244:051:284:405:50
62 Tobias Borg 🇳🇴 NOR 25-29 11/48 1:09:20 34:4230:264:17 4:002:534:383:474:301:404:054:53
62 Monzer Taha 🇸🇪 SWE 30-34 23/83 1:09:20 32:5732:144:15 4:013:205:222:554:251:403:307:01
64 Dylan Gruson 🇫🇷 FRA 30-34 24/83 1:09:32 30:5433:594:43 4:094:155:394:064:231:394:065:42
65 Martin Simengård 🇳🇴 NOR 25-29 12/48 1:09:44 37:0928:014:38 4:002:054:153:554:141:353:404:17
66 Ole Diringer 🇩🇪 GER 30-34 25/83 1:09:48 32:4432:464:23 4:013:124:034:124:261:474:206:45
67 Henri Pyykola 🇫🇮 FIN 35-39 11/54 1:09:58 35:5329:204:48 3:592:294:182:284:251:584:195:24
68 Murray Richardson 🇬🇧 GBR 25-29 13/48 1:10:07 33:4532:034:23 3:592:535:523:274:282:334:244:27
69 Jacopo Gadani 🇮🇹 ITA 30-34 26/83 1:10:18 36:5328:494:40 4:012:344:273:384:191:463:514:13
70 Eirik Årseth 🇳🇴 NOR 30-34 27/83 1:10:24 35:3330:274:29 4:073:115:063:254:171:453:225:14
71 Jan-Ole Martin 🇩🇪 GER 25-29 14/48 1:10:30 33:3232:504:13 3:553:074:273:174:251:514:007:48
72 Andreas Wik 🇳🇴 NOR 30-34 28/83 1:10:34 36:2129:284:50 4:082:554:253:484:211:303:514:30
73 Fábio Ribeiro 🇵🇹 POR 30-34 29/83 1:10:36 32:3133:504:20 4:103:255:023:184:272:184:486:22
74 Lasse Slengesol 🇳🇴 NOR 35-39 12/54 1:10:41 37:0029:064:38 4:032:534:453:094:131:393:544:30
75 Jardar Hovland 🇳🇴 NOR 30-34 30/83 1:10:43 36:3229:304:47 3:562:334:133:174:241:494:035:15
76 Cameron Steele 🇬🇧 GBR 25-29 15/48 1:10:53 34:0832:244:27 4:023:015:224:564:151:324:165:00
77 Marius Maelen Haukland 🇳🇴 NOR 25-29 16/48 1:11:12 35:2231:164:38 3:532:494:133:414:132:134:175:57
78 Ten Takeda 🇯🇵 JPN 16-24 11/31 1:11:20 34:3432:244:26 4:023:335:283:134:131:384:205:57
79 Tom Knutli 🇳🇴 NOR 30-34 31/83 1:11:21 35:4230:494:54 4:052:454:343:464:181:473:535:41
80 Jacob Werner 🇸🇪 SWE 50-54 2/21 1:11:25 37:1529:105:04 4:002:374:113:094:171:314:255:00
81 Svante Engberg 🇸🇪 SWE 25-29 17/48 1:11:29 35:2131:214:51 4:033:145:303:154:201:564:054:58
82 Bradley Woodward 🇬🇧 GBR 35-39 13/54 1:11:32 32:0334:554:39 4:153:085:034:264:251:404:557:03
83 Mattias Damm 🇸🇪 SWE 25-29 18/48 1:11:33 34:3332:334:31 4:112:483:594:024:362:103:486:59
83 Milan Konopásek 🇨🇿 CZE 16-24 12/31 1:11:33 34:1033:084:20 4:052:544:503:424:292:204:216:27
85 David Piva 🇧🇪 BEL 35-39 14/54 1:11:38 33:2633:125:06 3:513:344:583:594:292:084:355:38
86 Daniele Asietti 🇮🇹 ITA 30-34 32/83 1:11:45 33:1733:514:41 4:054:106:293:404:181:444:185:07
87 Marius Nystøl 🇳🇴 NOR 30-34 33/83 1:11:57 33:5633:334:34 4:103:134:453:534:291:564:556:12
88 Petter Tufte 🇳🇴 NOR 30-34 34/83 1:11:58 37:0629:455:10 3:462:384:054:104:061:383:345:48
89 David Guy 🇬🇧 GBR 45-49 3/25 1:12:01 37:2929:384:57 4:033:194:233:454:221:473:524:07
90 Łukasz Żolik 🇵🇱 POL 40-44 7/22 1:12:04 36:0031:324:39 3:582:514:434:324:231:354:145:16
91 Carl Emil Brøgger 🇩🇰 DEN 16-24 13/31 1:12:13 34:1933:064:51 4:092:555:313:464:411:543:486:22
92 Tom Jansen 🇳🇱 NED 30-34 35/83 1:12:25 34:2133:354:34 4:053:265:043:444:261:574:346:19
92 Fredrick Karlsson 🇸🇪 SWE 50-54 3/21 1:12:25 34:3832:564:55 4:113:244:473:584:351:454:365:40
94 Audun Lervik 🇳🇴 NOR 35-39 15/54 1:12:33 37:1830:314:50 3:583:185:123:124:141:434:254:29
95 Radosław Koczwara 🇵🇱 POL 45-49 4/25 1:12:38 35:3132:154:57 4:043:264:064:144:231:374:595:26
96 Eskil Dynna 🇳🇴 NOR 25-29 19/48 1:12:41 37:0431:054:37 4:123:084:053:374:191:304:555:19
97 Massimiliano Dalla Fior 🇮🇹 ITA 35-39 16/54 1:12:46 35:1132:385:02 3:563:165:483:554:081:434:475:05
98 Fraser Anderson 🇬🇧 GBR 16-24 14/31 1:12:47 34:3133:534:26 4:044:054:564:334:192:014:205:35
98 Øystein Bjerga 🇳🇴 NOR 35-39 17/54 1:12:47 34:5432:375:20 4:012:404:273:554:241:263:557:49
100 Yassine Laafar 🇫🇷 FRA 35-39 18/54 1:12:49 32:5135:164:47 4:033:306:284:254:281:504:445:48

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