Robin Olsen wurde in Malmö geboren und schloss sich im Alter von sieben Jahren der Jugend des Malmö FF an, bei der er frühzeitig als Torwart eingesetzt wurde. Später schloss sich Olsen dem schwedischen Verein Bunkeflo IF an. Beim Klub war er als 16-Jähriger Ersatztorhüter und saß bei mehreren Spielen in der Superettan (2. Schwedische Liga) auf der Ersatzbank, blieb jedoch ohne Einsatzzeit. Nach dem Abstieg in die drittklassige schwedische Division 1 wurde er erster Torhüter. Eine schwere Knieverletzung bremste ihn jedoch. Im Jahr 2010 verlieh ihn der Klub an dem Amateurklub Bunkeflo FF in die siebtklassige Division 5. Dort kam er regelmäßig zum Einsatz.
Im Jahr 2012 schloss sich Olsen seinem einstigen Jugendverein Malmö FF an. Hier war er anfangs dritter Ersatztorhüter. Bei einer verletzungsbedingten Pause von Dahlin im Herbst setzte Trainer Rikard Norling auf Olsen, der am 1. Oktober 2012 beim 2:0-Auswärtssieg beim Syrianska FC in der Allsvenskan (1. Schwedische Liga) debütierte. Im Sommer des darauffolgenden Jahres qualifizierte er sich mit der Mannschaft um Markus Rosenberg, Magnus Eriksson, Emil Forsberg, Isaac Kiese Thelin und Markus Halsti erstmals in der Vereinsgeschichte für die Gruppenphase der UEFA Champions League. Dabei hatte er neben Rosenberg und Forsberg als einziger alle sechs Qualifikationsspiele über die komplette Spieldauer bestritten. Am Saisonende gewann er mit der Mannschaft den schwedischen Meistertitel. Im Sommer des Jahres 2015 wechselte Olsen zum griechischen Erstligisten PAOK Saloniki.
Nationalmannschaft:
Robin Olsen hatte für keine U-Nationalmannschaft gespielt. Als Staatsbürger beider Länder konnte er sich für den schwedischen oder den dänischen Verband entscheiden. Im Dezember 2014 nominierte ihn der schwedische Nationaltrainer Erik Hamrén als einen von neun Neulingen für die schwedische Nationalmannschaft für eine Reise in den Nahen Osten im Januar 2015. Sein Debüt feierte Olsen am 15. Januar 2015 gegen die Elfenbeinküste in Abu Dhabi.