The 20-year-old joins from Grasshoppers and will be loaned back to the Zurich club for the remainder of the 2015-16 season to allow him to complete his national service.
No fee was announced by Everton but it has been reported as being £3million.
Toffees boss Roberto Martinez told his club's official website: "Shani is an enormous young talent in Swiss football who, without a doubt, will have a great future
We're delighted to have found a young player who believes that our club is the perfect step for him to enhance his quality and to grow his career.
"He fits in really well to our style and the way we want to play the game
He is a family boy, hungry and he is desperate to fight for his place in our talented young squad."
Tarashaj has scored eight goals in 18 games for Grasshoppers this season.
The player told evertontv: "It is a dream for me to sign here at Everton
I am proud and so happy to be here."
Source : PA
Source: PA