HYROX Frankfurt 2025: Doubles Men results

940 teams on 12 Dec 2025. Typical finish 1:15:51, fastest 10% under 1:04:20. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Friedrich Jan-Niklas, Roman Hopp 🇩🇪 GER1st of 284 aged 30-34 30-34 53:40 28:36 20:51 4:18 3:30 1:56 2:36 1:56 4:05 1:04 2:10 3:34
2 Daniel Leibinger, Marius Sauter 🇩🇪 GER1st of 244 aged 25-29 25-29 53:46 0:06 29:10 20:29 4:12 3:31 1:54 1:57 2:17 3:50 1:28 2:14 3:18
3 Torben Semrau, Kai Aichinger 🇩🇪 GER2nd of 244 aged 25-29 25-29 55:34 1:54 29:13 21:46 4:40 3:39 1:45 2:45 2:11 4:08 1:10 2:40 3:28
4 Nils Baukrowitz, Alex Kukla 🇩🇪 GER3rd of 244 aged 25-29 25-29 56:37 2:57 31:13 21:00 4:29 3:29 1:45 1:57 2:15 3:58 1:20 2:27 3:49
5 Jonas Noll, Oliver Hoena 🇩🇪 GER4th of 244 aged 25-29 25-29 57:06 3:26 31:44 21:11 4:15 3:43 1:38 2:17 2:09 4:01 1:22 2:27 3:34
6 Felix Limbach, Jörg Limbach 🇩🇪 GER2nd of 284 aged 30-34 30-34 57:09 3:29 29:03 24:02 4:08 3:52 1:59 2:39 2:34 4:07 1:27 3:04 4:20
7 Quint Breitkreuz, Moritz Gerdes 🇩🇪 GER1st of 71 aged 16-24 16-24 57:46 4:06 29:57 23:37 4:16 4:01 2:24 2:41 2:32 4:04 1:40 2:26 3:49
8 Yannick Sondermann, Simon Haak 🇩🇪 GER3rd of 284 aged 30-34 30-34 58:01 4:21 31:15 22:21 4:30 3:35 1:50 2:40 2:29 3:55 1:19 2:37 3:56
9 Silas Remp, Philipp Wandl 🇩🇪 GER2nd of 71 aged 16-24 16-24 58:22 4:42 31:00 22:58 4:28 3:44 1:47 2:53 2:25 4:08 1:38 2:37 3:46
10 Lukas Dreger, Andy Schröder 🇩🇪 GER1st of 94 aged 40-44 40-44 58:35 4:55 31:09 23:00 4:30 3:39 1:52 2:56 2:26 4:13 1:28 2:45 3:41
11 Jochen Binder, Robin Schäfer 🇩🇪 GER2nd of 94 aged 40-44 40-44 58:52 5:12 32:42 21:25 4:49 3:36 1:46 2:23 1:48 4:16 1:13 2:33 3:50
12 Christoph Wüst, Moritz Müller 🇩🇪 GER5th of 244 aged 25-29 25-29 59:02 5:22 32:09 22:27 4:30 3:55 1:46 2:12 2:44 4:06 1:26 2:30 3:48
13 Lukas Bächle, Erik Schartmann 🇩🇪 GER4th of 284 aged 30-34 30-34 59:06 5:26 31:54 22:34 4:42 3:32 1:54 2:48 2:35 4:02 1:22 2:42 3:39
14 Lukas Agne, Joshua Wilhelm 🇩🇪 GER5th of 284 aged 30-34 30-34 59:09 5:29 31:22 23:09 4:44 3:50 2:01 2:44 2:34 4:17 1:11 2:52 3:40
15 Loic Perdomini, Clement Huber 🇫🇷 FRA6th of 284 aged 30-34 30-34 59:28 5:48 30:47 24:19 4:28 3:51 2:13 2:58 2:44 4:05 1:16 2:50 4:22
16 Fabian Ziegler, Simon Kriener 🇩🇪 GER7th of 284 aged 30-34 30-34 59:33 5:53 32:21 22:35 4:40 3:46 1:47 2:52 2:14 4:04 1:27 2:35 3:50
17 Dan Bürger, Stefan Fangmann 🇩🇪 GER6th of 244 aged 25-29 25-29 59:35 5:55 30:00 25:11 4:27 3:49 1:54 2:57 2:56 4:16 1:27 3:21 4:31
18 Tom Quadflieg, Fabian Sendscheid 🇩🇪 GER8th of 284 aged 30-34 30-34 59:43 6:03 32:32 22:35 4:41 3:53 1:33 2:43 2:37 4:02 1:24 2:42 3:41
19 Mathias Edfelder, Lukas Thomalla 🇩🇪 GER7th of 244 aged 25-29 25-29 59:51 6:11 33:09 21:42 5:04 3:38 1:38 2:14 2:03 4:02 1:26 3:07 3:34
20 Christian Weber, Dennis Preljevic 🇩🇪 GER1st of 187 aged 35-39 35-39 59:56 6:16 34:44 20:19 4:56 3:35 1:25 2:08 2:02 3:52 1:13 2:16 3:48
21 Max Höhner, Philipp Thomas 🇩🇪 GER9th of 284 aged 30-34 30-34 59:56 6:16 33:25 21:31 5:04 3:28 1:48 2:06 2:38 3:58 1:13 2:33 3:47
22 Florian Kowalczyk, Andre Pfeiler 🇩🇪 GER10th of 284 aged 30-34 30-34 59:59 6:19 31:56 23:11 4:58 3:44 2:02 2:43 2:53 4:15 1:31 2:33 3:30
23 Max Minges, Julian Schmitt 🇩🇪 GER11th of 284 aged 30-34 30-34 1:00:04 6:24 30:58 24:41 4:29 4:14 2:15 3:03 2:43 4:35 1:29 2:48 3:34
24 Tom Martz, Pascal Martz 🇫🇷 FRA2nd of 187 aged 35-39 35-39 1:00:08 6:28 32:05 23:39 4:29 3:45 1:53 3:18 2:28 4:17 1:43 2:33 3:42
25 Lukas Storath, Dirk Görgen 🇩🇪 GER1st of 37 aged 45-49 45-49 1:00:14 6:34 34:55 20:53 4:30 3:36 1:49 2:33 1:55 3:46 1:07 2:30 3:37
26 Frank Schaarschmidt, Pascal Petersen 🇩🇪 GER3rd of 187 aged 35-39 35-39 1:00:16 6:36 34:17 21:31 4:33 3:36 1:33 1:58 2:33 4:13 1:23 2:31 3:44
27 Alexander Höhne, Paul Gnich 🇩🇪 GER3rd of 94 aged 40-44 40-44 1:00:27 6:47 30:59 24:37 4:56 3:51 2:20 3:11 2:17 4:12 1:27 3:00 4:19
28 Maximilian Jansen, Jonas Harold Udo Japing 🇩🇪 GER12th of 284 aged 30-34 30-34 1:00:35 6:55 32:33 23:31 4:37 3:46 2:04 2:34 2:49 4:07 1:31 2:41 3:59
29 Christian Nutz, Robert Back 🇩🇪 GER4th of 94 aged 40-44 40-44 1:00:36 6:56 — 52:29 15:12 4:55 2:46 6:27 9:08 6:41 2:27 9:35 10:30
30 Daniel Krauss, Florian Beck 🇩🇪 GER13th of 284 aged 30-34 30-34 1:00:52 7:12 31:40 24:08 5:08 3:56 2:14 2:58 2:45 4:03 1:17 2:51 4:04
31 Roman Hahn, Amadeus Hahn 🇩🇪 GER14th of 284 aged 30-34 30-34 1:00:54 7:14 32:42 22:33 5:42 3:50 1:39 2:39 2:28 4:04 1:04 2:22 4:27
32 Sven Bleh, Thomas Heider 🇩🇪 GER1st of 15 aged 50-54 50-54 1:00:55 7:15 32:34 23:42 4:44 3:50 2:14 3:05 2:16 4:00 1:29 2:50 3:58
33 Théo Jarry, Estéban Sanquer 🇫🇷 FRA8th of 244 aged 25-29 25-29 1:00:56 7:16 33:05 23:10 4:46 4:00 1:42 2:56 2:33 4:19 1:09 2:44 3:47
34 Sascha Hermanns, Alexander Hoffmann 🇩🇪 GER9th of 244 aged 25-29 25-29 1:00:58 7:18 33:35 21:54 5:33 3:30 1:36 2:56 2:25 4:07 1:25 2:12 3:43
35 Robin Boettinger, Bastian Trapp 🇩🇪 GER15th of 284 aged 30-34 30-34 1:00:59 7:19 33:39 22:19 5:05 3:44 1:47 2:24 2:54 4:05 1:27 2:25 3:33
36 Paul Renner, Tim Von Der Stein 🇩🇪 GER10th of 244 aged 25-29 25-29 1:01:16 7:36 32:30 24:14 4:38 3:43 2:18 2:41 3:03 4:19 1:27 2:53 3:50
37 Thorben Fischer, Jakob Bollendorf 🇩🇪 GER16th of 284 aged 30-34 30-34 1:01:18 7:38 34:25 21:48 5:09 3:40 1:57 2:40 2:16 4:05 1:26 2:24 3:20
38 Thibaut Charlemagne, Victor Barthelmé 🇫🇷 FRA11th of 244 aged 25-29 25-29 1:01:24 7:44 33:49 22:35 5:03 3:46 1:35 2:57 2:03 4:08 1:39 2:23 4:04
39 Eduard Pfeiffer, Tim Kleber 🇩🇪 GER12th of 244 aged 25-29 25-29 1:01:26 7:46 34:16 22:25 4:50 3:46 1:56 2:26 2:27 3:59 1:18 2:48 3:45
40 Farid Ajlani, Thilo Batta 🇩🇪 GER2nd of 37 aged 45-49 45-49 1:01:28 7:48 32:07 24:37 4:49 3:52 2:25 3:01 2:27 4:27 1:44 2:50 3:51
41 Maximilian Peter, Lars Hellwig 🇩🇪 GER13th of 244 aged 25-29 25-29 1:01:29 7:49 32:49 23:52 4:52 3:46 2:07 3:30 2:10 4:08 1:31 2:49 3:51
42 Fynn Belz, Oscar Martini 🇩🇪 GER3rd of 71 aged 16-24 16-24 1:01:30 7:50 34:19 22:05 5:11 3:37 1:31 2:15 2:49 4:04 1:25 2:44 3:40
43 Gregor Glancy, Thomas O'Hara 🇬🇧 GBR14th of 244 aged 25-29 25-29 1:01:31 7:51 31:13 25:00 5:22 3:52 2:15 3:19 2:43 4:22 1:27 2:58 4:04
44 Simon Körle, Nils Gutscher 🇩🇪 GER15th of 244 aged 25-29 25-29 1:01:32 7:52 34:12 22:24 4:59 3:38 1:44 2:51 1:57 4:11 1:20 2:33 4:10
45 Robin Metzger, Kevin Roos 🇩🇪 GER16th of 244 aged 25-29 25-29 1:01:42 8:02 33:15 23:46 4:45 3:35 1:53 3:02 3:07 4:09 1:22 2:48 3:50
46 Christoph Mehrl, Rouven Werner 🇩🇪 GER4th of 187 aged 35-39 35-39 1:01:43 8:03 34:16 22:50 4:41 3:40 1:45 2:19 2:40 4:06 1:31 2:55 3:54
47 Felix Rang, Marius Jankowsky 🇩🇪 GER5th of 187 aged 35-39 35-39 1:01:47 8:07 33:32 23:28 4:51 3:40 1:58 3:03 2:48 4:07 1:30 2:27 3:55
48 Jendrik Müller, Marco Theisen 🇩🇪 GER6th of 187 aged 35-39 35-39 1:01:53 8:13 33:07 23:53 4:58 3:55 2:04 2:50 2:30 4:24 1:36 2:38 3:56
49 Jan Drever, Chris Zwarg 🇩🇪 GER4th of 71 aged 16-24 16-24 1:01:56 8:16 33:20 23:51 4:49 3:50 1:42 2:36 2:29 4:24 1:34 3:19 3:57
50 Lukas Valk, Paul-Luis Krüger 🇩🇪 GER5th of 71 aged 16-24 16-24 1:01:58 8:18 35:27 21:36 4:59 3:41 2:05 2:01 2:33 3:54 1:19 2:31 3:32
51 Noah Berger, Jan Rummel 🇩🇪 GER6th of 71 aged 16-24 16-24 1:02:03 8:23 34:11 22:49 5:07 3:35 1:50 2:46 2:51 3:57 1:28 2:29 3:53
52 Jordan Chilton, Shay Magee 🇬🇧 GBR17th of 244 aged 25-29 25-29 1:02:07 8:27 34:35 22:29 5:06 3:35 1:50 2:53 2:41 4:08 1:22 2:32 3:28
53 Johannes Franke, Maximilian Franke 🇩🇪 GER7th of 187 aged 35-39 35-39 1:02:13 8:33 32:37 24:32 5:07 3:54 2:04 3:05 2:52 4:18 1:30 2:54 3:55
54 Hendrik Emser, Francisco Schindler 🇩🇪 GER18th of 244 aged 25-29 25-29 1:02:20 8:40 33:32 23:05 5:47 3:52 2:03 2:39 2:06 4:09 1:24 2:41 4:11
55 Josias Knöppler, Alessandro Seck 🇩🇪 GER19th of 244 aged 25-29 25-29 1:02:21 8:41 32:48 24:04 5:33 3:47 1:52 2:51 3:03 4:07 1:15 2:58 4:11
56 Léonard Perrin, Charly Vejtzik 🇫🇷 FRA17th of 284 aged 30-34 30-34 1:02:31 8:51 34:21 23:28 4:47 4:00 1:55 3:02 2:23 4:16 1:20 2:44 3:48
57 Christopher Lozano, Paul Wolf 🇩🇪 GER18th of 284 aged 30-34 30-34 1:02:32 8:52 34:10 23:14 5:14 3:50 1:54 2:42 2:44 4:08 1:32 2:46 3:38
58 Nils Neubauer, Fabian Rösl 🇩🇪 GER20th of 244 aged 25-29 25-29 1:02:33 8:53 34:04 23:07 5:27 3:45 1:47 3:04 2:15 4:10 1:27 2:32 4:07
59 Marius Hetterich, Torsten Matthes 🇩🇪 GER5th of 94 aged 40-44 40-44 1:02:36 8:56 30:31 27:35 4:34 4:03 2:54 3:13 3:30 4:39 1:32 3:10 4:34
60 Felix Schmidt, Maximilian Jockers 🇩🇪 GER19th of 284 aged 30-34 30-34 1:02:39 8:59 34:52 22:26 5:27 3:43 2:01 2:54 2:13 4:12 1:27 2:23 3:33
61 Michael Hatzler, Pierre Köhler 🇩🇪 GER8th of 187 aged 35-39 35-39 1:02:53 9:13 33:54 24:11 4:51 3:53 2:13 3:10 2:08 4:14 1:29 2:51 4:13
62 Gregor Koczy, Valentin Hertz 🇩🇪 GER6th of 94 aged 40-44 40-44 1:02:56 9:16 35:06 22:46 5:07 3:49 1:48 2:50 2:27 4:21 1:32 2:33 3:26
63 Stefan Sojke, Patrick Dietrich 🇩🇪 GER9th of 187 aged 35-39 35-39 1:02:58 9:18 33:13 24:16 5:34 3:42 2:00 2:55 3:02 4:17 1:27 3:06 3:47
64 Hendrik Entchelmeier, Florian Rettich 🇩🇪 GER21st of 244 aged 25-29 25-29 1:03:01 9:21 34:13 23:43 5:09 3:46 1:59 3:02 2:53 4:18 1:23 2:43 3:39
65 David Roos, Christian Staaden 🇩🇪 GER22nd of 244 aged 25-29 25-29 1:03:07 9:27 36:22 21:41 5:10 3:46 1:44 2:58 2:00 3:57 1:24 2:15 3:37
66 Eyob Mulugeta, Gennaro Marcello Hördt 🇩🇪 GER20th of 284 aged 30-34 30-34 1:03:09 9:29 34:54 22:57 5:22 3:59 1:44 2:33 2:34 4:13 1:21 2:33 4:00
67 Florian Witzschel, Tim Schneider 🇩🇪 GER23rd of 244 aged 25-29 25-29 1:03:11 9:31 33:44 24:23 5:08 3:42 1:41 2:15 2:19 3:57 4:27 2:10 3:52
68 Maximilian Schatz, Tobias Schmailzl 🇩🇪 GER21st of 284 aged 30-34 30-34 1:03:11 9:31 33:31 24:36 5:08 3:58 2:09 2:57 2:35 4:24 1:21 2:24 4:48
69 Stéphane Kedinger, Jean-Baptiste Harter 🇫🇷 FRA10th of 187 aged 35-39 35-39 1:03:18 9:38 33:45 24:09 5:29 3:57 1:53 2:51 3:01 4:10 1:30 2:58 3:49
70 Alexandros Mavroskoufis, Brian Hotani 🇩🇪 GER22nd of 284 aged 30-34 30-34 1:03:19 9:39 33:22 24:53 5:08 3:50 2:05 3:09 2:48 4:22 1:34 2:52 4:13
71 David Chisom Ebereonwu, Ozan Baran 🇩🇪 GER23rd of 284 aged 30-34 30-34 1:03:21 9:41 34:23 23:47 5:16 3:37 1:41 2:26 3:18 4:05 1:23 3:22 3:55
72 Christian Bossert, Maximilian Fischer 🇩🇪 GER24th of 284 aged 30-34 30-34 1:03:21 9:41 34:31 24:01 4:54 3:48 2:09 3:21 2:40 4:14 1:30 2:39 3:40
73 Daniel Freistedt, Tobias Schweizer 🇩🇪 GER25th of 284 aged 30-34 30-34 1:03:22 9:42 34:57 23:14 5:14 3:45 1:50 2:31 2:33 4:14 1:33 2:38 4:10
74 Dominic Schmidt, Dennie Reh 🇩🇪 GER26th of 284 aged 30-34 30-34 1:03:23 9:43 35:52 22:13 5:23 3:38 1:38 2:39 2:15 4:03 1:25 2:29 4:06
75 Patrick Kinzler, Luca Bremer 🇩🇪 GER11th of 187 aged 35-39 35-39 1:03:23 9:43 35:08 23:19 5:01 3:57 2:03 2:36 2:44 4:01 1:21 2:33 4:04
76 Lukas Küfner, Patrick Scheer 🇩🇪 GER24th of 244 aged 25-29 25-29 1:03:25 9:45 34:39 23:24 5:26 4:10 1:56 3:01 2:13 4:14 1:33 2:31 3:46
77 Yves Ruault, Lukas Müller 🇫🇷 FRA27th of 284 aged 30-34 30-34 1:03:25 9:45 34:16 23:58 5:14 3:48 2:12 2:31 2:48 4:27 1:32 2:44 3:56
78 Valentino Schmitt, Eizens Lejins 🇱🇺 LUX28th of 284 aged 30-34 30-34 1:03:26 9:46 34:52 23:21 5:17 3:35 2:01 3:11 2:02 4:24 1:32 2:39 3:57
79 Matthias Kirchberger, Stefan Link 🇩🇪 GER12th of 187 aged 35-39 35-39 1:03:26 9:46 33:39 24:41 5:09 3:52 2:10 3:10 2:36 4:15 1:22 3:04 4:12
80 Lukas Buchstätter, Dustin Williamson 🇦🇹 AUT13th of 187 aged 35-39 35-39 1:03:27 9:47 34:52 23:38 5:01 3:31 1:36 2:59 2:52 4:01 1:28 3:11 4:00
81 Niklas Möckel, Sebastian Merten 🇩🇪 GER29th of 284 aged 30-34 30-34 1:03:37 9:57 34:59 23:53 4:50 3:47 2:13 2:39 3:08 4:09 1:31 2:51 3:35
82 Carsten Flynn, Lars Drengwitz 🇩🇪 GER14th of 187 aged 35-39 35-39 1:03:39 9:59 36:57 21:34 5:12 3:39 1:43 2:14 2:19 4:06 1:15 2:37 3:41
83 Thomas Blanc, Jean-Patrick Lareyre 🇫🇷 FRA7th of 94 aged 40-44 40-44 1:03:46 10:06 34:15 24:18 5:17 3:50 2:05 3:12 2:22 4:06 1:34 3:10 3:59
84 Sören Böhringer, Vincent Albus 🇩🇪 GER25th of 244 aged 25-29 25-29 1:03:48 10:08 34:51 23:39 5:22 3:39 2:00 2:37 2:43 4:05 1:43 2:56 3:56
85 Can Ikiz, John Geiger 🇩🇪 GER30th of 284 aged 30-34 30-34 1:03:53 10:13 37:36 21:17 5:04 3:41 1:53 2:32 1:55 4:12 1:03 2:34 3:27
86 Jan-Ole Nöldeke, Felix Steinhausen 🇩🇪 GER26th of 244 aged 25-29 25-29 1:03:55 10:15 35:23 23:20 5:18 3:45 2:00 2:33 2:36 4:05 1:34 2:29 4:18
87 Frank Godulla, Christian Paal 🇩🇪 GER2nd of 15 aged 50-54 50-54 1:03:57 10:17 34:50 23:54 5:18 3:47 2:25 2:56 2:37 4:06 1:21 2:48 3:54
88 Marvin Schaller, Florian Debus 🇩🇪 GER27th of 244 aged 25-29 25-29 1:04:06 10:26 35:59 22:55 5:16 3:39 1:41 2:54 2:40 3:52 1:35 2:36 3:58
89 Louis Althaus, Jonas Neuser 🇩🇪 GER28th of 244 aged 25-29 25-29 1:04:07 10:27 34:13 24:57 5:01 3:56 2:09 2:46 2:34 4:18 1:45 3:19 4:10
90 Leonardo Meinung, Agimo Löhmer 🇩🇪 GER29th of 244 aged 25-29 25-29 1:04:10 10:30 36:05 23:05 5:04 3:53 1:58 2:40 2:47 3:59 1:25 2:34 3:49
91 Noah Giraudineau, Similien Robert 🇫🇷 FRA30th of 244 aged 25-29 25-29 1:04:10 10:30 34:39 24:23 5:13 3:54 2:18 3:36 2:19 4:11 1:22 2:33 4:10
92 Timo Estelmann, Tom Kistner 🇩🇪 GER15th of 187 aged 35-39 35-39 1:04:11 10:31 32:27 26:33 5:16 3:36 2:08 3:36 3:36 4:25 1:55 3:17 4:00
93 Dennis Kallina, Heiko Müller 🇩🇪 GER31st of 284 aged 30-34 30-34 1:04:12 10:32 32:43 24:50 6:43 3:59 2:03 3:03 2:47 4:22 1:29 2:55 4:12
94 Leon Mirchandani, Max Kriegbaum 🇩🇪 GER31st of 244 aged 25-29 25-29 1:04:18 10:38 37:10 21:51 5:20 3:47 1:37 2:12 2:17 3:54 1:30 2:56 3:38
95 Thorsten Plitzner, Julian Nießen 🇩🇪 GER32nd of 284 aged 30-34 30-34 1:04:20 10:40 35:07 24:06 5:11 3:41 2:19 2:48 2:52 4:12 1:35 2:47 3:52
96 Hendrik Wieseler, Magnus Herter 🇩🇪 GER33rd of 284 aged 30-34 30-34 1:04:31 10:51 34:03 24:47 5:46 3:52 1:42 3:06 3:19 4:19 1:27 2:39 4:23
97 Leon Petersen, Florian Beck 🇩🇪 GER34th of 284 aged 30-34 30-34 1:04:36 10:56 34:53 24:42 5:08 3:53 1:46 2:38 1:59 4:08 3:44 2:41 3:53
98 Jan Stammen, Philip Lücker 🇩🇪 GER32nd of 244 aged 25-29 25-29 1:04:40 11:00 34:30 25:15 4:59 3:49 2:28 3:14 2:38 4:13 1:49 3:04 4:00
99 Paul Schötz, Martin Wohner 🇩🇪 GER16th of 187 aged 35-39 35-39 1:04:42 11:02 35:46 23:50 5:11 3:38 2:09 3:15 2:47 4:03 1:31 2:47 3:40
100 Jasper Windeler, Tim Ufermann 🇩🇪 GER33rd of 244 aged 25-29 25-29 1:04:45 11:05 35:59 23:48 5:02 3:42 2:04 2:49 3:02 3:58 1:38 2:31 4:04
How to read

The place is among timed teams in Doubles 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