The 23-year-old moves to Tynecastle after leaving Turkish side Trabzonspor and has also previously played for Schalke, Sturm Graz, Roda and Willem II.
Avdijaj told the club website: “The coach knows me from before and I know the coach from before. We had a talk and he was the main guy why I decided to come. I also think the team has quality and they are not in a place where they normally are.”
Hearts return to Ladbrokes Premiership action on Wednesday evening when they take on Ross County at the Global Energy Stadium.