HYROX Warsaw 2025: Open Men results

1,483 finishers on 12 Apr 2025. Typical finish 1:22:34, fastest 10% under 1:07:48. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Kamil Kuszmider 🇵🇱 POL1st of 342 aged 30-34 30-34 53:58 28:01 22:40 3:21 3:51 1:36 2:31 2:44 4:02 1:19 2:56 3:41
2 Trent Smith 🇿🇦 RSA1st of 237 aged 25-29 25-29 56:20 2:22 30:23 22:00 4:02 3:56 1:36 3:02 2:32 3:52 1:23 2:30 3:09
3 Reece Mc Ginley 🇮🇪 IRL2nd of 237 aged 25-29 25-29 56:47 2:49 30:37 23:04 3:12 4:07 1:59 2:48 2:23 4:14 1:18 2:38 3:37
4 Travis Brown 🇬🇧 GBR3rd of 237 aged 25-29 25-29 57:28 3:30 30:00 24:18 3:14 4:05 1:53 2:47 3:00 4:14 1:38 3:04 3:37
5 Shaun Galea 🇲🇹 MLT4th of 237 aged 25-29 25-29 57:55 3:57 30:17 24:31 3:11 3:53 2:13 2:49 2:50 4:11 1:17 3:09 4:09
6 Hubie Solley 🇬🇧 GBR2nd of 342 aged 30-34 30-34 58:12 4:14 29:39 25:31 3:07 4:07 2:18 3:18 3:17 4:08 1:35 3:09 3:39
7 Luke Garrick 🇮🇲 IMN5th of 237 aged 25-29 25-29 58:38 4:40 31:33 23:37 3:32 3:48 2:00 2:41 3:10 3:58 1:28 2:57 3:35
8 Mikołaj Wawrzyniak 🇵🇱 POL3rd of 342 aged 30-34 30-34 58:39 4:41 30:30 24:53 3:21 4:03 2:05 3:06 3:09 4:05 1:40 3:29 3:16
9 Dawid Ponichtera 🇵🇱 POL1st of 107 aged 16-24 16-24 58:47 4:49 30:51 24:27 3:32 3:59 1:39 2:46 3:17 3:55 1:32 2:58 4:21
10 Casper Dik 🇳🇱 NED6th of 237 aged 25-29 25-29 58:54 4:56 30:51 24:38 3:28 4:01 1:25 2:53 3:46 4:03 1:15 3:41 3:34
11 Dan Deacon 🇬🇧 GBR1st of 243 aged 40-44 40-44 58:54 4:56 30:51 24:38 3:28 4:01 1:25 2:53 3:46 4:03 1:15 3:41 3:34
12 Will Simpson 🇬🇧 GBR4th of 342 aged 30-34 30-34 59:04 5:06 30:48 24:36 3:45 3:44 2:15 3:21 3:29 4:05 1:18 2:48 3:36
13 Alex Morgan 🇬🇧 GBR1st of 336 aged 35-39 35-39 59:22 5:24 30:51 25:20 3:17 4:01 1:50 2:44 3:09 4:16 1:29 3:08 4:43
14 Jörg Gratzl 🇦🇹 AUT2nd of 243 aged 40-44 40-44 59:34 5:36 30:51 25:09 3:38 4:22 2:12 3:24 2:38 4:30 1:28 3:07 3:28
15 Michael Molloy 🇮🇪 IRL3rd of 243 aged 40-44 40-44 59:35 5:37 31:50 24:23 3:27 4:14 2:15 2:50 2:42 4:18 1:27 2:47 3:50
16 Lorenzo Parodi 🇮🇹 ITA7th of 237 aged 25-29 25-29 59:36 5:38 31:32 24:16 3:52 3:51 1:47 2:59 2:53 4:13 1:24 3:19 3:50
17 Dawid Rybak 🇵🇱 POL2nd of 336 aged 35-39 35-39 59:40 5:42 30:53 25:32 3:20 4:04 1:51 2:53 3:47 4:07 1:27 3:29 3:54
18 Grzegorz Hoffman 🇵🇱 POL3rd of 336 aged 35-39 35-39 1:00:02 6:04 30:59 25:22 3:46 4:10 2:04 3:10 3:30 4:11 1:22 2:41 4:14
19 Daniel Gault Pinion Stoksbjerg 🇩🇰 DEN2nd of 107 aged 16-24 16-24 1:00:07 6:09 31:32 25:10 3:29 3:56 2:03 3:09 3:30 4:09 1:28 3:09 3:46
20 Krystian Skwara 🇵🇱 POL5th of 342 aged 30-34 30-34 1:00:09 6:11 31:29 25:17 3:28 4:10 1:48 3:27 3:31 4:13 1:40 3:15 3:13
21 Mikita Ulasevich 🇵🇱 POL4th of 336 aged 35-39 35-39 1:00:23 6:25 32:01 24:42 3:45 4:06 1:42 2:50 3:04 4:18 1:32 3:11 3:59
22 Klemen Alic 🇸🇮 SLO6th of 342 aged 30-34 30-34 1:00:24 6:26 32:57 24:03 3:29 3:56 1:40 2:40 4:02 4:05 1:27 2:44 3:29
23 Johannes Pleger 🇩🇪 GER3rd of 107 aged 16-24 16-24 1:00:29 6:31 30:15 27:04 3:14 4:09 1:54 3:18 3:51 4:20 1:27 3:36 4:29
24 Richard Rainford 🇬🇧 GBR1st of 140 aged 45-49 45-49 1:00:32 6:34 32:48 23:58 3:51 4:03 2:00 3:34 2:26 4:15 1:27 2:46 3:27
25 Tom Murphy 🇬🇧 GBR4th of 107 aged 16-24 16-24 1:00:47 6:49 31:52 25:26 3:34 3:56 2:02 2:56 3:25 4:16 1:40 3:10 4:01
26 Antonin da Silva 🇫🇷 FRA8th of 237 aged 25-29 25-29 1:00:50 6:52 32:00 25:03 3:51 4:13 1:36 3:18 3:41 4:13 1:32 3:15 3:15
27 Piotr Jedynak 🇵🇱 POL7th of 342 aged 30-34 30-34 1:00:53 6:55 32:36 24:20 4:01 4:00 1:43 3:08 3:17 4:07 1:27 2:57 3:41
28 Paul Rushe 🇮🇪 IRL4th of 243 aged 40-44 40-44 1:01:04 7:06 32:49 24:27 3:53 4:05 1:49 2:42 3:15 4:13 1:30 3:12 3:41
29 Alex Brooks 🇬🇧 GBR5th of 243 aged 40-44 40-44 1:01:10 7:12 31:55 25:49 3:30 4:06 2:10 2:56 2:44 4:07 1:51 3:01 4:54
30 Adam Jenkins 🇬🇧 GBR5th of 336 aged 35-39 35-39 1:01:11 7:13 30:23 27:20 3:32 4:11 2:26 3:12 3:09 4:20 1:27 4:12 4:23
31 Christos Agrodimos 🇬🇷 GRE8th of 342 aged 30-34 30-34 1:01:17 7:19 31:35 26:16 3:29 4:08 2:21 3:04 3:40 4:14 1:44 3:26 3:39
32 Marlon Briffa 🇲🇹 MLT6th of 243 aged 40-44 40-44 1:01:21 7:23 31:46 26:01 3:39 4:23 2:29 3:15 2:53 4:23 1:38 3:04 3:56
33 Joshua Hardcastle 🇬🇧 GBR5th of 107 aged 16-24 16-24 1:01:34 7:36 29:56 27:57 3:44 4:19 2:16 3:36 3:53 4:23 1:40 3:01 4:49
34 Matteo Solari 🇨🇭 SUI9th of 237 aged 25-29 25-29 1:01:35 7:37 30:18 27:47 3:33 4:13 2:04 3:07 4:06 4:21 1:18 3:17 5:21
35 Daniel Brook 🇬🇧 GBR7th of 243 aged 40-44 40-44 1:01:56 7:58 32:51 24:42 4:27 3:57 1:48 2:49 3:37 4:27 1:28 3:07 3:29
36 Stefano Dentello 🇮🇹 ITA10th of 237 aged 25-29 25-29 1:01:56 7:58 32:10 25:56 3:54 4:19 1:47 3:19 3:14 4:17 1:29 3:12 4:19
37 Jan Fatura 🇨🇿 CZE6th of 336 aged 35-39 35-39 1:01:59 8:01 31:13 27:12 3:38 4:21 2:25 3:14 3:33 4:20 1:42 3:27 4:10
38 Matthew Boxall 🇬🇧 GBR11th of 237 aged 25-29 25-29 1:02:06 8:08 33:19 24:59 3:52 3:50 1:38 2:50 3:28 4:12 1:32 3:17 4:12
39 Fabio Nisi 🇮🇹 ITA12th of 237 aged 25-29 25-29 1:02:07 8:09 32:07 26:10 3:55 4:08 2:36 3:31 3:23 4:24 1:35 3:16 3:17
40 Cian Galvin 🇮🇪 IRL13th of 237 aged 25-29 25-29 1:02:12 8:14 32:34 25:59 3:45 4:04 2:07 2:41 3:48 4:13 1:36 3:33 3:57
41 Jakub Ostafiński 🇵🇱 POL6th of 107 aged 16-24 16-24 1:02:17 8:19 32:13 26:25 3:44 4:09 2:12 3:15 3:53 4:16 1:36 3:11 3:53
42 Andreas Fruhmann 🇩🇪 GER2nd of 140 aged 45-49 45-49 1:02:29 8:31 31:22 27:22 3:49 4:09 2:38 2:55 3:55 4:24 1:40 2:59 4:42
43 Alexander Pearshouse 🇬🇧 GBR8th of 243 aged 40-44 40-44 1:02:49 8:51 33:41 25:34 3:38 4:17 1:52 3:15 3:05 4:19 1:21 2:55 4:30
44 Murray Richardson 🇬🇧 GBR14th of 237 aged 25-29 25-29 1:02:56 8:58 31:56 27:32 3:33 3:57 2:17 4:07 3:47 4:18 1:41 3:36 3:49
45 Tomash Marko 🇳🇱 NED9th of 342 aged 30-34 30-34 1:03:01 9:03 32:20 26:14 4:30 4:20 2:20 3:39 3:12 4:25 1:30 3:00 3:48
46 Adam Clark 🇬🇧 GBR15th of 237 aged 25-29 25-29 1:03:03 9:05 33:07 26:22 3:38 4:21 2:34 3:12 3:01 4:17 1:39 3:36 3:42
47 Piotr Szmyt 🇵🇱 POL9th of 243 aged 40-44 40-44 1:03:05 9:07 33:08 26:19 3:44 4:14 1:38 3:07 3:37 4:11 1:34 3:37 4:21
48 Gareth Jones 🇬🇧 GBR7th of 336 aged 35-39 35-39 1:03:08 9:10 33:01 26:12 3:58 4:16 2:11 2:57 3:13 4:33 1:33 3:15 4:14
49 Karl Peers 🇬🇧 GBR10th of 243 aged 40-44 40-44 1:03:11 9:13 32:35 27:01 3:39 3:53 2:08 2:45 3:38 4:12 1:39 4:07 4:39
50 Vincent Martinet 🇫🇷 FRA8th of 336 aged 35-39 35-39 1:03:12 9:14 33:03 26:37 3:37 4:11 2:01 2:38 4:12 4:18 1:31 3:08 4:38
51 Konstantinos Chouvardas 🇬🇷 GRE3rd of 140 aged 45-49 45-49 1:03:15 9:17 31:14 28:47 3:18 4:31 2:09 3:40 3:42 4:28 1:24 2:57 5:56
52 James Adams 🇬🇧 GBR9th of 336 aged 35-39 35-39 1:03:17 9:19 31:20 28:46 3:15 4:03 2:20 3:25 4:25 4:15 1:47 3:57 4:34
53 Charlie Savill 🇬🇧 GBR16th of 237 aged 25-29 25-29 1:03:21 9:23 33:06 26:23 3:56 4:04 2:09 3:07 3:59 4:15 1:29 3:04 4:16
54 Paweł Iskra 🇵🇱 POL10th of 336 aged 35-39 35-39 1:03:27 9:29 29:38 29:57 3:57 3:56 1:54 4:00 3:53 4:21 1:25 3:57 6:31
55 Marco Angelini 🇮🇹 ITA17th of 237 aged 25-29 25-29 1:03:28 9:30 33:19 26:38 3:36 4:08 1:49 3:22 3:52 4:07 1:28 3:23 4:29
56 Naomichi Araki 🇯🇵 JPN18th of 237 aged 25-29 25-29 1:03:28 9:30 30:58 29:03 3:33 4:20 2:15 4:04 3:34 4:31 1:55 3:15 5:09
57 Davide Nizzoli 🇮🇹 ITA10th of 342 aged 30-34 30-34 1:03:30 9:32 32:15 27:25 3:55 4:13 1:53 3:49 3:31 4:24 1:33 3:31 4:31
58 Dominik Wyszyński 🇵🇱 POL19th of 237 aged 25-29 25-29 1:03:35 9:37 33:38 26:00 4:01 4:02 2:19 2:51 3:38 4:13 1:15 3:38 4:04
59 Miguel Reis e Silva 🇵🇹 POR11th of 336 aged 35-39 35-39 1:03:38 9:40 29:58 30:13 3:32 4:16 2:15 3:52 4:18 4:36 1:33 4:29 4:54
60 Lee Ryan SCO11th of 342 aged 30-34 30-34 1:03:50 9:52 31:47 28:17 3:50 4:14 2:15 3:43 3:58 4:30 1:52 3:43 4:02
61 Grant Sherwood 🇬🇧 GBR12th of 342 aged 30-34 30-34 1:03:55 9:57 32:43 27:41 3:35 4:11 2:33 3:03 4:14 4:19 1:44 3:56 3:41
62 Adam Knowles 🇬🇧 GBR13th of 342 aged 30-34 30-34 1:03:56 9:58 33:19 26:34 4:08 4:03 2:12 2:58 3:47 4:11 1:18 3:23 4:42
63 George Irwin 🇬🇧 GBR14th of 342 aged 30-34 30-34 1:03:56 9:58 32:55 27:32 3:32 4:19 2:22 3:18 3:45 4:23 1:30 3:36 4:19
64 Lazaros Koumpouras 🇬🇷 GRE12th of 336 aged 35-39 35-39 1:04:00 10:02 33:16 26:53 3:55 4:07 2:00 2:55 4:29 4:22 1:40 3:46 3:34
65 Ryan O’Brien 🇮🇪 IRL15th of 342 aged 30-34 30-34 1:04:02 10:04 33:20 26:12 4:34 4:15 1:58 3:10 3:20 4:11 1:39 3:20 4:19
66 Patryk Krzywda 🇵🇱 POL16th of 342 aged 30-34 30-34 1:04:10 10:12 33:06 26:59 4:10 4:10 2:09 3:09 3:24 4:26 1:25 3:24 4:52
67 Martyn Wright 🇬🇧 GBR17th of 342 aged 30-34 30-34 1:04:14 10:16 32:36 27:46 3:56 4:19 2:24 3:16 4:03 4:19 1:47 3:36 4:02
68 Andrew Williams 🇬🇧 GBR7th of 107 aged 16-24 16-24 1:04:17 10:19 31:59 28:43 3:39 4:17 2:04 3:24 4:27 4:28 1:55 4:03 4:05
69 Ryan Cunliffe 🇬🇧 GBR20th of 237 aged 25-29 25-29 1:04:20 10:22 31:26 28:48 4:10 4:04 1:57 3:32 3:44 4:23 1:36 4:19 5:13
70 Dean Clarke 🇬🇧 GBR13th of 336 aged 35-39 35-39 1:04:22 10:24 32:45 27:57 3:45 4:15 2:37 3:20 4:00 4:25 1:57 3:10 4:13
71 Simon Goldsbrough 🇿🇦 RSA18th of 342 aged 30-34 30-34 1:04:23 10:25 32:13 28:32 3:42 4:13 2:26 3:15 3:59 4:25 1:18 3:42 5:14
72 Tomasz Karpinski 🇵🇱 POL19th of 342 aged 30-34 30-34 1:04:25 10:27 32:25 28:07 3:59 4:20 2:03 3:26 4:10 4:19 1:43 3:11 4:55
73 Joshua White 🇬🇧 GBR20th of 342 aged 30-34 30-34 1:04:26 10:28 30:27 30:26 3:38 4:23 2:20 4:14 3:15 4:25 1:58 4:11 5:40
74 Aaron Ferguson 🇮🇪 IRL14th of 336 aged 35-39 35-39 1:04:33 10:35 32:02 28:47 3:50 4:07 1:56 3:24 4:03 4:25 1:33 3:28 5:51
75 Mario Abela 🇲🇹 MLT21st of 237 aged 25-29 25-29 1:04:35 10:37 32:37 28:30 3:31 4:12 2:15 4:09 4:03 4:21 1:34 4:11 3:45
76 Marcin Sawuła 🇵🇱 POL21st of 342 aged 30-34 30-34 1:04:36 10:38 31:47 28:48 4:05 4:08 2:25 4:01 3:46 4:27 1:41 4:04 4:16
77 Chris Harlow 🇬🇧 GBR15th of 336 aged 35-39 35-39 1:04:38 10:40 32:29 28:49 3:24 4:19 1:47 4:12 4:00 4:22 1:25 3:41 5:03
78 Paulius Mikolaitis 🇱🇹 LTU22nd of 342 aged 30-34 30-34 1:04:41 10:43 34:00 27:09 3:37 4:03 2:10 3:32 4:13 4:10 1:51 3:17 3:53
79 Marcus Unwin 🇬🇧 GBR8th of 107 aged 16-24 16-24 1:04:42 10:44 33:22 27:37 3:50 4:11 1:55 3:34 3:21 4:22 1:41 4:19 4:14
80 Jay Madelaine 🇬🇧 GBR22nd of 237 aged 25-29 25-29 1:04:57 10:59 33:01 27:41 4:19 4:16 2:32 3:20 4:02 4:20 1:35 3:50 3:46
81 Kamil Mazurkiewicz 🇵🇱 POL23rd of 237 aged 25-29 25-29 1:04:59 11:01 33:43 27:11 4:09 4:15 1:55 2:58 4:20 4:39 1:39 3:54 3:31
82 João Silveira 🇵🇹 POR24th of 237 aged 25-29 25-29 1:05:00 11:02 33:21 27:45 3:58 4:24 2:03 3:40 4:06 4:20 2:03 3:03 4:06
83 Gytis Karalevicius 🇱🇹 LTU25th of 237 aged 25-29 25-29 1:05:01 11:03 34:14 26:50 4:02 4:05 2:04 3:21 3:42 4:15 1:44 3:29 4:10
84 James Greenwood 🇬🇧 GBR23rd of 342 aged 30-34 30-34 1:05:01 11:03 34:09 26:59 3:56 3:58 2:05 3:14 3:36 4:20 1:39 3:51 4:16
85 Tomasz Liput 🇵🇱 POL16th of 336 aged 35-39 35-39 1:05:01 11:03 33:33 26:59 4:34 4:13 2:16 3:31 3:35 4:19 1:29 3:29 4:07
86 Patryk Cieślak 🇵🇱 POL9th of 107 aged 16-24 16-24 1:05:02 11:04 35:20 25:41 4:06 4:19 1:48 3:27 3:20 4:27 1:46 2:41 3:53
87 Piotr Król 🇵🇱 POL17th of 336 aged 35-39 35-39 1:05:02 11:04 30:42 30:44 3:40 4:21 2:07 4:26 3:52 4:36 1:36 4:25 5:21
88 Josh Flynn 🇮🇪 IRL10th of 107 aged 16-24 16-24 1:05:08 11:10 34:33 26:32 4:07 4:00 1:58 3:19 3:53 4:24 1:32 3:15 4:11
89 Bartlomiej Dzikowicz 🇵🇱 POL18th of 336 aged 35-39 35-39 1:05:12 11:14 34:07 27:17 3:52 4:22 1:59 3:17 3:54 4:24 1:25 3:55 4:01
90 Joshua Jones 🇬🇧 GBR11th of 107 aged 16-24 16-24 1:05:19 11:21 34:15 27:15 3:53 4:06 2:17 3:08 3:48 4:15 1:30 3:31 4:40
91 Callum Crosby 🇬🇧 GBR26th of 237 aged 25-29 25-29 1:05:22 11:24 34:16 27:01 4:10 4:17 1:41 3:38 3:59 4:14 1:45 3:04 4:23
92 Paul Gillingham 🇬🇧 GBR4th of 140 aged 45-49 45-49 1:05:22 11:24 34:13 27:24 3:48 4:14 2:06 3:14 4:10 4:23 1:35 3:09 4:33
93 Omar Kassab 🇲🇹 MLT27th of 237 aged 25-29 25-29 1:05:29 11:31 34:50 27:00 3:43 4:02 2:54 3:19 3:22 4:10 1:20 3:41 4:12
94 Sebastian Gajda 🇵🇱 POL19th of 336 aged 35-39 35-39 1:05:44 11:46 34:29 27:25 3:54 4:11 2:11 2:07 4:01 4:19 1:36 4:25 4:35
95 Fredrik Rantanen 🇸🇪 SWE24th of 342 aged 30-34 30-34 1:05:44 11:46 30:56 30:38 4:15 4:17 2:27 3:42 4:33 4:46 1:33 3:38 5:42
96 Janusz Skrzyszowski 🇵🇱 POL20th of 336 aged 35-39 35-39 1:05:46 11:48 33:24 28:48 3:39 4:35 2:11 3:22 3:37 4:33 1:29 4:00 5:01
97 Pawel Palenik 🇵🇱 POL11th of 243 aged 40-44 40-44 1:05:47 11:49 33:04 29:02 3:45 4:13 2:12 3:42 3:46 4:36 1:48 4:03 4:42
98 Scott Martin 🇬🇧 GBR5th of 140 aged 45-49 45-49 1:05:49 11:51 31:40 30:18 3:54 4:15 2:45 3:36 4:28 4:34 1:42 3:32 5:26
99 Scott Faulds 🇬🇧 GBR21st of 336 aged 35-39 35-39 1:05:50 11:52 33:59 28:09 3:47 4:14 2:30 3:28 3:53 4:25 1:37 3:46 4:16
100 Paddy Flood 🇬🇧 GBR25th of 342 aged 30-34 30-34 1:05:52 11:54 33:53 28:12 3:52 4:15 2:03 3:13 4:33 4:34 1:36 3:22 4:36
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