Escriba una continuación para este párrafo - En los Juegos Olímpicos de Londres 2012, Halsall compitió en cinco eventos. Halsall alcanzó las semifinales de los 100 m mariposa, con un tiempo de 58.52, muy por debajo de su mejor marca de la temporada de 57.56 establecida en marzo. Halsall llegó a las finales de los 100 m estilo libre y 50 m estilo libre
, terminando 6to y 5to respectivamente. En el relevo de estilo libre de 4 × 100 m, Halsall nadó la segunda etapa en una división de 53.29, ayudando al equipo británico a terminar en quinto lugar. En la final del relevo de 4×100 m, el equipo británico terminó octavo, con Halsall proporcionando una pierna de ancla de 54.08.