FULL RESULTS
HYROX Barcelona 2025 Results – Pro Men
240 finishers. Winner Tom Rodgers in 56:05; median 1:11:28.
| Rank | Athlete | Nat | Age group | Time | Run | Workout |
|---|---|---|---|---|---|---|
| 1 | Tom Rodgers | 30-34 | 56:05 | 27:27 | 24:50 | |
| 2 | Hidde Weersma | 25-29 | 56:33 | 27:19 | 25:29 | |
| 3 | Jonathon Wynn | 35-39 | 57:14 | 28:51 | 24:29 | |
| 4 | Joffrey Voisin | 40-44 | 57:45 | 28:37 | 24:48 | |
| 5 | Alen Ploj | 30-34 | 57:58 | 29:15 | 24:39 | |
| 6 | Liam Mccroary | 25-29 | 57:59 | 27:59 | 26:23 | |
| 7 | Alan Cao | 30-34 | 57:59 | 28:43 | 25:16 | |
| 8 | Oli Fricker | 30-34 | 58:13 | 28:34 | 25:35 | |
| 9 | Krystian Patryk Poremba | 30-34 | 58:20 | 28:42 | 25:32 | |
| 10 | Sean Noble | 25-29 | 58:40 | 28:59 | 25:26 | |
| 11 | Aaron Travers | 25-29 | 58:45 | 30:20 | 24:16 | |
| 12 | Harry Thompson | 30-34 | 58:46 | 28:50 | 25:58 | |
| 13 | Emilio Aguayo | 30-34 | 58:48 | 27:08 | 28:03 | |
| 14 | Richard Hynek | 25-29 | 58:56 | 27:54 | 27:21 | |
| 15 | Philipp Wamser | 25-29 | 59:01 | 29:29 | 25:33 | |
| 16 | Rene Groinig | 25-29 | 59:02 | 28:08 | 27:06 | |
| 17 | Kenny Steger | 25-29 | 59:16 | 28:56 | 26:33 | |
| 18 | Roberto Viciedo Gimeno | 25-29 | 59:19 | 29:12 | 26:10 | |
| 19 | Louis Osselaer | 30-34 | 59:20 | 29:54 | 25:31 | |
| 20 | Florian Gast | 30-34 | 59:21 | 28:36 | 26:47 | |
| 21 | Aitor Lizarazu Hormilla | 30-34 | 59:29 | 29:11 | 26:07 | |
| 22 | Samir Schön | 25-29 | 59:36 | 28:40 | 26:46 | |
| 23 | Eugenio Bianchi | 35-39 | 59:48 | 28:20 | 27:25 | |
| 24 | Paul Weindl | 25-29 | 59:49 | 28:18 | 27:10 | |
| 25 | Aaron Woodman | 35-39 | 59:49 | 28:52 | 27:00 | |
| 26 | Jannik Czapla | 25-29 | 59:51 | 28:26 | 27:36 | |
| 27 | Ollie Russell | 25-29 | 59:59 | 29:21 | 26:14 | |
| 28 | Lukas Storath | 40-44 | 1:00:05 | 28:17 | 27:59 | |
| 29 | Sadiq Elfitouri | 30-34 | 1:00:14 | 28:44 | 27:36 | |
| 30 | Sebastian Ifversen | 25-29 | 1:00:28 | 27:51 | 28:26 | |
| 31 | Christof Brenner | 35-39 | 1:00:31 | 29:46 | 26:34 | |
| 32 | Thierry Willigenburg | 25-29 | 1:00:46 | 28:41 | 28:02 | |
| 33 | Julien Coquillaud-Salomon | 30-34 | 1:00:46 | 27:58 | 28:49 | |
| 34 | Joey Patchitt | 30-34 | 1:00:56 | 29:42 | 27:14 | |
| 35 | Ryan Hogan | 35-39 | 1:01:07 | 28:17 | 28:30 | |
| 36 | Peter Schiller | 30-34 | 1:01:17 | 30:20 | 26:53 | |
| 37 | Théo Lainé | 16-24 | 1:01:26 | 29:13 | 28:19 | |
| 38 | Ronan Lindsay | 30-34 | 1:01:29 | 29:48 | 27:41 | |
| 39 | Danny Rae | 25-29 | 1:01:29 | 29:37 | 27:46 | |
| 40 | Pablo Valverde Reyes | 30-34 | 1:01:33 | 30:12 | 27:10 | |
| 41 | Ivan Pranjic | 35-39 | 1:01:38 | 30:59 | 26:11 | |
| 42 | Igor Arruti | 30-34 | 1:01:47 | 29:56 | 27:29 | |
| 43 | Pablo Sánchez Santos | 30-34 | 1:01:50 | 27:40 | 30:31 | |
| 44 | Samuele Carlo Ayrton Abrami | 25-29 | 1:01:54 | 30:33 | 27:02 | |
| 45 | Yeray Toquero | 35-39 | 1:02:06 | 30:35 | 26:58 | |
| 46 | Jordan Bryant | 30-34 | 1:02:12 | 30:43 | 27:13 | |
| 47 | Jorge Gonzalez | 25-29 | 1:02:18 | 31:52 | 26:09 | |
| 48 | Jess Price-Owen | 35-39 | 1:02:26 | 28:49 | 29:39 | |
| 49 | Hugo Hugemarq | 25-29 | 1:02:59 | 29:57 | 28:01 | |
| 50 | Anthony Casano | 25-29 | 1:03:01 | 31:31 | 27:23 | |
| 51 | Giovanni Benzon | 16-24 | 1:03:17 | 28:58 | 30:23 | |
| 52 | Austin Azar | 30-34 | 1:03:21 | 29:51 | 28:52 | |
| 53 | Tiago Lousa | 40-44 | 1:03:32 | 28:32 | 30:57 | |
| 54 | Charlie Botterill | 16-24 | 1:03:37 | 29:16 | 30:09 | |
| 55 | Jordi Rossello Knabe | 30-34 | 1:03:50 | 31:05 | 28:34 | |
| 56 | Diogo Freitas | 30-34 | 1:03:56 | 31:50 | 27:49 | |
| 57 | Santiago Martínez Torres | 35-39 | 1:03:59 | 29:22 | 29:52 | |
| 58 | William Means | 25-29 | 1:04:03 | 30:37 | 29:01 | |
| 59 | Ezra Warren | 30-34 | 1:04:10 | 29:36 | 30:07 | |
| 60 | Pär Bergsman | 40-44 | 1:04:13 | 29:35 | 30:33 | |
| 61 | Valentin Gamba Dondich | 30-34 | 1:04:19 | 29:51 | 30:00 | |
| 62 | Julian Kreutzer | 25-29 | 1:04:34 | 29:39 | 30:53 | |
| 63 | Rio Quarry | 16-24 | 1:04:35 | 32:19 | 27:52 | |
| 64 | Joshua Cunha | 25-29 | 1:04:53 | 32:14 | 28:04 | |
| 65 | Sergio Olivares Plaza | 35-39 | 1:04:53 | 31:20 | 29:17 | |
| 66 | Alexis Bernier | 30-34 | 1:04:58 | 29:42 | 31:00 | |
| 67 | Filipe Prates Pucarinho | 35-39 | 1:04:59 | 30:43 | 30:05 | |
| 68 | Pedro Antonio Toral Leiva | 25-29 | 1:05:06 | 29:35 | 31:19 | |
| 69 | Tyler Rutten | 25-29 | 1:05:46 | 30:16 | 31:18 | |
| 70 | Carl Weaver | 35-39 | 1:05:54 | 31:42 | 29:49 | |
| 71 | Ricards Matuzevics | 30-34 | 1:05:58 | 32:03 | 28:57 | |
| 72 | Jack Lawrence | 25-29 | 1:06:01 | 32:35 | 28:27 | |
| 73 | André Teresinho | 25-29 | 1:06:04 | 32:10 | 29:32 | |
| 74 | Roger Marti Vargas | 25-29 | 1:06:20 | 31:33 | 30:29 | |
| 75 | François Bossard | 30-34 | 1:06:41 | 32:59 | 29:07 | |
| 76 | Joshua Langley | 16-24 | 1:06:42 | 30:33 | 32:00 | |
| 77 | Mathias Ramberg | 25-29 | 1:06:43 | 32:12 | 29:57 | |
| 78 | Daniel Soler Borrego | 35-39 | 1:06:46 | 34:24 | 27:26 | |
| 79 | Julien Veyrat | 25-29 | 1:06:47 | 29:27 | 32:50 | |
| 80 | David Martin Peral | 50-54 | 1:07:17 | 31:30 | 31:30 | |
| 81 | Kees Aardenburg | 30-34 | 1:07:17 | 29:39 | 33:30 | |
| 82 | Kamil Kuszmider | 30-34 | 1:07:34 | 33:35 | 29:57 | |
| 83 | Angus Cook | 25-29 | 1:07:38 | 32:05 | 31:20 | |
| 84 | Guido Susani | 16-24 | 1:07:44 | 33:15 | 29:56 | |
| 85 | Marco Tulio Maciel Evangelista | 25-29 | 1:07:46 | 29:36 | 34:08 | |
| 86 | Rok Kolarič | 40-44 | 1:07:48 | 32:08 | 30:59 | |
| 87 | Sébastien Sauvan | 30-34 | 1:07:53 | 32:30 | 30:29 | |
| 88 | Mathieu Gschwandtner | 25-29 | 1:08:06 | 31:56 | 31:23 | |
| 89 | Rilwan Anibaba | 30-34 | 1:08:08 | 31:08 | 32:22 | |
| 90 | Yoel Ferrer | 30-34 | 1:08:11 | 29:11 | 34:34 | |
| 91 | James Gilboy | 25-29 | 1:08:23 | 32:58 | 30:40 | |
| 92 | Robert Berak | 30-34 | 1:08:30 | 32:25 | 31:10 | |
| 93 | Christian Huerta | 30-34 | 1:08:31 | 32:23 | 31:27 | |
| 94 | Josh Rawlings | 30-34 | 1:08:32 | 32:13 | 31:38 | |
| 95 | Andrew Langley | 40-44 | 1:08:34 | 31:17 | 32:09 | |
| 96 | David Bustos | 30-34 | 1:08:36 | 30:02 | 33:49 | |
| 97 | Thomas Magner | 16-24 | 1:08:37 | 30:35 | 33:30 | |
| 98 | David Maia | 30-34 | 1:08:37 | 31:29 | 32:42 | |
| 99 | Aaron Murphy | 35-39 | 1:08:54 | 32:03 | 31:57 | |
| 100 | Dirk Schulke | 35-39 | 1:09:03 | 31:50 | 31:27 | |
| 101 | Joni Somoza | 30-34 | 1:09:05 | 31:40 | 32:28 | |
| 102 | Clement Guyard | 35-39 | 1:09:12 | 33:40 | 30:10 | |
| 103 | Mohamed Redaoui | 25-29 | 1:09:20 | 32:42 | 31:49 | |
| 104 | Deke Banks | 30-34 | 1:09:31 | 31:20 | 33:26 | |
| 105 | Javier López Ávila | 30-34 | 1:09:32 | 31:36 | 33:27 | |
| 106 | Nicolas Reynet | 30-34 | 1:09:48 | 30:42 | 34:17 | |
| 107 | Lars Sæberg | 25-29 | 1:09:54 | 33:56 | 31:00 | |
| 108 | George Kimberley | 30-34 | 1:09:59 | 31:20 | 34:07 | |
| 109 | Greyson Kilgore | 30-34 | 1:10:01 | 31:24 | 33:36 | |
| 110 | Jon Ander Obeso | 25-29 | 1:10:06 | 31:54 | 33:34 | |
| 111 | Stephen Cassells | 30-34 | 1:10:09 | 36:23 | 29:33 | |
| 112 | Ion Gorostidi Diaz | 35-39 | 1:10:17 | 31:46 | 34:08 | |
| 113 | Albert Jose Gonzalvo | 40-44 | 1:10:33 | 30:44 | 34:55 | |
| 114 | Tomás Jesús Cardona | 35-39 | 1:10:48 | 33:07 | 33:07 | |
| 115 | Mathew Vowles | 35-39 | 1:10:51 | 32:36 | 32:51 | |
| 116 | Guillermo De La Rubia Bernabeu | 40-44 | 1:10:57 | 33:24 | 32:30 | |
| 117 | Harry Nolan | 45-49 | 1:11:02 | 33:55 | 32:11 | |
| 118 | Dominik Kaunert | 30-34 | 1:11:11 | 33:08 | 33:06 | |
| 119 | Cole Lyall | 16-24 | 1:11:17 | 30:59 | 36:02 | |
| 120 | Julian Arcos | 35-39 | 1:11:24 | 32:25 | 34:11 | |
| 121 | Raphael Merkt | 30-34 | 1:11:31 | 33:02 | 33:23 | |
| 122 | Gil Nicola | 30-34 | 1:11:32 | 31:36 | 35:16 | |
| 123 | Alexander Häberle | 16-24 | 1:11:38 | 31:28 | 35:34 | |
| 124 | Jak Leese | 30-34 | 1:11:42 | 33:37 | 33:20 | |
| 125 | Julen Rivas | 35-39 | 1:11:51 | 33:03 | 33:53 | |
| 126 | Daniele Asietti | 30-34 | 1:12:03 | 31:23 | 36:30 | |
| 127 | David Cespedosa Toribio | 30-34 | 1:12:07 | 36:14 | 30:13 | |
| 128 | Grégory Touzet | 30-34 | 1:12:13 | 35:44 | 31:27 | |
| 129 | Chema Salas Pérez | 30-34 | 1:12:30 | 31:46 | 35:22 | |
| 130 | Patrick Fagan | 30-34 | 1:12:33 | 32:01 | 35:44 | |
| 131 | Juan Manuel Prieto Santana | 40-44 | 1:12:50 | 32:18 | 34:54 | |
| 132 | Quentin Nantois | 35-39 | 1:12:55 | 32:12 | 35:30 | |
| 133 | Adrià Sabaté Masip | 40-44 | 1:12:59 | 34:20 | 33:48 | |
| 134 | Joaquin Vic Cano | 40-44 | 1:13:03 | 34:41 | 33:30 | |
| 135 | Stefan Höcht | 30-34 | 1:13:49 | 33:28 | 35:21 | |
| 136 | Giovanni Guidetti | 35-39 | 1:13:57 | 33:05 | 35:47 | |
| 137 | Oli Leighton | 30-34 | 1:13:59 | 33:55 | 35:12 | |
| 138 | Connor Martin | 30-34 | 1:14:14 | 33:22 | 35:58 | |
| 139 | Lucio Roman | 50-54 | 1:14:20 | 33:54 | 35:18 | |
| 140 | Arnoldas Macidulskas | 25-29 | 1:14:20 | 35:27 | 34:42 | |
| 141 | Iain Irving | 40-44 | 1:14:23 | 35:22 | 33:08 | |
| 142 | Sam Mezzache | 40-44 | 1:14:28 | 30:55 | 38:46 | |
| 143 | James Drury | 35-39 | 1:14:53 | 33:39 | 36:04 | |
| 144 | Jan-Cay Von Appen | 35-39 | 1:14:59 | 35:14 | 33:20 | |
| 145 | Marcus Farris | 35-39 | 1:15:14 | 34:28 | 35:03 | |
| 146 | Ray Gabriel | 30-34 | 1:15:15 | 37:20 | 32:44 | |
| 147 | Nicolai Reicherter | 30-34 | 1:15:20 | 35:50 | 34:11 | |
| 148 | John Ross | 35-39 | 1:15:38 | 34:25 | 35:47 | |
| 149 | Antonio Fernandez Ruiz | 50-54 | 1:15:42 | 35:07 | 35:33 | |
| 150 | Alexander Henderson | 25-29 | 1:15:50 | 37:44 | 32:55 | |
| 151 | Marco Di Geronimo | 40-44 | 1:16:01 | 32:10 | 38:05 | |
| 152 | Ricardo Ribeiro | 30-34 | 1:16:26 | 33:37 | 38:25 | |
| 153 | Mariusz Michalski | 40-44 | 1:16:44 | 36:25 | 34:42 | |
| 154 | Benedikt Wagner | 25-29 | 1:16:46 | 33:24 | 38:16 | |
| 155 | David Martinez Huerta | 25-29 | 1:16:55 | 34:27 | 36:34 | |
| 156 | Augustin Merlin | 30-34 | 1:17:07 | 34:46 | 36:47 | |
| 157 | Sergio José Betancort Riverol | 35-39 | 1:17:29 | 34:25 | 37:13 | |
| 158 | Sean Paul | 30-34 | 1:17:45 | 33:37 | 38:45 | |
| 159 | Adán Arocha Rodríguez | 30-34 | 1:18:09 | 34:03 | 39:15 | |
| 160 | Arnau Oliver | 16-24 | 1:18:17 | 33:33 | 39:35 | |
| 161 | Tim Heinzle | 30-34 | 1:18:33 | 38:10 | 34:32 | |
| 162 | Ludovic Beuret | 30-34 | 1:18:50 | 36:40 | 36:58 | |
| 163 | Benjamin Colchen | 40-44 | 1:18:54 | 31:26 | 42:41 | |
| 164 | David Peelo | 45-49 | 1:19:08 | 38:26 | 35:29 | |
| 165 | David Muñoz Pascual | 30-34 | 1:19:19 | 37:05 | 36:07 | |
| 166 | Daniel Nicolás Muñoz | 40-44 | 1:19:38 | 35:42 | 38:36 | |
| 167 | Jordan Ferrier | 30-34 | 1:19:40 | 34:14 | 40:41 | |
| 168 | Darren Scott | 50-54 | 1:19:49 | 35:59 | 37:38 | |
| 169 | Matthias Newsome | 30-34 | 1:19:53 | 34:25 | 40:38 | |
| 170 | Miguel Silva | 35-39 | 1:20:10 | 37:31 | 36:45 | |
| 171 | Phil Mataj | 25-29 | 1:20:16 | 39:59 | 35:01 | |
| 172 | Andrea Riccardo Tessarin | 45-49 | 1:20:21 | 38:07 | 36:46 | |
| 173 | Marcel Heitvogt | 30-34 | 1:20:24 | 39:08 | 35:08 | |
| 174 | Jonathan Eames | 40-44 | 1:20:26 | 33:22 | 42:27 | |
| 175 | Iñaki Álvarez | 35-39 | 1:20:36 | 36:46 | 37:05 | |
| 176 | Jeremy De Hoog | 30-34 | 1:21:03 | 32:33 | 43:13 | |
| 177 | Jimi Roelofs | 25-29 | 1:21:07 | 38:15 | 37:37 | |
| 178 | Andrés Henriquez Reyes | 30-34 | 1:21:31 | 35:50 | 38:53 | |
| 179 | Laurent Missotten | 35-39 | 1:21:44 | 41:41 | 34:17 | |
| 180 | Pedro Silva | 30-34 | 1:22:00 | 36:06 | 39:49 | |
| 181 | Clément Berlouin | 30-34 | 1:22:06 | 33:17 | 43:29 | |
| 182 | Osmer Santamaria | 30-34 | 1:22:12 | 34:37 | 40:13 | |
| 183 | Tom Morris | 30-34 | 1:22:13 | 40:32 | 34:55 | |
| 184 | Samuel Grialou | 30-34 | 1:22:30 | 36:09 | 40:48 | |
| 185 | Pablo Núñez Casado | 25-29 | 1:22:31 | 41:06 | 36:12 | |
| 186 | Mitchell Ronde | 25-29 | 1:22:33 | 38:53 | 37:59 | |
| 187 | Nils Sambill | 40-44 | 1:22:50 | 39:35 | 34:15 | |
| 188 | Tim Sundermann | 25-29 | 1:22:51 | 39:38 | 35:46 | |
| 189 | Filippo Graziani | 30-34 | 1:23:45 | 37:20 | 40:44 | |
| 190 | Jordon Fletcher | GGY | 25-29 | 1:23:53 | 37:26 | 39:38 |
| 191 | Christian Verheughe | 35-39 | 1:23:56 | 39:36 | 37:19 | |
| 192 | Thilo Batta | 45-49 | 1:24:01 | 34:45 | 43:29 | |
| 193 | Nicolas Edouin | 25-29 | 1:24:01 | 38:51 | 38:21 | |
| 194 | José Luis Opazo Morales | 35-39 | 1:24:13 | 37:38 | 40:53 | |
| 195 | Tom Hunt | 30-34 | 1:24:26 | 37:16 | 41:17 | |
| 196 | Xavier Alting Van Geusau | 35-39 | 1:24:31 | 40:10 | 38:01 | |
| 197 | Ales Stubicar | 45-49 | 1:24:56 | 36:52 | 41:22 | |
| 198 | Antoine Stein | 25-29 | 1:25:02 | 35:39 | 43:38 | |
| 199 | Saverio Ricciuti | 35-39 | 1:25:33 | 37:58 | 41:17 | |
| 200 | Clément Sudre | 25-29 | 1:25:33 | 36:58 | 41:32 |