Demir werd geboren in Malmö en is afkomstig uit de jeugd van Malmö FF. Die club leende hem in 2009 uit aan IFK Malmö. Vervolgens trok hij naar IF Limhamn Bunkeflo, dat hij in 2011 verruilde voor Trelleborgs FF. In 2012 tekende de vleugelverdediger bij het Noorse SK Brann. In totaal speelde hij 72 competitieduels in de Tippeligaen. In 2015 trok hij naar Waasland-Beveren. Op 26 juli 2015 debuteerde Demir in de Jupiler Pro League op het veld van RSC Anderlecht.[3] In zijn eerste seizoen kwam de Zweeds international tot een totaal van 32 competitiewedstrijden.
Op 18 januari 2012 debuteerde hij voor Zweden in een oefeninterland tegen Bahrein. Demir startte in de basiself en werd na 81 minuten vervangen door Emil Salomonsson.