The 23-year-old, who can also play in defence, made 56 league appearances for the Spireites.
He has signed too late to feature in Saturday's home game against Walsall.
Boss Kenny Jackett told the club website: "We have brought in a bright and energetic young player. He has a very good left-foot and adds versatility to our squad."
Find all the latest football transfers on our dedicated page.
Portsmouth have signed Chesterfield midfielder Dion Donohue for an undisclosed fee on a two-year deal.