Tarashaj, 21, has signed a four-and-a-half year deal and will be loaned back for the rest of the season so that he can complete his national service.
He has scored eight goals in 18 games for Grasshoppers this season.
"Shani is an enormous young talent in Swiss football who, without a doubt, will have a great future," said Toffees manager Roberto Martinez.
"We are 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 is Everton's second signing of the January transfer window after bringing in defender Matthew Foulds from Bury.
Find all the latest football transfers on our dedicated page.
Everton have signed Swiss striker Shani Tarashaj from Grasshoppers Zurich, for a fee of around £3m.