The 23-year-old was a youth player with Aston Villa and can count Shrewsbury Town, Burnley, Altrincham, Lincoln City and Walsall among his former clubs.
Ginnelly moves to Tynecastle on a season-long loan deal from Preston North End, having spent time on loan at Bristol Rovers last season.