| Jacob Beesley (B2) | 41.82 | (51) | 1:22.39 | (24) | 7:55.12 | (22) |
| Siver Brattgjerd (Senior) | 34.91 | (4) | 1:10.04 | (7) | - | |
| Kieran Hanson (Neo) | 35.53 | (9) | 1:09.45 | (4) | - | |
| Ian Dwyer (M50) | 41.16 | (49) | 1:22.19 | (23) | - | |
| Félix Larochelle (Neo) | 36.91 | (22) | 1:13.06 | (13) | - | |
| Zacharie Desprès (Neo) | 35.51 | (8) | 1:09.70 | (5) | - | |
| Arnaud Parent (Neo) | 36.39 | (17) | 1:13.49 | (15) | - | |
| Yankun Zhao (Neo) | 34.53 | (1) | 1:08.31 | (1) | - | |
| Alex Wood (Neo) | 36.46 | (18) | 1:11.59 | (11) | - | |
| Matthew Medlicott (Neo) | 37.80 | (34) | 1:14.98 | (19) | - | |
| Andre Erasmus (Neo) | 35.85 | (12) | 1:10.46 | (9) | - | |
| Jalen Doan (Neo) | 34.69 | (2) | 1:09.04 | (2) | - | |
| Daniel Revie (Neo) | 39.50 | (44) | 1:18.09 | (21) | - | |
| Braeden Kremenik (Neo) | 36.37 | (16) | 1:13.78 | (16) | - | |
| Ryan Gibson (Senior) | 35.47 | (7) | 1:09.73 | (6) | - | |
| Sebastien Champagne (Senior) | 35.81 | (11) | 1:10.43 | (8) | - | |
| Raphaël Côté (Neo) | 36.94 | (24) | 1:12.23 | (12) | - | |
| Taras Beveridge Warick (B2) | 39.29 | (43) | 1:16.46 | (20) | - | |
| Michael Beaupré-Boucher (Neo) | 40.36 | (48) | 1:23.47 | (25) | - | |
| Christo Toshkov (Neo) | 36.22 | (13) | 1:11.07 | (10) | - | |
| Chandra Mouli Danda (Neo) | 37.33 | (27) | 1:13.28 | (14) | - | |
| Maddox Champagne (Neo) | 37.55 | (30) | 1:14.65 | (17) | - | |
| Jack van den Berg (Neo) | 37.52 | (29) | 1:14.83 | (18) | - | |
| Justin Carrière (Neo) | 38.51 | (38) | 1:18.28 | (22) | - | |
| Sang-Eon Park (Neo) | 37.18 | (25) | - | | 6:29.45 | (1) |
| Miguel Berard (Neo) | 39.10 | (42) | - | | 7:36.73 | (19) |
| Olivier Landreville (Neo) | 38.10 | (36) | - | | 7:11.00 | (15) |
| Maurice Marcoux (Neo) | 40.02 | (46) | - | | 6:52.22 | (12) |
| Jae-Hyeok Choi (A2) | 38.82 | (40) | - | | 6:37.82 | (4) |
| Liam Mckague (Neo) | 37.57 | (31) | - | | 7:12.55 | (16) |
| Eliot Fortin (A1) | 41.32 | (50) | - | | 7:43.37 | (20) |
| Édouard Grondin (B2) | 40.22 | (47) | - | | 7:19.76 | (18) |
| James Monson (M50) | 39.60 | (45) | - | | - | |
| Cristian Landrø Magnussen (Neo) | 35.25 | (6) | - | | - | |
| Martin Solberg Andreassen (Neo) | 36.35 | (15) | - | | - | |
| Nicolai Ulvan (Neo) | 36.54 | (20) | - | | - | |
| Antoine Roger (Senior) | 34.81 | (3) | - | | - | |
| Joshua Telizyn (Senior) | 35.14 | (5) | - | | - | |
| Max Poulin (Neo) | 36.31 | (14) | - | | - | |
| Daniel Pauli (Neo) | 38.78 | (39) | - | | - | |
| Ryan Kulbacki (Neo) | 35.56 | (10) | - | | - | |
| Fergus English (Neo) | 36.93 | (23) | - | | - | |
| Eric Kulbacki (A2) | 37.44 | (28) | - | | - | |
| Nathon Kettyle Kozuback (B2) | 37.19 | (26) | - | | - | |
| Denis Berthelot (A2) | 38.33 | (37) | - | | - | |
| Cameron.06 Mason (Neo) | 37.71 | (33) | - | | - | |
| Erik Angelozzi (A1) | 36.53 | (19) | - | | - | |
| Jonas Olderli Berget (Neo) | 37.62 | (32) | - | | - | |
| Luke Zeliff (Neo) | 38.07 | (35) | - | | - | |
| Raúl Jardim (B1) | 39.08 | (41) | - | | - | |
| Nico Berger (Neo) | 36.69 | (21) | - | | - | |
| Marc-André Doyon (Senior) | - | | 1:09.44 | (3) | - | |
| Evan Boyce (Neo) | - | | DNS | | - | |
| Aimé Perreault (Neo) | - | | - | | 6:30.70 | (2) |
| Joshua Hathaway (Senior) | - | | - | | 6:51.40 | (11) |
| Eric Orlowsky (Senior) | - | | - | | DNF | |
| Jack Hanson (Neo) | - | | - | | 6:40.40 | (5) |
| William Boissonneault (Neo) | - | | - | | 7:19.67 | (17) |
| Adam Buchwald (Neo) | - | | - | | 6:37.79 | (3) |
| Bon Lowe (Neo) | - | | - | | 6:50.04 | (10) |
| Matthew Mitchell (Neo) | - | | - | | 6:49.73 | (9) |
| Joel Simpson (Senior) | - | | - | | 6:48.19 | (8) |
| Brock Gilbert (A2) | - | | - | | 6:57.09 | (13) |
| James Wigelsworth (A2) | - | | - | | 7:49.09 | (21) |
| Connor Waters (Neo) | - | | - | | 6:47.05 | (7) |
| Joseph Perreault (Neo) | - | | - | | 6:57.67 | (14) |
| Jimmy Jouette (Senior) | - | | - | | 6:41.36 | (6) |