The 30-year-old Senegal international has been linked with a move to the John Smith's Stadium for the past few weeks and had been training with the club and a deal has now been struck.
Niasse's arrival follows the recent addition of Yaya Sanogo, who joined Town on a deal for the rest of the 2020-21 season in late February.
On the signing of Niasse, head coach Carlos Corberán added: “Oumar has played the highest level of English football for over three years, which means he has all the necessary skills to play in the Sky Bet Championship.
“He is a striker with the dynamic to work very hard; to press the opponent and attack the space.
“He has been working on the pitch with us for a little while and has adapted to our training intensity. He needs to build up his match fitness as he has had a long time without playing a competitive game, but we will work hard with him to get him ready.”
Town’s Head of Football Operations Leigh Bromby added: “We’re very happy to get this agreement in place, as we think Oumar is a player who can help us.
“A big part of our recruitment process focuses on the character of the players we’re bringing in and we’ve spoken with Oumar and his representatives over a fair period of time. We’ve had very positive conversations throughout and it’s clear he will be a good fit within our group.
“He’s had plenty of offers since leaving Everton, but he was keen to stay in England and, ideally, in the north so he is close to his family.
“His pedigree speaks for itself, having played in top divisions, in European competitions and commanded huge transfer fees. However, his character is just as impressive. He’s a very positive guy and is determined to show everyone what he is capable of.”
Niasse was a prolific scorer in Senegal before enjoying success in the top flights in Turkey and Russia, winning the league’s Player of the Year award whilst helping Lokomotiv Moscow win the domestic cup in 2015.
That form earned him a £13.5 million move to the Premier League with Everton, scoring 12 goals in 36 starts and 29 substitute appearances in the English top-flight.