HYROX Madrid 2025: Open Men results

2,673 finishers on 29 Nov 2025. Typical finish 1:24:34, fastest 10% under 1:09:30. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Charlie Botterill 🇬🇧 GBR1st of 228 aged 16-24 16-24 53:56 27:52 22:22 3:47 3:56 2:06 2:22 3:04 3:51 1:27 2:16 3:20
2 Lucas Parker 🇬🇧 GBR2nd of 228 aged 16-24 16-24 56:23 2:27 27:20 24:52 4:17 4:00 2:17 3:18 3:03 4:02 1:38 2:52 3:42
3 Dan Nota 🇬🇧 GBR1st of 522 aged 25-29 25-29 57:58 4:02 28:41 25:16 4:05 4:14 2:17 3:09 3:08 4:14 1:47 2:57 3:30
4 Josep Torres 🇪🇸 ESP1st of 679 aged 30-34 30-34 58:11 4:15 27:24 26:51 4:00 4:09 2:17 3:55 3:33 3:54 1:40 3:32 3:51
5 Pasquale de Chirico 🇮🇹 ITA2nd of 679 aged 30-34 30-34 58:57 5:01 30:44 23:52 4:26 4:08 1:51 2:53 3:12 4:08 1:23 2:38 3:39
6 Lars Rademaker 🇳🇱 NED3rd of 679 aged 30-34 30-34 59:27 5:31 28:57 26:34 4:00 4:10 2:33 3:30 3:30 4:09 1:47 3:04 3:51
7 Abel Andrade 🇻🇪 VEN3rd of 228 aged 16-24 16-24 59:42 5:46 30:04 25:30 4:13 4:18 2:08 3:25 3:27 4:11 1:37 2:42 3:42
8 David Mosquera Cavada 🇪🇸 ESP1st of 529 aged 35-39 35-39 59:44 5:48 27:45 27:38 4:26 4:23 2:28 3:46 3:14 4:14 1:40 3:18 4:35
9 Pedro Correia 🇵🇹 POR4th of 679 aged 30-34 30-34 59:56 6:00 30:26 25:27 4:07 4:18 2:36 3:21 2:41 4:14 1:34 3:00 3:43
10 Mark Smith 🇬🇧 GBR2nd of 529 aged 35-39 35-39 59:57 6:01 29:22 26:20 4:19 4:09 2:27 3:11 3:25 4:08 1:39 3:43 3:38
11 Louis Simoneau 🇫🇷 FRA5th of 679 aged 30-34 30-34 1:00:02 6:06 30:48 25:06 4:12 4:11 2:16 2:52 3:25 4:06 1:44 3:07 3:25
12 José Silva 🇵🇹 POR1st of 334 aged 40-44 40-44 1:00:11 6:15 31:29 24:35 4:10 4:11 2:35 2:57 2:40 4:12 1:37 2:43 3:40
13 Rory Crighton SCO3rd of 529 aged 35-39 35-39 1:00:18 6:22 29:53 26:18 4:11 4:24 2:01 3:17 3:30 4:19 1:40 3:12 3:55
14 Daniel Feijoo Ferreiro 🇪🇸 ESP1st of 181 aged 45-49 45-49 1:00:20 6:24 30:00 26:10 4:16 4:05 1:46 3:22 3:32 4:03 1:26 3:16 4:40
15 Raúl Sanjuán Juan 🇪🇸 ESP2nd of 522 aged 25-29 25-29 1:00:28 6:32 28:57 27:39 3:56 4:28 2:44 3:23 3:03 4:31 1:47 3:13 4:30
16 Vincent Angel 🇫🇷 FRA3rd of 522 aged 25-29 25-29 1:00:33 6:37 30:35 25:51 4:09 4:26 2:01 2:54 3:42 4:15 1:31 3:08 3:54
17 Rodrigo Viana 🇵🇹 POR6th of 679 aged 30-34 30-34 1:00:57 7:01 29:06 27:42 4:13 4:20 2:37 3:22 3:10 4:13 1:41 3:20 4:59
18 Jamie Townsend 🇬🇧 GBR4th of 529 aged 35-39 35-39 1:01:10 7:14 29:25 27:35 4:15 4:04 3:14 3:18 3:12 4:22 1:59 3:24 4:02
19 Francisco Hijazo Zabala 🇪🇸 ESP7th of 679 aged 30-34 30-34 1:01:11 7:15 30:15 26:49 4:12 4:20 2:38 3:04 2:57 4:26 1:34 3:40 4:10
20 Jose Adrian Baez Batista 🇪🇸 ESP8th of 679 aged 30-34 30-34 1:01:14 7:18 31:25 25:33 4:20 4:11 2:33 3:09 3:14 4:13 1:39 3:14 3:20
21 Carl Robinson 🇬🇧 GBR4th of 522 aged 25-29 25-29 1:01:18 7:22 30:06 26:48 4:27 4:11 2:21 3:18 3:30 4:14 1:55 2:54 4:25
22 Berthel Jakobsen 🇩🇰 DEN4th of 228 aged 16-24 16-24 1:01:21 7:25 30:45 26:01 4:40 4:23 2:20 3:18 3:01 4:26 1:45 3:12 3:36
23 Matthew Blackwell 🇬🇧 GBR5th of 522 aged 25-29 25-29 1:01:33 7:37 29:32 27:42 4:24 4:14 2:33 3:07 4:01 4:15 1:55 3:46 3:51
24 Raúl García Comino 🇪🇸 ESP6th of 522 aged 25-29 25-29 1:01:36 7:40 31:25 25:48 4:27 4:38 1:58 3:01 3:05 4:31 1:22 2:53 4:20
25 Thomas Iriarte 🇫🇷 FRA7th of 522 aged 25-29 25-29 1:01:40 7:44 29:48 27:42 4:14 4:24 2:34 3:14 3:29 4:21 1:50 3:03 4:47
26 Jorge Grimaldo 🇪🇸 ESP5th of 228 aged 16-24 16-24 1:01:49 7:53 30:21 27:21 4:12 4:31 2:59 3:31 3:02 4:19 1:36 3:14 4:09
27 Guillaume Lescarboura 🇫🇷 FRA8th of 522 aged 25-29 25-29 1:02:07 8:11 31:26 26:28 4:17 4:18 2:30 2:55 3:17 4:11 1:34 3:32 4:11
28 Joshua White 🇬🇧 GBR9th of 679 aged 30-34 30-34 1:02:11 8:15 29:16 28:52 4:09 4:22 2:15 3:17 3:59 4:26 2:04 3:39 4:50
29 Daniel Ashton 🇬🇧 GBR9th of 522 aged 25-29 25-29 1:02:12 8:16 32:15 25:38 4:23 4:13 2:03 3:06 3:21 4:19 1:33 2:58 4:05
30 Jack Thompson 🇬🇧 GBR10th of 679 aged 30-34 30-34 1:02:16 8:20 29:34 28:08 4:38 4:13 2:14 3:21 3:24 4:23 1:44 3:50 4:59
31 Jose Mario Garcia 🇪🇸 ESP5th of 529 aged 35-39 35-39 1:02:19 8:23 30:32 27:28 4:23 4:24 2:00 3:03 3:22 4:13 2:05 3:35 4:46
32 Juan Hernández 🇪🇸 ESP6th of 228 aged 16-24 16-24 1:02:23 8:27 30:23 27:44 4:19 4:19 2:23 3:18 4:36 4:09 1:46 3:30 3:43
33 Celso Oliveira 🇵🇹 POR6th of 529 aged 35-39 35-39 1:02:28 8:32 30:07 28:07 4:18 4:35 2:47 3:33 3:17 4:24 2:01 3:26 4:04
34 Otto Chafer 🇪🇸 ESP11th of 679 aged 30-34 30-34 1:02:28 8:32 29:18 28:25 4:48 4:28 2:43 4:15 3:15 4:14 1:41 3:32 4:17
35 Sergio López Izquierdo 🇪🇸 ESP10th of 522 aged 25-29 25-29 1:02:36 8:40 29:25 28:52 4:24 4:25 2:25 3:41 3:32 4:36 1:40 3:11 5:22
36 Gonzalo Espejo del Rio 🇪🇸 ESP12th of 679 aged 30-34 30-34 1:02:39 8:43 31:54 26:22 4:28 4:20 2:39 3:22 2:59 4:21 1:42 2:56 4:03
37 Stefan Grootkarzijn 🇳🇱 NED13th of 679 aged 30-34 30-34 1:02:41 8:45 32:57 25:23 4:26 4:15 2:11 3:06 3:03 4:15 1:29 3:26 3:38
38 Jorge García-Uceda García 🇪🇸 ESP7th of 228 aged 16-24 16-24 1:02:42 8:46 29:52 28:38 4:16 4:26 2:39 3:58 2:42 4:13 1:43 3:18 5:39
39 Walter Paladina 🇮🇹 ITA11th of 522 aged 25-29 25-29 1:02:43 8:47 29:59 28:04 4:45 4:30 2:24 3:38 3:25 4:29 1:54 3:34 4:10
40 German Gomez 🇲🇽 MEX12th of 522 aged 25-29 25-29 1:02:44 8:48 31:35 26:47 4:27 4:30 2:23 3:11 3:17 4:14 1:29 3:06 4:37
41 Emmanuel Rodrigues 🇵🇹 POR13th of 522 aged 25-29 25-29 1:02:46 8:50 32:36 25:41 4:34 4:18 2:08 3:12 2:58 4:13 1:50 3:28 3:34
42 Jose Agustin Alises Gimenez 🇪🇸 ESP14th of 679 aged 30-34 30-34 1:02:51 8:55 29:03 30:00 3:53 4:47 3:18 3:33 3:22 4:28 2:06 3:26 5:00
43 Matt Oliver 🇬🇧 GBR7th of 529 aged 35-39 35-39 1:02:54 8:58 32:47 25:34 4:38 4:09 2:03 3:00 3:27 4:16 1:37 3:09 3:53
44 Constantino Nogueira 🇵🇹 POR15th of 679 aged 30-34 30-34 1:02:59 9:03 31:15 27:25 4:23 4:20 2:37 3:20 3:34 4:17 1:48 3:46 3:43
45 Nuno Ferreira 🇵🇹 POR14th of 522 aged 25-29 25-29 1:03:01 9:05 31:32 27:15 4:19 4:23 2:20 3:19 2:59 4:13 1:47 2:41 5:33
46 Tom Race 🇬🇧 GBR8th of 228 aged 16-24 16-24 1:03:08 9:12 30:23 28:36 4:13 4:25 2:23 3:23 3:32 4:16 1:45 3:57 4:55
47 Sam Garcia 🇪🇸 ESP8th of 529 aged 35-39 35-39 1:03:09 9:13 32:02 26:28 4:43 4:06 2:37 2:58 3:11 4:19 1:48 3:01 4:28
48 Manuel Fraga Díaz 🇪🇸 ESP2nd of 181 aged 45-49 45-49 1:03:11 9:15 30:28 27:55 4:53 4:27 2:49 3:46 3:25 4:32 1:39 2:53 4:24
49 Ben McMullen SCO9th of 228 aged 16-24 16-24 1:03:12 9:16 31:10 27:55 4:12 4:23 2:19 3:24 3:37 4:15 1:47 3:33 4:37
50 Bryan Lorenzo Fabelo 🇪🇸 ESP16th of 679 aged 30-34 30-34 1:03:12 9:16 30:40 28:12 4:26 4:19 2:29 3:12 3:07 4:32 1:38 3:45 5:10
51 João Afonso 🇵🇹 POR2nd of 334 aged 40-44 40-44 1:03:15 9:19 30:52 27:48 4:40 4:26 2:37 3:45 3:38 4:23 1:44 3:26 3:49
52 Richard Daniels 🇬🇧 GBR9th of 529 aged 35-39 35-39 1:03:17 9:21 29:28 29:47 4:07 4:41 2:34 3:46 3:40 4:28 2:00 3:47 4:51
53 Marcos Ramos 🇪🇸 ESP17th of 679 aged 30-34 30-34 1:03:25 9:29 29:22 29:46 4:22 4:41 2:32 4:01 2:56 4:34 1:56 4:00 5:06
54 Gonzalo Entrecanales 🇪🇸 ESP18th of 679 aged 30-34 30-34 1:03:32 9:36 31:35 27:23 4:38 4:14 2:03 3:20 3:58 4:00 1:36 3:41 4:31
55 Alexandre Vilas-Boas 🇵🇹 POR19th of 679 aged 30-34 30-34 1:03:32 9:36 30:20 28:50 4:25 4:22 2:44 3:21 3:25 4:28 2:02 3:53 4:35
56 Ryan Clift 🇬🇧 GBR15th of 522 aged 25-29 25-29 1:03:35 9:39 30:29 28:37 4:33 4:20 2:38 3:33 4:03 4:20 1:44 3:12 4:47
57 Alejandro Cerrejon 🇪🇸 ESP20th of 679 aged 30-34 30-34 1:03:37 9:41 31:30 26:55 5:16 4:20 2:51 3:25 3:26 4:17 1:37 3:16 3:43
58 Gaetan Blas 🇫🇷 FRA10th of 529 aged 35-39 35-39 1:03:40 9:44 32:50 26:26 4:27 4:24 1:57 3:12 3:08 4:30 1:36 3:01 4:38
59 Piers Plowman 🇬🇧 GBR21st of 679 aged 30-34 30-34 1:03:42 9:46 31:40 27:44 4:23 4:19 2:23 3:16 4:16 4:13 1:34 3:46 3:57
60 Marcus Bateman 🇬🇧 GBR3rd of 334 aged 40-44 40-44 1:03:43 9:47 31:38 27:35 4:34 4:10 1:58 3:09 4:19 4:18 1:31 3:26 4:44
61 Pablo Centeno Gonzalez 🇪🇸 ESP22nd of 679 aged 30-34 30-34 1:03:44 9:48 31:38 27:49 4:19 4:19 2:24 3:22 3:40 4:25 1:32 3:55 4:12
62 Pedro Fernandez Huedo 🇪🇸 ESP23rd of 679 aged 30-34 30-34 1:03:48 9:52 31:29 27:34 4:49 4:11 2:44 3:50 3:15 4:26 1:54 3:01 4:13
63 Luke Cauchi 🇲🇹 MLT24th of 679 aged 30-34 30-34 1:03:54 9:58 32:38 26:57 4:22 4:23 2:30 3:05 3:00 4:14 1:34 3:28 4:43
64 Alejandro Rodriguez Mataro 🇪🇸 ESP11th of 529 aged 35-39 35-39 1:03:58 10:02 31:40 28:02 4:20 4:10 2:34 3:35 2:47 4:27 1:49 4:16 4:24
65 Mitch Dancer 🇬🇧 GBR10th of 228 aged 16-24 16-24 1:04:00 10:04 30:50 28:25 4:49 4:27 2:54 3:31 4:05 4:25 1:36 3:21 4:06
66 John Hewetson 🇬🇧 GBR12th of 529 aged 35-39 35-39 1:04:02 10:06 31:22 28:16 4:28 4:24 2:08 3:25 3:39 4:27 1:37 3:04 5:32
67 Damian Bevilacqua 🇦🇷 ARG3rd of 181 aged 45-49 45-49 1:04:07 10:11 31:11 27:16 5:45 4:20 2:39 3:32 2:50 4:32 1:41 3:10 4:32
68 Iñaki Álvarez 🇪🇸 ESP13th of 529 aged 35-39 35-39 1:04:09 10:13 32:04 27:11 5:00 4:15 2:15 3:10 3:56 4:24 1:32 3:51 3:48
69 David San Miguel 🇪🇸 ESP25th of 679 aged 30-34 30-34 1:04:12 10:16 32:13 27:37 4:26 4:26 2:34 2:59 3:49 4:11 1:46 3:26 4:26
70 Sergio Nicolau Muñoz 🇪🇸 ESP11th of 228 aged 16-24 16-24 1:04:13 10:17 33:04 26:45 4:29 4:18 2:32 3:32 3:25 4:22 1:43 2:59 3:54
71 Euan Galloway 🇬🇧 GBR16th of 522 aged 25-29 25-29 1:04:15 10:19 30:19 29:36 4:23 4:31 2:28 3:43 4:05 4:25 1:48 3:35 5:01
72 Carlos Pérez Morillas 🇪🇸 ESP26th of 679 aged 30-34 30-34 1:04:16 10:20 31:52 28:05 4:22 4:38 2:23 4:02 3:04 4:26 1:32 3:19 4:41
73 Ronan Byrne 🇮🇪 IRL12th of 228 aged 16-24 16-24 1:04:17 10:21 32:16 27:19 4:46 4:31 3:05 4:01 2:41 4:27 1:32 2:58 4:04
74 Michael Flynn 🇮🇪 IRL14th of 529 aged 35-39 35-39 1:04:18 10:22 31:59 27:56 4:28 4:25 2:40 3:30 3:29 4:17 1:44 3:24 4:27
75 Jorge Morillas Pinillos 🇪🇸 ESP17th of 522 aged 25-29 25-29 1:04:19 10:23 29:59 29:58 4:27 4:22 2:40 3:40 3:51 4:27 2:02 3:56 5:00
76 Paul Shrives 🇬🇧 GBR4th of 334 aged 40-44 40-44 1:04:20 10:24 31:07 28:28 4:49 4:29 2:25 3:26 3:47 4:27 1:33 3:55 4:26
77 Igor Agirre 🇪🇸 ESP5th of 334 aged 40-44 40-44 1:04:24 10:28 31:38 28:29 4:20 4:20 2:49 3:22 3:00 4:21 1:41 4:15 4:41
78 Xisco Riquelme 🇪🇸 ESP6th of 334 aged 40-44 40-44 1:04:27 10:31 30:17 29:36 4:37 4:20 3:01 3:41 3:54 4:12 1:25 4:04 4:59
79 Antonio Rives 🇪🇸 ESP27th of 679 aged 30-34 30-34 1:04:32 10:36 32:54 26:53 4:48 4:26 2:25 3:25 3:17 4:18 1:29 3:30 4:03
80 Simon Fauthoux 🇫🇷 FRA15th of 529 aged 35-39 35-39 1:04:32 10:36 31:03 28:37 4:56 4:40 2:21 3:28 4:01 4:21 2:08 3:30 4:08
81 Diogo Morgado 🇵🇹 POR28th of 679 aged 30-34 30-34 1:04:33 10:37 32:52 27:03 4:43 4:21 2:01 4:04 3:04 4:26 1:27 3:20 4:20
82 Cédric Freyss 🇫🇷 FRA7th of 334 aged 40-44 40-44 1:04:34 10:38 33:48 26:04 4:46 4:34 2:22 3:21 2:55 4:05 1:34 3:20 3:53
83 Francisco Frau Vich 🇪🇸 ESP8th of 334 aged 40-44 40-44 1:04:35 10:39 29:50 30:35 4:14 4:33 2:56 3:42 3:39 4:46 2:00 3:26 5:33
84 Francisco José Casado Morena 🇪🇸 ESP16th of 529 aged 35-39 35-39 1:04:36 10:40 32:13 27:25 5:03 4:19 3:00 3:51 2:54 4:27 1:35 3:32 3:47
85 Rui Filipe Lopes Alves 🇵🇹 POR18th of 522 aged 25-29 25-29 1:04:37 10:41 33:09 26:48 4:45 4:18 2:14 3:50 3:31 4:22 1:26 3:35 3:32
86 Chris Gunson 🇬🇧 GBR19th of 522 aged 25-29 25-29 1:04:39 10:43 31:52 28:02 4:49 4:25 2:23 3:27 3:27 4:23 1:42 3:17 4:58
87 Ben Sillence 🇬🇧 GBR13th of 228 aged 16-24 16-24 1:04:39 10:43 31:18 29:06 4:19 4:16 2:18 3:14 4:31 4:17 1:53 3:50 4:47
88 Ivan Llorens 🇪🇸 ESP20th of 522 aged 25-29 25-29 1:04:40 10:44 31:26 29:01 4:17 4:11 2:48 3:41 3:05 4:11 1:52 3:28 5:45
89 Luís Nogueira 🇵🇹 POR29th of 679 aged 30-34 30-34 1:04:41 10:45 31:00 29:25 4:21 4:18 2:50 3:24 3:20 4:20 1:46 3:09 6:18
90 Benjamin Vavoulas 🇬🇧 GBR9th of 334 aged 40-44 40-44 1:04:42 10:46 30:50 28:02 5:53 4:05 1:54 3:36 3:57 4:23 1:35 3:15 5:17
91 Joe Fisher 🇬🇧 GBR10th of 334 aged 40-44 40-44 1:04:45 10:49 31:45 27:52 5:14 4:25 2:22 3:27 3:52 4:18 1:35 3:29 4:24
92 Alejandro Rivero 🇪🇸 ESP30th of 679 aged 30-34 30-34 1:04:46 10:50 32:42 27:28 4:40 4:08 2:33 3:25 3:44 4:16 1:56 3:16 4:10
93 Darren Roberts 🇬🇧 GBR21st of 522 aged 25-29 25-29 1:04:47 10:51 34:14 26:00 4:37 4:23 2:37 3:04 2:48 4:21 1:30 3:40 3:37
94 Romuald Lepers 🇫🇷 FRA1st of 52 aged 55-59 55-59 1:04:47 10:51 31:50 28:27 4:35 4:24 2:19 3:42 4:05 4:16 1:35 3:48 4:18
95 Paulius Mikolaitis 🇱🇹 LTU31st of 679 aged 30-34 30-34 1:04:51 10:55 31:53 28:45 4:18 4:09 2:25 3:37 4:36 4:15 1:40 3:22 4:41
96 Eduardo Adela Paredes 🇪🇸 ESP17th of 529 aged 35-39 35-39 1:04:58 11:02 31:48 28:51 4:23 4:24 2:11 3:20 2:58 4:17 1:39 3:28 6:34
97 Adrián Pérez 🇪🇸 ESP32nd of 679 aged 30-34 30-34 1:05:00 11:04 32:56 27:07 5:00 4:30 2:28 3:17 3:01 4:33 1:46 3:19 4:13
98 Eric Teruel 🇪🇸 ESP11th of 334 aged 40-44 40-44 1:05:01 11:05 31:45 28:42 4:38 4:20 2:40 3:40 3:57 4:23 1:49 3:39 4:14
99 Corentin Siedlinski 🇫🇷 FRA22nd of 522 aged 25-29 25-29 1:05:01 11:05 31:37 28:54 4:34 4:45 2:43 3:45 3:33 4:41 1:48 3:11 4:28
100 Ramón Alarcón Rodríguez 🇪🇸 ESP4th of 181 aged 45-49 45-49 1:05:02 11:06 31:35 28:52 4:40 4:37 2:27 4:00 3:24 4:17 1:40 3:34 4:53
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